sqlmap命令詳解:sqlmap注入教程

一、sqlmap簡介

1. 概況

開源滲透測試工具,自動檢測和利用SQL注入漏洞並接管資料庫伺服器。

2. 特性

(1)支持眾多資料庫 MSF

(2)支持六種SQL注入技術:布爾,時間,錯誤,Union,堆棧查詢,帶外信道

(3)支持使用tamper腳本進行定製化的攻擊

(4)支持msf和meterpreter的聯動

3. 簡單掃描

sqlmap -u <url>

二、sqlmap參數說明

1. 目標指定類參數

(1)-d

「DBMS:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME」

直接鏈接資料庫

(2)-u <url> 指定url

(3)-l <.log文件> 從log文件中解析目標

(4)-m <文本文件> 從文件中解析目標(日誌文件指http請求的日誌文件,會自帶cookie)

(5)-g <搜索內容> 以google搜索結果作為目標,注意搜索內容中引號要注意轉義

2. 請求、認證類參數(post重點內容)

(1)–method=<http方法> 指定使用的http方法

(2)–data=<post數據> 提交post數據並對post數據進行測試

(3)–param-del=<分隔符> 指定參數的分隔符

(4)–cookie <cookie鍵值對> 添加cookie http請求頭(當–level不小於2時,sqlmap會對cookie頭檢測是否可以注入)

(5)–headers <http請求頭欄位和欄位值> 添加http請求頭,不同的頭使用「\n」分隔

(6)–auth-type、–auth-cred 指定認證方式並指定使用的憑證

(7)–auth-file 指定使用的證書文件

3. 優化類參數

(1)–keep-alive 使用http長連接,該參數與「–proxy」參數矛盾

(2)–null-connection 只獲取http響應的長度(大小)而不獲取真正的響應體,可以節約布爾型盲注使用的帶寬

(3)– threads=<number> 設定線程數

(4)-o 相當於同時設定以上三個參數

4. 注入功能類參數

(1)-p <參數列表> 指定要測試的參數不同的參數使用逗號分隔

(2)–skip=<參數列表> 指定哪些參數不測試,不同參數使用逗號分隔

(3)* 指出為靜態網頁的參數位置,如「/id/1*/」

(4)–dbms <資料庫類型> 指定資料庫類型 一般不要

(5)–prefix <前綴> 指定payload的前綴和後綴

5. 用於sql注入漏洞利用的參數

5.1 獲取資料庫內容的常用命令

(1)-b/–banner 獲取資料庫版本

(2)-current-user 顯示當前資料庫用戶名

(3)–is-dba 判斷當前用戶是否為管理員用戶

(4)–dbs 列出資料庫系統的所有資料庫

5.2 獲取資料庫內容

(1)–dbs 爆庫

-D 用資料庫

(2)
–tables/–exclude-sysdbs/-D 爆表

(3)–columns/-C/-T/-D 爆欄位

(4)
–dump/-C/-T/-D/–start/–stop/–first/–last 爆內容

6. 其他重要參數

(1)–proxy、–proxy-cred、–proxy-file和–ignore-proxy 關於代理的參數

(2)–tor、–tor-type、–tor-port和–check-tor(所有流量經過tor) 關於tor匿名網路的參數

(3)–risk 指定風險等級,告訴sqlmap是否要使用高風險的payload(刪庫改庫)

(4)–level 指定檢測等級,告訴sqlmap檢測的範圍有多大,*該參數比較籠統,可以用-p替代他

(5)–technique 指定要使用的注入技術,默認情況下sqlmap會使用所有sql注入技術

(6)

–common-tables和–common-columns 暴力破解表名和列名

三、sqlmap實際應用

1. 檢測sql注入漏洞的存在

sqlmap -m <文件> –level <數字> –risk <數字>……

2. 使用sqlmap獲取數據

(1)–dbs 爆庫

-D 用資料庫

(2)–tables 爆表

-T 用表

(3)–columns

(4)–dump(注意指定庫)

–dump -all 脫庫

3. 使用sqlmap執行系統命令

(1)–os-cmd <命令>

(2)–os-pwn –msf-path <路徑>——開啟一個meterpreter session

(僅限mysql、postgersql、mssql)

四、sqlmap擴展腳本——tamper腳本

1. Tamper腳本簡介

tamper腳本是sqlmap中用於繞過waf或應對網站過濾邏輯的腳本,sqlmap自帶了一些tamper腳本,我們可以在sqlmap的tampet目錄下查看它們,用戶也可以根據已有的tamper腳本來編寫自己的tamper腳本(繞過邏輯)

2. Tamper腳本使用

(1)sqlmap -u <url>——tamper <tamper腳本>

(2)tamper腳本若放在tamper/目錄下則可以直接寫文件名而不用寫全路徑

3. Tamper腳本編寫

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/225397.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:44
下一篇 2024-12-09 14:44

相關推薦

發表回復

登錄後才能評論