當我在我的網頁上使用我的Acunetix得到一個:盲SQL/XPath注入盲SQL注入
頭: GET /file.php?id=2'+and+31337-31337=0+-- + &頁= 2
響應:
沒有文件發現
(有時它顯示的結果)這裏是我的PHP代碼:
$id = (int) htmlentities($_GET['id']);
$fileid = mysql_real_escape_string($id);
查詢:
SELECT * FROM `files` WHERE `id` = '".$fileid."'
我做錯了什麼?有人可以用這個刪除我的數據庫嗎? 即時通訊也得到相同的消息,在某些查詢幾乎等於那一個,但也有限制0,1
我使用paginator(我固定一些注射,在那裏腳本),但例如我gaved它不是使用它
他已經在使用'mysql_real_escape_string()',不需要這個。 – 2009-12-25 00:57:21
但是對於我沒有施放任何東西並且只使用真正的逃脫+特徵的情況,我是否容易受到這些攻擊?我不能再現acunetix給我的任何注射。即使當我把'我沒有得到任何錯誤只是一個無效的ID – 2009-12-25 00:57:59
我的意思是,如果你簡單地把它投在int上,你不需要htmlentities和mysql_real_escape_string,但在他的例子代碼中,他使用了所有這三個時間。當然,如果id可以是一個字符串,那麼mysql_real_escape_string是正確的選擇,否則(int)也可以解決這個問題。 – Akinzekeel 2009-12-25 13:06:14