SQL注入漏洞筆記(一)


SQL注入漏洞(一)

SQL注入原理

形成原因:用戶輸入的數據被SQL解釋器執行
攻擊的目的只有一個,就是為了繞過程序限制,使用戶輸入的數據帶入數據庫中執行,利用數據庫的特殊性獲取更多的信息或更多的權限。

注入漏洞分類

  • 數字型注入
  • 字符型注入

1.數字型注入

當輸入的參數為整型時,如:ID,年齡,頁碼等,若存在注入漏洞,則可認為是數字型注入。

測試步驟

  1. www.xxxxx.com/test.php?ID=2 '測試頁面是否出現異常
  2. www.xxxxx.com/test.php?ID=2 and 1=1測試頁面是否和原始數據一樣
  3. www.xxxxx.com/test.php?ID=2 and 1=2 返回數據始終為假

以上三個數據均為滿足,則可能存在SQL注入。 這種數字型注入最多出現在ASP,PHP等弱類型中。

字符型注入

當輸入的參數為字符串時,稱為字符型。數字型與字符型最大的區別在於:數字型不需要單引號閉合,而字符串一般要使用單引號來閉合。

  • 數字型例句 select *from table where id=1
  • 字符型例句 select *from table where uername='admin'

字符型注入最關鍵的是如何閉合SQL語句以及注釋多余的代碼

數據庫不同,字符串連接也不一樣。

  • SQL Server 連接符為"+"
  • Oracle 連接符為"||"
  • Mysql 了連接符為空格

一些常見的注入

  • POST 注入:注入字段在 POST數據中
  • Cookie注入:注入字段在Cookie中
  • 延時注入:使用數據庫延時特性注入
  • 搜索注入:注入處為搜索的地點
  • base64注入:注入字符需要經過base64加密

需要熟悉常見的數據庫函數的用法


免責聲明!

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



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