This is an exercise in OWASP DVWA for exploiting blind SQL injection.
Blind SQL Injection - DVWA
Difficulty: Easy
In this mode, we are given a simple form that checks if a user exists with the given ID;
When given an invalid user ID, the application respond with this;
The application appears to be vulnerable to blind SQL injection because injecting an SQL query that will always evaluate to true gave a positive output;
Blind injections are a pain to exploit manually, so I called in sqlmap
;
1
sqlmap -u 'http://buster/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit' -p id --cookie 'security=low; PHPSESSID=5c8siun1tr567gd519v1mivcbi' --dbs
Tables in dvwa
database;
Contents of users
table;
Blind SQL injections can be pretty slow, even with sqlmap
. You can speed up the process by increasing the number of threads using the --threads
argument, but this could easily corrupt the data being dumped when sqlmap
is using a time delay technique in an unstable connection.
Difficulty: Medium
In this mode, we get a different form where the inputs are predefined in the form;
The challenges are looking similar to the ones in error-based SQL injection section. Using a proxy and injecting an SQL query that always evaluate to true gives a positive result, indicating the application is vulnerable;
This is exploitable using sqlmap
;
1
sqlmap -u 'http://buster/dvwa/vulnerabilities/sqli_blind/' --data 'id=1&Submit=Submit' --cookie 'security=medium; PHPSESSID=5c8siun1tr567gd519v1mivcbi' -p id --dbs
Difficulty: High
This mode is also similar to the high difficulty level of the error-based SQL injection challenge. Only difference is this one is blind;