Low
Blind SQL Injection level Low on DVWA
Di bawah ini adalah source-code dari Blind SQL Injection level low di DVWA.
vulnerabilities/sqli_blind/source/low.php
<?php
if( isset( $_GET[ 'Submit' ] ) ) {
// Get input
$id = $_GET[ 'id' ];
// Check database
$getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";
$result = mysqli_query($GLOBALS["___mysqli_ston"], $getid ); // Removed 'or die' to suppress mysql errors
// Get results
$num = @mysqli_num_rows( $result ); // The '@' character suppresses errors
if( $num > 0 ) {
// Feedback for end user
echo '<pre>User ID exists in the database.</pre>';
}
else {
// User wasn't found, so the page wasn't!
header( $_SERVER[ 'SERVER_PROTOCOL' ] . ' 404 Not Found' );
// Feedback for end user
echo '<pre>User ID is MISSING from the database.</pre>';
}
((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
?>
Mencari Informasi
Pada level ini tidak ada validasi apa pun untuk pada inputan yang digunakan untuk menjalankan query. Ketika kita menginputkan '1
' (true), maka akan tampil seperti berikut:

Jika saya coba membuatnya error (false), maka akan tampil seperti berikut:

Ketika saya mencoba menyisipkan payload seperti berikut, maka hasilnya akan true. Ini berarti form tersebut memiliki celah Blind SQL Injection.

Untuk melakukan eskplorasi lebih lanjut, kita membutuhkan tool SQLMap.
Melakukan Serangan
Oke, langsung saja kita jalankan SQLMap seperti berikut ini:
sqlmap -u "172.17.0.2/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --cookie="PHPSESSID=jusi9ccuu6qfk9m3tqdf103jo2; security=low" --dbs

Terlihat bahwa terdapat 2 database yang tersedia pada akun tersebut.
Mudahkan? 😁 Happy Hacking! 🍻
Last updated
Was this helpful?