關於sqlmap使用手冊

来源:http://www.cnblogs.com/phpworld/archive/2017/12/20/8074597.html
-Advertisement-
Play Games

sqlmap 使用手冊 官方wiki Github sqlmap也是滲透中常用的一個註入工具,可以用來檢測sql註入漏洞。 功能與作用 完全支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,F ...


sqlmap 使用手冊

sqlmap也是滲透中常用的一個註入工具,可以用來檢測sql註入漏洞。

功能與作用

  • 完全支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP MaxDB和HSQLDB資料庫管理系統。
  • 完全支持五種SQL註入技術:基於布爾值的盲註,基於時間的盲註,基於錯誤註入,聯合查詢註入和堆查詢註入。
  • 支持通過提供DBMS憑據,IP地址,埠和資料庫名稱直接連接到資料庫,而無需通過SQL註入。
  • 可以提供單個目標URL,從 Burp 代理或 WebScarab 代理請求日誌文件獲取目標列表,從文本文件獲取整個HTTP請求,或通過向sqlmap提供sqlmap查詢Google dork來獲取目標列表搜索引擎並解析其結果頁面。您還可以定義基於正則表達式的作用域,用於標識要測試的解析地址。
  • 測試提供了GET參數,POST參數,HTTP Cookie頭值,HTTP用戶代理頭值和HTTP Referer頭值來識別和利用SQL註入漏洞。還可以指定要測試的特定參數的逗號分隔列表。
  • 指定併發 HTTP(S) 請求(多線程)的最大數量的選項,以加快盲SQL註入技術。反之亦然,還可以指定在每個 HTTP(S) 請求之間保持的秒數。其他優化開關也加快了開發。
  • HTTP Cookie頭字元串支持,當web應用程式需要基於cookie的身份驗證,並且您有這樣的數據或在您只是想測試和利用SQL註入這樣的頭值有用。您還可以指定始終對Cookie進行URL編碼。
  • 自動處理來自應用程式的HTTP Set-Cookie頭,如果會話過期,則重新建立會話。還支持測試和利用這些值。反之亦然,你也可以強制忽略任何Set-Cookie頭。
  • HTTP協議基本,Digest,NTLM和證書認證支持。
  • HTTP(S)代理支持將請求傳遞到目標應用程式,該目標應用程式也與HTTPS請求和已驗證的代理伺服器一起工作。
  • 偽造HTTP Referer頭值和由用戶指定或從文本文件中隨機選擇的HTTP User-Agent標頭值的選項。
  • 支持輸出消息的詳細程度:七個級別。
  • 支持從目標URL解析HTML表單,並針對這些頁面偽造 HTTP(S) 請求,以針對漏洞測試表單參數。
  • 在用戶的開關和特征方面的粒度和靈活性。
  • 支持每個查詢的實時更新的估計到達時間,為用戶提供檢索查詢輸出所需的時間概覽。
  • 在獲取數據時自動將會話(查詢及其輸出,即使是部分檢索)保存在文本文件上,並通過解析會話文件來恢復註入。
  • 支持從配置INI文件讀取選項,而不是每次指定命令行上的參數。還支持基於提供的命令行生成配置文件。
  • 支持在本地SQLite 3資料庫上複製後端資料庫表結構和條目。
  • 支持從subversion存儲庫更新到最新的開發版本。
  • 支持解析HTTP(S)響應並向用戶顯示任何DBMS錯誤消息。
  • 與其他IT安全開源項目整合,Metasploit和w3af。

如何使用?

Usage(用法): python sqlmap.py [options]
Options(選項):
  -h, --help            顯示基礎幫助信息並退出
  -hh                   顯示更詳細的幫助信息並退出
  --version             顯示版本號並退出
  -v VERBOSE            詳細級別:0 - 6 (預設1)
  Target(目標):
    以下至少需要設置其中一個選項,設置目標URL
    -d DIRECT           使用連接字元串連接到資料庫
    -u URL, --url=URL   目標 URL(例如 "http://www.site.com/vuln.php?id=1")
    -l LOGFILE          從 Burp 或 WebScarab 代理的日誌中解析目標
    -x SITEMAPURL       從遠程 sitemap(.xml) 中解析目標
    -m BULKFILE         從文本文件中掃描多個目標
    -r REQUESTFILE      從一個文件中載入 HTTP 請求
    -g GOOGLEDORK       處理 Google dork 的結果作為目標URL
    -c CONFIGFILE       從 INI 配置文件中載入選項
  Request(請求):
    這些選項可以用來指定如何連接到目標URL
    --method=METHOD     使用給定的 HTTP 訪問方法(例如 PUT)
    --data=DATA         通過 POST 發送的數據字元串
    --param-del=PARA..  用於分割參數值的字元
    --cookie=COOKIE     HTTP Cookie頭
    --cookie-del=COO..  用於分割 cookie 值的字元
    --load-cookies=L..  含 Netscape/wget 的 cookie 文件格式
    --drop-set-cookie   忽略響應的 Set-Cookie 頭信息
    --user-agent=AGENT  指定 HTTP User - Agent頭
    --random-agent      使用隨機選定的HTTP User - Agent頭
    --host=HOST         指定 HTTP Host 頭
    --referer=REFERER   指定 HTTP Referer 頭
    -H HEADER, --hea..  指定其他頭信息(例如 "X-Forwarded-For: 127.0.0.1")
    --headers=HEADERS   指定其他多條頭信息,可換行(例如 "Accept-Language: fr\nETag: 123")
    --auth-type=AUTH..  HTTP身份驗證類型(Basic, Digest, NTLM or PKI)
    --auth-cred=AUTH..  HTTP身份驗證憑據(name:password)
    --auth-file=AUTH..  HTTP身份驗證 PEM cert/private 文件
    --ignore-401        忽略 HTTP 401(Unauthorized) 錯誤
    --ignore-proxy      忽略系統預設的HTTP代理
    --ignore-redirects  忽略重定向
    --ignore-timeouts   忽略連接超時
    --proxy=PROXY       使用代理連接到目標
    --proxy-cred=PRO..  代理身份驗證憑據(name:password
    --proxy-file=PRO..  從文件載入代理列表
    --tor               使用 Tor 匿名網路
    --tor-port=TORPORT  設置 Tor 代理埠
    --tor-type=TORTYPE  設置 Tor 代理類型(HTTP, SOCKS4 or SOCKS5 (預設))
    --check-tor         檢查 Tor 正確使用
    --delay=DELAY       在每個HTTP請求之間的延遲時間,單位為秒
    --timeout=TIMEOUT   等待連接超時的時間(預設為30秒)
    --retries=RETRIES   連接超時後重新連接的時間(預設3秒)
    --randomize=RPARAM  隨機改變給定參數的值
    --safe-url=SAFEURL  測試期間經常訪問的 URL 地址
    --safe-post=SAFE..  將數據發送到安全 URL
    --safe-req=SAFER..  從文件載入安全 Http 請求
    --safe-freq=SAFE..  兩次訪問之間測試請求,給出安全的URL
    --skip-urlencode    跳過載荷數據的 URL 編碼
    --csrf-token=CSR..  設置 csrf token 標記名稱
    --csrf-url=CSRFURL  獲取 csrf token URL 地址
    --force-ssl         強制使用 SSL/HTTPS
    --hpp               打開 hpp 參數污染
    --eval=EVALCODE     運行 Python 代碼來重新設置或添加值(例如
                        "import hashlib;id2=hashlib.md5(id).hexdigest()")
  Optimization(優化):
    這些選項可用於優化 sqlmap 性能
    -o                  開啟所有優化
    --predict-output    預測常見查詢輸出
    --keep-alive        使用持久 HTTP(s) 連接
    --null-connection   沒有實際的 HTTP 響應體檢索頁面長度
    --threads=THREADS   最大HTTP (s) 請求數(預設1)
  Injection(註入):
	這些選線可以用來指定要測試的參數,提供自定義載荷和選項干預腳本
	
    -p TESTPARAMETER    可測試參數
    --skip=SKIP         跳過給定參數的測試
    --skip-static       跳過不是動態參數的測試
    --param-exclude=..  使用正則表達式從測試中排除參數(例如“ses”)
    --dbms=DBMS         將後端 DBMS 強製為此值
    --dbms-cred=DBMS..  DBMS認證憑證 (user:password)
    --os=OS             將後端DBMS操作系統強製為此值
    --invalid-bignum    使用大數字使值無效
    --invalid-logical   使用邏輯操作使值無效
    --invalid-string    使用隨機字元串使值無效
    --no-cast           關閉載荷casting機制
    --no-escape         關閉字元串轉義機制
    --prefix=PREFIX     註入載荷的首碼字元串
    --suffix=SUFFIX     註入載荷的尾碼字元串
    --tamper=TAMPER     使用給定的腳本來干預註入的數據
  Detection(檢測):
    這些選項可用於自定義檢測階段
    --level=LEVEL       執行測試級別 (1-5, 預設 1)
    --risk=RISK         執行測試的風險 (1-3, 預設 1)
    --string=STRING     當查詢求值為True時匹配的字元串
    --not-string=NOT..  當查詢求值為False時匹配的字元串
    --regexp=REGEXP     當查詢求值為True時匹配的正則表達式
    --code=CODE         當查詢求值為True時匹配的HTTP代碼
    --text-only         僅根據文字內容比較網頁
    --titles            僅根據其標題比較網頁
  Techniques(技術):
    這些選項可用於調整特定SQL註入技術的測試
    --technique=TECH    SQL註入技術使用(預設“BEUSTQ”)
    --time-sec=TIMESEC  DBMS響應的延遲時間(預設為5秒)
    --union-cols=UCOLS  定列範圍用於測試UNION查詢註入
    --union-char=UCHAR  用於暴力猜解列數的字元
    --union-from=UFROM  要在UNION查詢SQL註入的FROM部分使用的表
    --dns-domain=DNS..  用於DNS外發攻擊的功能變數名稱
    --second-order=S..  產生的網頁網址搜索二級響應
  Fingerprint(指紋):
    -f, --fingerprint   執行擴展的DBMS版本指紋
  Enumeration(枚舉):
    這些選項可用於枚舉後端資料庫
    管理系統信息,表中包含的結構和數據。 此外,您可以運行您自己的SQL語句
    -a, --all           檢索所有
    -b, --banner        檢索 DBMS banner
    --current-user      檢索 DBMS 當前用戶
    --current-db        檢索 DBMS 當前資料庫
    --hostname          檢索 DBMS 伺服器 hostname
    --is-dba            檢測 DBMS 當前用戶是否為DBA
    --users             枚舉 DBMS 用戶
    --passwords         枚舉 DBMS 用戶密碼散列
    --privileges        枚舉 DBMS 用戶許可權
    --roles             枚舉 DBMS 用戶角色
    --dbs               枚舉 DBMS 資料庫
    --tables            枚舉 DBMS 資料庫表
    --columns           枚舉 DBMS 資料庫表列
    --schema            枚舉 DBMS schema
    --count             檢索表的條目數
    --dump              導出 DBMS 資料庫表條目
    --dump-all          導出所有 DBMS 資料庫表條目
    --search            搜索列,表,資料庫名稱
    --comments          檢索 DBMS 註釋
    -D DB               DBMS 資料庫進行枚舉
    -T TBL              DBMS 資料庫表進行枚舉
    -C COL              DBMS 資料庫表列進行枚舉
    -X EXCLUDECOL       DBMS 資料庫表列不進行枚舉
    -U USER             DBMS 用戶進行枚舉
    --exclude-sysdbs    枚舉表時排除DBMS系統資料庫
    --pivot-column=P..  數據透視列名稱
    --where=DUMPWHERE   表導出時使用 WHERE 條件
    --start=LIMITSTART  查詢要檢索的輸出條目開始數
    --stop=LIMITSTOP    查詢要檢索的輸出條目結束數
    --first=FIRSTCHAR   查詢從某個字元檢索開始
    --last=LASTCHAR     查詢從某個字元檢索結束
    --sql-query=QUERY   執行的 SQL 語句
    --sql-shell         提示互動式SQL Shell
    --sql-file=SQLFILE  從給定文件執行SQL語句
  Brute force(強力):
    這些選項可用於運行強力檢查
    --common-tables     檢查公用表的存在
    --common-columns    檢查公共列的存在
  User-defined function injection(用戶定義的函數註入):
    這些選項可用於創建用戶定義的函數
    --udf-inject        註入用戶定義函數
    --shared-lib=SHLIB  共用庫的本地路徑
  File system access(文件系統訪問):
    這些選項可用於訪問後端資料庫管理系統底層文件系統
    --file-read=RFILE   從後端 DBMS 文件系統讀取文件
    --file-write=WFILE  在後端 DBMS 文件系統上寫入本地文件
    --file-dest=DFILE   寫入後端DBMS絕對文件路徑
  Operating system access(操作系統訪問):
    這些選項可用於訪問後端資料庫管理系統底層操作系統
    --os-cmd=OSCMD      執行操作系統命令
    --os-shell          提示互動式操作系統shell
    --os-pwn            提示OOB shell,Meterpreter或VNC
    --os-smbrelay       一個OOB shell,Meterpreter或VNC的單擊提示
    --os-bof            存儲過程緩衝區溢出利用
    --priv-esc          資料庫處理用戶許可權升級
    --msf-path=MSFPATH  安裝 Metasploit 框架的本地路徑
    --tmp-path=TMPPATH  遠程臨時目錄的絕對路徑
  Windows registry access(Windows 註冊表訪問):
    這些選項可用於訪問後端資料庫管理系統Windows註冊表
    --reg-read          讀取Windows註冊表項值
    --reg-add           寫入Windows註冊表項值數據
    --reg-del           刪除Windows註冊表項值數據
    --reg-key=REGKEY    Windows註冊表項
    --reg-value=REGVAL  Windows註冊表項值
    --reg-data=REGDATA  Windows註冊表項值數據
    --reg-type=REGTYPE  Windows註冊表項值類型
  General(常規):
    這些選項可用於設置一些常規工作參數
    
    -s SESSIONFILE      從存儲(.sqlite)文件載入會話
    -t TRAFFICFILE      將所有HTTP流量記錄到文本文件中
    --batch             不詢問用戶,使用預設行為
    --binary-fields=..  具有二進位值的結果欄位(例如 "digest")
    --charset=CHARSET   強制使用用於數據檢索的字元編碼
    --crawl=CRAWLDEPTH  從目標網址開始抓取網站
    --crawl-exclude=..  使用正則表達式排除抓取的網站 (例如 "logout")
    --csv-del=CSVDEL    分隔CSV輸出中使用的字元 (default ",")
    --dump-format=DU..  導出數據的格式 (CSV (預設), HTML or SQLITE)
    --eta               顯示每個輸出的預計時間
    --flush-session     刷新當前目標的會話文件
    --forms             在目標網址上解析和測試表單
    --fresh-queries     忽略存儲在會話文件中的查詢結果
    --hex               使用DBMS hex函數進行數據檢索
    --output-dir=OUT..  自定義輸出目錄路徑
    --parse-errors      解析和顯示響應中的DBMS錯誤消息
    --save=SAVECONFIG   將選項保存到配置INI文件
    --scope=SCOPE       正則表達式過濾從提供的代理日誌的目標
    --test-filter=TE..  根據載荷或標題選擇測試 (例如 ROW)
    --test-skip=TEST..  根據載荷或標題跳過測試 (例如 BENCHMARK)
    --update            更新 sqlmap
  Miscellaneous(其他):
    -z MNEMONICS        使用簡語 (例如 "flu,bat,ban,tec=EU")
    --alert=ALERT       在找到 SQL 註入時運行主機操作系統命令
    --answers=ANSWERS   設置問題答案 (例如 "quit=N,follow=N")
    --beep              在找到 SQL 註入時詢問
    --cleanup           從 sqlmap 特定的 UDF 和表清理 DBMS
    --dependencies      檢查是否缺少(非核心)sqlmap依賴關係
    --disable-coloring  禁用控制台輸出著色
    --gpage=GOOGLEPAGE  使用特定頁碼的Google dork結果
    --identify-waf      對 WAF/IPS/IDS 保護進行全面測試
    --mobile            通過HTTP User-Agent標頭模仿智能手機
    --offline           在離線模式下工作(僅使用會話數據)
    --purge-output      安全地從輸出目錄中刪除所有內容
    --skip-waf          跳過啟髮式檢測 WAF/IPS/IDS 保護
    --smart             只有在正啟髮式時才進行徹底測試
    --sqlmap-shell      提示互動式sqlmap shell
    --tmp-dir=TMPDIR    用於導出臨時文件的本地目錄
    --wizard            為初學者用戶提供簡單的嚮導界面

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、systemd的由來與特性 1、歷史由來 從CentOS 7系列開始,redhat正式將systemd用於系統管理,來取代CentOS 5的sysV init和CentOS 6的upstart體系;較之之前,systemd為linux系統提供了啟動與管理的一整套解決方案;下圖為systemd框架 ...
  • 【簡介】 fsck命令被用於檢查並且試圖修複文件系統中的錯誤。當文件系統發生錯誤四化,可用fsck指令嘗試加以修複。【選項】必要參數 -a 非互交模式,自動修複 -c 檢查是否存在有損壞的區塊。 -C<反敘述器> fsck.ext3命令會把全部的執行過程,都交由其逆向敘述,便於監控程式 -d 詳細顯 ...
  • SSH 為 SecureShell 的縮寫,由 IETF 的網路工作小組(NetworkWorkingGroup)所制定;SSH 是一種安全協議,主要用於給遠程登錄會話數據進行加密,保證數據傳輸的安全。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。 ...
  • [20171220]toad plsql顯示整形的bug.txt--//下午有itpub網友反應,一個查詢在sqlplus,pl/sql下不同.鏈接如下:--//http://www.itpub.net/thread-2095697-1-1.html--//我測試感覺是數據出現錯誤.直接那它的數據測 ...
  • ORACLE 11g 用exp命令導出庫文件備份時,發現只能導出來一部分表而且不提示錯誤,之前找不到解決方案只能把沒導出來的表重新建建立。後來發現是所有的空表都沒有導出來。於是想好好查查,因為在以前的10g版本中沒有這樣的問題。查資料發現Oracle 11g中有個新特性:新增了一個參數“deferr ...
  • 單機模式: 分散式模式 ShardedJe、dis是基於一致性哈希演算法實現的分散式Redis集群客戶端 ...
  • 參考資料:https://www.cnblogs.com/nangch/p/5521193.html 解決方法: 一、通過編輯/etc/my.cnf文件在[mysqld]下麵加上skip-grant-tables=1,保存退出; 二、重啟MySql服務【systemctl restart mysql ...
  • 系統版本說明 [root@db01 data]# uname -r 3.10.0-693.el7.x86_64 [root@db01 data]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LI ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...