程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> mysql-關於PHP-MYSQL注入攻擊實例

mysql-關於PHP-MYSQL注入攻擊實例

編輯:編程綜合問答
關於PHP-MYSQL注入攻擊實例

請問能實例一個基於PHP MYSQL類的注入攻擊嗎?

PHP VERSION 5.6.3

在嘗試進行模擬注入攻擊時失敗。打印了SQL語句,直接復制腳本到Mysql Workbench是可以成功DROP掉數據庫的,但是在本地運行的時候始終報語法錯誤,求問錯誤在哪裡,如何實例化這樣一次的攻擊。

 error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED);
$data = $_GET['sql'];
$data2 = mysql_real_escape_string($data);
$sql = "INSERT INTO test (test) VALUES ('$data');";
$sqlx = "INSERT INTO test (test) VALUES ('$data2');";
echo $sql.'<br/>';
echo $sqlx.'<br/>';
mysql_query($sql);
echo  mysql_error();

上面鏈接部分略,
訪問的URL為 test.php?sql=values%27);%20DROP%20DATABASE%20test;%20--%20

輸出為
INSERT INTO test (test) VALUES ('values'); DROP DATABASE test; -- ');
INSERT INTO test (test) VALUES ('values\'); DROP DATABASE test; -- ');
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP DATABASE test; -- ')' at line 1

第二行做過防注入處理的是可以執行的,但是一個沒做處理,依然報錯了

最佳回答:


mysql_query 是不支持多條SQL語句的,所以中間有分號的情況下,被認為是語法錯誤。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved