簡體   English   中英

SQL注入不起作用

[英]SQL Injection don't work

我正在檢查我的網頁上是否有SQL注入,但是當主頁沒有響應時,我創建了一個測試腳本:

<?
$a = $_POST["a"];
$username="...";
$password="...";
$database="...";

mysql_connect ('...',$username,$password);
mysql_select_db($database) or die( "Unable to select database");

$ress=mysql_query("SELECT username FROM userinfo WHERE id='$a'");
$row = mysql_fetch_array($ress);

print $row[0];
?>
<form name="form" action="hackMe.php" method="POST">
   <input id="a" name="a" size="150">
   <input name="Submit" type="submit" value="Submit">
</form>

但是當我嘗試這一行時:

'; UPDATE userinfo SET email = 'steve@unixwiz.net' WHERE email = 'testusr@gmail.com

我只是收到一個錯誤,並且數據庫中沒有任何更改。

有什么想法嗎?

引用手冊

mysql_query()向與指定關聯的服務器上的當前活動數據庫發送一個唯一查詢( 不支持多個查詢

由我突出。 mysql_query()僅允許每個調用一個查詢查詢,第二個查詢僅次於; 被忽略。

要測試SQL注入,您必須使用不需要第二個傷害的查詢。

編輯:

可以允許多個查詢,但是您必須在mysql_connect()調用中明確聲明它。

mysql_connect($host, $username, $password, false, 65536);
// defined by MySQL:
// #define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM