sql注入-推斷是否存在SQL注入-單引號


來自:https://www.cnblogs.com/ichunqiu/p/5749347.html

 

首先我們需要了解數據是通過什么方式進行輸入,這里我總結了三個:

  • GET請求:該請求在URL中發送參數。(https://i.cnblogs.com/EditPosts.aspx?opt=1opt=1就是輸入的參數
  • POST請求:數據被包含在請求體中。
  • 其他注入型數據:HTTP請求的其他內容也可能會觸發SQL注入漏洞。

 

我們先在參數后面加個單引號,如:本應該輸入1,我們給他輸入1' ,結果查詢語句變為:select * from users where id = 1';

sql語句執行失敗,所以執行結果會返回一個布爾值,即執行的mysql_query的結果為bool(false)

 

為了更好的了解MySQL錯誤,我們在

$sql = mysql_query($querry,$con);

后面加上

if(!$sql)     {         die('<p>error:'.mysql_error().'</p>');     }

這樣當應用捕獲到數據庫錯誤且SQL查詢失敗時,就會返回錯誤信息:(我們在參數中添加單引號返回的錯誤信息)

error: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 ''' at line 1

 

然后借助這些錯誤,我們這可以推斷應該存在SQL注入。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM