2、SQLMAP進階

2、SQLMAP進階php

1--level 5:探測等級mysql

參數--level 5 指須要執行的測試等級,一共有5個等級(1-5),可不加level,默認是1SQLMAP使用的Payload 能夠在xml/payloads.xml中看到,也能夠根據相應的格式添加本身的payload,其中5級包含的payload最多,會自動破解出cookieXFF等頭部注入。固然,level 5 的運行速度也比較慢。這個參數會影響測試的注入點,GETPOST的數據都會進行測試,HTTP cookie level 2時就會測試,HTTP User-Agent/Referer 頭在level3時就會測試。總之,在不肯定哪一個Payload或參數爲注入點時,爲了保證全面性,建議使用高的level值。web

2--is-dba:當前用戶是否爲管理權限sql

該命令用於查看當前帳戶是否爲數據庫管理員帳戶。shell

sqlmap.py -u 網址 --is-dba

3--roles:列出數據庫管理員角色數據庫

該命令用於查看數據庫用戶的角色。若是當前用戶有權限的讀取包含全部用戶的表,輸入該命令會列舉出每一個用戶的角色,也能夠用-U 參數指定想看哪一個用戶的角色。該命令適用於當前數據庫是Oracle的時候。後端

4--referer:HTTP Referer服務器

SQLMAP能夠在請求中僞造HTTP中的referer,當--level參數設定爲33以上時,會嘗試對referer注入。能夠使用referer命令來欺騙,如--referer 網址。cookie

5--sql-shell:運行自定義SQL語句asp.net

該命令用於執行指定的SQL語句

sqlmap.py -u 網址 --sql-shell

6--os-cmd--os-shell:運行任意操做系統命令

在數據庫爲mysqlpostgresqlmicrosoft sql sever,而且當前用戶有權限使用特定的函數時,若是數據庫爲mysqlpostgresqlSQLMAP上傳一個二進制庫,包含用戶自定義的函數sys-exec()和says-eval(),那麼建立的這兩個函數就能夠執行系統命令。在microsoft sql sever 中,sqlmap將使用xp-cmdshell存儲過程,若是被禁用(在microsoft sql server 2005及以上版本默認被禁制),則sqlmap會從新啓用它,若是不存在,會自動建立。

--os-shell參數能夠模擬一個真實的shell,輸入想執行的命令。當不能執行語句時(好比phpasp的後端數據庫爲mysql),仍然能夠使用INTO OUFLE寫進可寫目錄,建立一個web後門。--os-shell支持ASPasp.netjspphp四種語言(要想執行改參數,須要有數據庫管理員權限,也就是--is-dba的值要爲true)。

7--file-read:從數據庫服務器中讀取文件

該命令用於讀取執行文件,當數據庫爲mysqlpostgresqlmicrosoft sql server,而且當前用戶有權限使用特定的函數時,讀取的文件能夠是文本,也能夠是二進制文件。

sqlmap.py -u 網址 --file-read 文件名 -v 1

8--file-write   --file-dest:上傳文件到數據庫服務器中

該命令用於寫入本地文件到服務器中,當數據庫爲mysqlpostgresqlmicrosoft sql server,而且當前用戶有權限使用特定的函數時,上傳的文件能夠是文本,也能夠是二進制文件。

sqlmap.py -u 網址 --file-write/文件 --file-dest 文件目錄 -v 1 
相關文章
相關標籤/搜索