php sql injection

0 Cevap php

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?

0 Cevap