Blind SQL injection with conditional responses
Link : https://portswigger.net/web-security/sql-injection/blind/lab-conditional-responses
Description:
This lab contains a blind SQL injection vulnerability. The application uses a tracking cookie for analytics, and performs a SQL query containing the value of the submitted cookie.
The results of the SQL query are not returned, and no error messages are displayed. But the application includes a Welcome back message in the page if the query returns any rows.
The database contains a different table called users, with columns called username and password. You need to exploit the blind SQL injection vulnerability to find out the password of the administrator user.
To solve the lab, log in as the administrator user.
Proof of concept:
Cek seluruh fitur pada aplikasi target
Pada target terdapat
cookiedengan parameterTrackingIdCoba untuk menginputkan payload basic SQL injection seperti
single-quote ('). Jika sudah, analisa response yang diberikan setelah diinputkan payload SQL Injection. Terlihat sebelum, dilakukan injeksi, response mengandung pesan "Welcome back!"namun setelah dilakukan injeksi, string tersebut tidak terlihat pada response. Ini dapat dijadikan sebuah indikasi awal bahwacookietersebut rentan terhadap SQL injectionUntuk lebih memastikannya, coba untuk menginjeksikan kembali payload basic SQL injection yang lainnya. Sebagai contoh disini menggunakan payload
'AND '1'='1yang artinya bernilaitrue.Jadi, apabila payload tersebut diinjeksikan atau diinputkan atau disisipkan padacookieparameterTrackingIdmaka akan bernilaitrue (benar)atau normal atau response yang diberikan oleh sistem akan mengembalikan response ketika kondisi cookie validDan benar saja seperti yang dapat dilihat pada gambar diatas, karena payload yang diinputkan bernilai
truemaka response kembali kesemula (normal) atau pesan“Welcome back!”kembali tersedia. Untuk memastikan kembali, saya mencoba menginjeksikan kembali payload. Kali ini saya melakukan injeksi basic payload yang bernilaifalseyaitu‘AND ‘1’=’2Seperti yang dapat dilihat pada gambar diatas, ketika payload yang diinputkan bernilai
falsemaka pesan“Welcome back!”tidak muncul. Maka dapat disimpulkan cookie parameterTrackingIdrentan terhadap SQL InjectionSelanjutnya adalah melakukan eksploitation kerentanan SQL injection tersebut dengan menggunakan script python seperti gambar dibawah ini

Jika sudah, jalankan script python tersebut menggunakan perintah
python <<filename>>.py
Last updated