php ile yazılmış benim sorgu:
$sql="SELECT * FROM ".TABLE_PREFIX."login WHERE username ='".$username."'
AND password='".$password."'";
$res_id = mysql_query($sql);
$num_rows = mysql_num_rows($res_id);
echo $num_rows;
I bir form geçerli bir kullanıcı adı ve şifrenizi girin ok çalışır.
Ne zaman i giriş, bazı SQL Injection kodu sorgu çıktı:
SELECT * FROM form_login WHERE username ='' or '1'='1' AND password='' or '1'='1'
Hangisi geçerli sql statement.But o 0 (sıfır) olarak bir çıkışı (satır yani sayı) verir.
Ben programın kendisi de aynı çıkış sql deyimini yazmak gibi-
$sql="SELECT * FROM form_login WHERE username ='' or '1'='1'
AND password='' or '1'='1'";
gayet iyi çalışıyor ve (örneğin 3 için), bazı sonuç verir.
Nasıl sql enjeksiyon kodunu inputing doğru sonuç alabilirim?