Saturday, December 1, 2018

[CTFS.ME] Writeup SQL Level 2-1 Dan 2-2 SQL UNION

kali ini saya mencoba menjawab soal Web CTFS.ME SQL level 2-1, disoal ini saya diarahkan untuk menuju web login, lalu saya coba menjinject dengan query dekguh' OR 1=1-- dan ternyata itu gagal. kemudian saya coba inject degan tanda kutip ' muncul pesan error.


dilihat dari hal tersebut saya menyimpulkan web login tersebut bisa bypass dengan teknik SQL UNION, bisa dilihat seperti gambar dibawah ini:



username: "dekguh' UNION SELECT 1 -- " (tanpa tanda kutip ", saya isi harga spasi terlihat)
password: kosongkan saja

setelah itu klik login, maka akan muncul Flag

SQL Level 2-2

di soal level 2-2 masih sama saya menggunakan menggunakan SQL UNION namum lebih dalam lagi, langsung saja dibagian username kita inject "dekguh' UNION SELECT database()-- " ini untuk mengetahui nama databasenya.

setelah saya mendapatkan nama databasenya, selanjutnya untuk mengetahui nama table saya inject kembali dengan query "dekguh' UNION SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema=database()-- ", maka akan muncul list nama tablenya.

selanjutnya kita mencari nama column yang terdapat pada table dengan mengetik query "dekguh' UNION SELECT GROUP_CONCAT(COLUMN_NAME) FROM Information_schema.columns WHERE table_name = 'my_secret_table'-- ", maka akan muncul column dari table tersebut.

selanjutnya saya akan mendump isi data dari column yang sudah didapatkan dengan menginput Query "dekguh' UNION SELECT flag FROM my_secret_table-- ", maka akan muncul flag untuk soal level 2-2.

Referensi belajar SQL UNION:
- https://websec.ca/kb/sql_injection
- http://www.sqlinjection.net/union/

No comments:

Post a Comment