3.8 SqlMap用法—注入技術
這些選項可用于調整特定SQL注入技術的測試。
3.8.1.SQL注入技術進行檢測
選項: --technique
此選項可用于指定要測試的SQL注入類型。默認情況下,sqlmap測試其支持的所有類型/技術。
在某些情況下,您可能只想測試一種或幾種特定類型的SQL注入思想,這就是該選項起作用的地方。
此選項需要一個參數。這種參數是一個通過的任何組合組成的字符串B,E,U,S,T和Q字符,其中每個字母代表一種不同的技術:
B:基于布爾的盲注E:基于錯誤U:基于聯合查詢S:堆疊查詢T:基于時間的盲注Q:內聯查詢
例如,ES如果您僅想測試和利用基于錯誤的查詢和堆積查詢,則可以提供SQL注入類型。默認值為BEUSTQ。
請注意S,當您要訪問文件系統,接管操作系統或訪問Windows注冊表配置單元時,字符串必須包含堆疊的查詢技術字母。
3.8.2.延遲基于時間的盲SQL注入的DBMS響應的秒數
選項: --time-sec
通過提供--time-sec選項后跟一個整數,可以設置秒數以延遲基于時間的盲SQL注入測試時的響應。默認情況下,它的值設置為5秒。
3.8.3.UNION查詢SQL注入中的列數
選項: --union-cols
默認情況下,sqlmap使用1至10列測試UNION查詢SQL注入技術。但是,通過提供更高的--level值,該范圍最多可以增加到50列。有關更多詳細信息,請參見相關段落。
您可以通過為工具提供選項(--union-cols后跟整數范圍)來手動告訴sqlmap使用特定范圍的列來測試這種類型的SQL注入。例如,12-16意味著使用12到16列來測試UNION查詢SQL注入。
3.8.4.用于測試UNION查詢SQL注入的字符
選項: --union-char
默認情況下,sqlmap使用NULL字符測試UNION查詢SQL注入技術。但是,通過提供更高的--level值,sqlmap也將使用隨機數執行測試,因為在某些特殊情況下,UNION查詢測試NULL失敗,而使用隨機整數則成功。
您可以通過使用--union-char帶有所需字符值的選項(例如--union-char 123)來手動告訴sqlmap使用特定字符測試這種類型的SQL注入。
3.8.5.在UNION查詢SQL注入的FROM部分中使用的表
選項: --union-from
在某些UNION查詢SQL注入情況下,需要在FROM子句中強制使用有效且可訪問的表名。例如,Microsoft Access要求使用此表。如果不提供一個UNION查詢,SQL注入將無法正確執行(例如--union-from=users)。
3.8.6.DNS滲透攻擊
選項: --dns-domain
DNS滲透SQL注入攻擊在“ SQL注入攻擊中的DNS數據檢索”中進行了描述,而在sqlmap內部實現的實現的介紹可以在使用sqlmap的DNS滲透幻燈片中找到。
如果用戶正在控制注冊為DNS域服務器(例如domain attacker.com)的計算機,則可以使用此選項(例如--dns-domain attacker.com)來開啟此攻擊。它起作用的前提條件是使用Administrator特權(特權端口的使用53)運行一個sqlmap,并且可以利用一種常規(盲)技術。攻擊的唯一目的是在已識別至少一種技術(最好是基于時間的盲法)的情況下加快數據檢索的過程。如果可以使用基于錯誤的盲查詢或UNION查詢技術,則默認情況下將跳過這些查詢技術。
3.8.7.二階注入攻擊
選項:--second-url和--second-req
二階SQL注入攻擊是一種攻擊,其中一個脆弱頁面中注入的有效載荷的結果在另一脆弱頁面(例如幀)處顯示(反映)。通常是由于用戶在原始易受攻擊頁面上提供的輸入的數據庫存儲而發生的。
您可以通過使用--second-order帶有URL地址的選項或--second-req用于發送到顯示結果的服務器的請求文件,手動告訴sqlmap測試這種類型的SQL注入。
SqlMap中文版使用教程
推薦文章: