SQLmap的下载和安装,以及其参数大全和使用教程(值得收藏)
SQLMAP是什么?
SQLMAP是一個開源的自動化SQL注入工具,其主要功能是掃描、發現并利用給定的URL的SQL注入漏洞。
SQLMAP可以對URL干嘛?
判斷可注入的參數
判斷可以使用哪一種SQL注入技術進行注入
判斷識別數據庫的類型
根據用戶的選擇,從數據庫中讀取數據
SQLMAP支持的注入技術
基于布爾的盲注:根據返回頁面判斷條件真假的注入。
基于時間的盲注:不能根據頁面返回內容判斷任何信息,用條件語句查看時間延退語
句是否執行(即頁面返回時間是否增加)來判斷。
基于報錯的注入:頁面會返回錯誤信息,或者把注入的語句的結果直接返回在頁面中
基于聯合查詢的注入:可以使用UNION的情況下的注入。
堆查詢注入:同時執行多條語句的注入。
SQLMAP支持的數據庫類型
主要包括一些關系型數據庫(RMDBS),如MySQL、Oracle、PostgreSQL、Microsoft SQL Server、 Microsoft Access、 IBM DB2、 SQLite、 Firebird、Sybase、SAP MaxDB、Informix、HSQLDB等
SQLMAP檢測注入漏洞的流程
網站連通性檢測:檢測目標的連接狀態
WAF探測:檢測網站是否受WAF保護。
網頁穩定性檢測:檢測網頁是否穩定。
參數動態性檢測:檢測參數是否具有動態性。
啟發式注入檢測:探測該參數點是否是動態的、是否為可能的注入點。
SQLMAP的誤報檢測機制
誤報檢測:SQLMAP的布爾盲注、時間盲注方式判斷注入點時,存在誤報的可能。為防止誤報SQLMap引入了誤報檢測機制。兩個基礎檢測算法頁面相似度對比技術(在各種注入技術中大量使用):在SQLMap檢測的整個過程中,會有一個原始響應的定義,指的是在網站連通性檢測的過程中,如果網站成功響應,則把該響應定義為原始響應(包括狀態碼、HTTP響應頭、HTTP響應體)。一個HTTP請求成功響應后,將與原始響應進行對比,得出對比結果,算法輸出為True表示當前響應與原始響應相似,算法輸出為False表示當前響應與原始響應不相似。高斯分布識別響應機制(在UNION注入和時間盲注過程中使用):網站的響應是基于邏輯的,如果一組請求,網站的處理邏輯相同,那么響應幾乎也是相同的。如果某一個響應出現了變化,則可以認為網站處理邏輯變了,這種邏輯的變化可能正是因為注入成功了。
常見參數:
參數:-u?????????????????????????????????????????????????? 直接輸入目標URL
參數:-m????????????????????????????????????????????????? 從文件中取出保存的url進行檢測
參數:-r??????????????????????????????????????????????????? 從文本文件中獲取http請求
參數:-g??????????????????????????????????????????????????? 測試注入Google的搜索結果的GET參數
參數:-l?????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? 從Burp或者WebScarab代理中獲取日志
枚舉參數
參數:-b,--banner?????????????????????????????????? 列出版本號
參數:--dbs?????????????????????????????????????????????? 列出所有數據庫的庫名
參數:--current-db???????????????????????????????????? 列出當前使用的數據庫庫名
參數:--tables??????????????????????????????????????????? 列出數據庫中的表
參數:--columns??????????????????????????????????????? 列出數據表中的字段
參數:--dump??????????????????????????????????????????? 轉儲數據庫表項,查詢字段值
參數:--users????????????????????????????????????????? ?? 列出所有管理用戶
參數:--passwords??????????????????????????????????? 列出并破解數據庫用戶的hash
參數:--privileges???????????????? ? ? ? ? ? ? ? ? ?? ? 列出數據庫管理員權限
請求參數
參數:--method?????????????????????????????????????? ?? 指定使用的http方法
參數:--data???????????????????????????????????????????? ? 把數據以POST方式提交
參數:--param-del?????????????????????????????????? ? ??? GET或POST的數據用&以外的其他字符分割
參數:--cookie,--load-cookies,--drop-setcookie??????????????? 設置cookie
參數:--referer??????????????????????????????????????????? 偽造HTTP中的Referer頭
參數:--user-agent???????????????????????????????????? 自定義HTTP中的User-Agent頭
參數:--headers???????????????????????????????????????? 增加額外的http頭,不同的頭使用“\n”分隔
參數:--timeout????????????????????????????????????????? 設置超時時間
參數:--retries??????????????????????????????????????????? 設置重試次數
檢測參數
參數:-V顯示等級,共有7個等級,為0時只顯示python錯誤以及嚴重的信息,為1時(默認)同時顯示基本信息和警告信息,為2時同時顯示debug信息,為3時同時顯示注入的payload,為4時同時顯示HTTP請求,為5時同時顯示HTTP響應頭,為6時同時顯示HTTP響應頁面。
參數:--risk???????????????????????????????????????????????? 風險等級,共有4個等級
參數:-p,--skip??????????????????????????????????? 手動用-p參數設置想要測試的參數,-skip設置跳過的參數
參數:--flush-session???????????????????????????????? 清空SQLMAP緩存的會話信息
注入技術參數
參數:--technique???????????? 指定sqlmap使用的探測技術,B表示布爾盲注,T表示時間盲注(延退注入),E表示報錯注入,U表示聯合查詢注入,S表示堆查詢注入
參數:--time-sec????????????????????????????????????????? 設定延退注入的時間(默認為5秒)
參數:--union-cols?????????????????????????????????????? 設定UNION查詢字段數
參數:--union-char?????????????????????????????????????? 設定UNION查詢時使用的字符
參數:--second-order?????????????????????????????????? 設置二次注入的URL
參數:--tamper???????????????????????????????????? 使用sqlmap自帶的tamper或者自己寫的tamper來混滑payload,通常用來繞過WAF和IPS。
操作系統權限參數
參數:--os-cmd執行操作系統命令
參數:--os-shell交互式的操作系統的shell
文件讀寫參數
參數:--file-read
讀取文件
參數:--file-write
寫入文件
參數:--file-dest指明寫入文件的絕對路徑
常見用法1:-u參數(直接輸入目標URL)
sqlmap-uhttp://192.168.0.110/page.phpid=10-currentdb//爆當前庫
sqlmap-uhttp://192.168.0.110/pagephpzid=10-D數據庫名--tables//爆表名
sqlmap-uhttp://192.168.0.110/page.phpzid=10-D數據庫名-T表名columns//爆字段
sqlmap-uhttp://192.168.0.110/page.phpid=10-D數據庫名-T表名-C字段名1,字段名2,字段名3..(互相用逗號隔開)-dump//顯示數據
常見用法2:-r參數(從文本文件中獲取http請求
命令實例:sqimap-r/usr/a.txt
說明:使用該命令時須指明a.txt(保存著http請求包)文件所在的絕對路徑
驗證過程:與-u參數類似
判斷可注入的參數
判斷可以用哪種SQL注入技術來注入
識別出所有存在的注入類型
嘗試去判定數據庫版本、開發語言、操作系統版本
常見用法3:-m參數(從文件中取出保存的url進行檢測)
命令實例:sqlmap-m/usr/b.txt
說明:使用該命令時須指明b.txt(保存著多項URL)文件所在的絕對路徑
驗證過程:與-u參數類似
判斷可注入的參數
判斷可以用哪種SQL注入技術來注入
識別出所有存在的注入類型
嘗試去判定數據庫版本、開發語言、操作系統版本
sqlmap官網????????????????點我下載
先把python 下載安裝? ,再下載sqlmap
再把aqlmap扔到目錄里解壓
桌面建立cmd的快捷方式
打開其屬性并修改起始位置為sqlmap目錄
快捷方式重命名為sqlmap
打開后鍵入sqlmap.py
出現劍插豬脖提示,表明開啟成功。
使用幫助:
python sqlmap.py -hJava搭建靶場環境
SQL注入 ——sql數據庫操作基礎(一)_Gjqhs的博客-CSDN博客
?SQL注入——SQLmap的進階使用(十三)_Gjqhs的博客-CSDN博客
...
更多包括而不限于SQL注入的文章,關注我全部帶走吧( ?? ω ?? )?
總結
以上是生活随笔為你收集整理的SQLmap的下载和安装,以及其参数大全和使用教程(值得收藏)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL注入——基于联合查询的字符型GET
- 下一篇: linux cmake编译源码,linu