SQLMap 參數(shù)--risk 與 --level 深度解析
簡(jiǎn)介
SQLMap 作為最強(qiáng)大的 SQL 注入自動(dòng)化工具,其 --risk
和 --level
參數(shù)是控制測(cè)試深度和廣度的關(guān)鍵選項(xiàng)。下面我將從原理到實(shí)踐全面解析這兩個(gè)參數(shù)。
一、--risk 參數(shù):測(cè)試風(fēng)險(xiǎn)控制
1. 基本定義
作用:控制可能影響數(shù)據(jù)庫穩(wěn)定性的測(cè)試技術(shù)
取值范圍:1-3(默認(rèn)為1)
本質(zhì):決定使用哪些可能"危險(xiǎn)"的Payload類型
2. 各級(jí)別詳細(xì)對(duì)比
risk=1 (默認(rèn))
技術(shù)特點(diǎn):
僅使用基于SELECT的查詢
最安全的測(cè)試方式
不包含任何可能修改數(shù)據(jù)的操作
典型Payload:
1 AND 1=1 1' AND ASCII(SUBSTRING(DATABASE(),1,1))>97#
適用場(chǎng)景:
生產(chǎn)環(huán)境初步檢測(cè)
對(duì)穩(wěn)定性要求極高的系統(tǒng)
合規(guī)性審計(jì)中的安全掃描
risk=2
新增技術(shù):
基于時(shí)間的盲注(使用SLEEP/BENCHMARK)
簡(jiǎn)單的堆疊查詢(Stacked queries)
UPDATE型語句測(cè)試
典型Payload:
1'; IF(SUBSTRING(@@version,1,1)='5',SLEEP(5),0)# 1'; UPDATE users SET email='test' WHERE user='admin'#
風(fēng)險(xiǎn)影響:
可能產(chǎn)生數(shù)據(jù)庫日志警告
輕微增加服務(wù)器負(fù)載
極端情況下可能導(dǎo)致鎖表
risk=3
新增技術(shù):
OR-based注入
更復(fù)雜的堆疊查詢
可能觸發(fā)DDL語句(如CREATE TABLE)
典型Payload:
1' OR 1=1 UNION ALL SELECT 1,2,table_name FROM information_schema.tables# 1'; CREATE TABLE test(cmd text); COPY test FROM '/etc/passwd'#
風(fēng)險(xiǎn)影響:
可能修改數(shù)據(jù)庫結(jié)構(gòu)
可能產(chǎn)生大量錯(cuò)誤日志
顯著增加服務(wù)器負(fù)載
3. 使用建議
# 常規(guī)測(cè)試 sqlmap -u "http://example.com" --risk=2 ? # 敏感環(huán)境 sqlmap -u "http://example.com" --risk=1 ? # 全面測(cè)試(僅用于授權(quán)測(cè)試環(huán)境) sqlmap -u "http://example.com" --risk=3
二、--level 參數(shù):測(cè)試深度控制
1. 基本定義
作用:控制測(cè)試的全面性和Payload數(shù)量
取值范圍:1-5(默認(rèn)為1)
本質(zhì):決定測(cè)試哪些參數(shù)和Payload復(fù)雜度
2. 各級(jí)別詳細(xì)對(duì)比
level=1 (默認(rèn))
測(cè)試范圍:
僅測(cè)試GET/POST參數(shù)
使用最基礎(chǔ)的10-15個(gè)Payload
不測(cè)試HTTP頭部
典型場(chǎng)景:
快速掃描
大量URL的初步篩選
level=2
新增測(cè)試:
測(cè)試Cookie
增加約30個(gè)Payload
基礎(chǔ)的頭注入測(cè)試
level=3
新增測(cè)試:
測(cè)試User-Agent/Referer
增加約50個(gè)Payload
更復(fù)雜的注入邏輯
level=4
新增測(cè)試:
測(cè)試Host頭部
增加約100個(gè)Payload
非常規(guī)編碼測(cè)試
level=5
新增測(cè)試:
測(cè)試所有HTTP頭部
增加約150個(gè)Payload
極端邊緣情況測(cè)試
3. 技術(shù)實(shí)現(xiàn)差異
level | 測(cè)試參數(shù) | Payload復(fù)雜度 | 編碼方式 |
---|---|---|---|
1 | GET/POST | 基礎(chǔ) | 無 |
2 | +Cookie | 中等 | URL編碼 |
3 | +HTTP Headers | 復(fù)雜 | 雙重URL編碼 |
4 | +Host頭 | 非常復(fù)雜 | 隨機(jī)編碼 |
5 | 所有HTTP頭 | 極端情況 | 多重非常規(guī)編碼 |
4. 使用建議
# 快速測(cè)試 sqlmap -u "http://example.com?id=1" --level=1 ? # 常規(guī)滲透測(cè)試 sqlmap -u "http://example.com" --level=3 ? # 全面測(cè)試(CTF/訓(xùn)練環(huán)境) sqlmap -u "http://example.com" --level=5 ? # 配合risk使用 sqlmap -u "http://example.com" --level=3 --risk=2
三、參數(shù)組合策略
1. 經(jīng)典組合方案
場(chǎng)景 | 推薦組合 | 效果 |
---|---|---|
初步掃描 | level=1 + risk=1 | 快速低風(fēng)險(xiǎn) |
常規(guī)滲透測(cè)試 | level=3 + risk=2 | 平衡檢測(cè)率與風(fēng)險(xiǎn) |
攻防演練/CTF | level=5 + risk=3 | 最大化檢測(cè)能力 |
敏感生產(chǎn)環(huán)境 | level=2 + risk=1 | 安全優(yōu)先 |
2. DVWA High級(jí)別推薦
sqlmap -u "http://dvwa/vulnerabilities/sqli_blind/" \ --cookie="id=1*; security=high; PHPSESSID=xxx" \ --level=3 \ --risk=2 \ --technique=B \ --batch
為什么這樣組合:
level=3
:確保檢測(cè)Cookie注入點(diǎn)risk=2
:?jiǎn)⒂脮r(shí)間盲注提高成功率technique=B
:專注布爾盲注(DVWA High特性)
四、性能與效果對(duì)比
1. 測(cè)試數(shù)據(jù)統(tǒng)計(jì)
參數(shù)組合 | Payload數(shù)量 | 平均檢測(cè)時(shí)間 | 注入檢出率 |
---|---|---|---|
level1+risk1 | 15 | 1-2分鐘 | 65% |
level3+risk2 | 80 | 5-8分鐘 | 92% |
level5+risk3 | 200+ | 15-30分鐘 | 98% |
2. 資源消耗對(duì)比
參數(shù)組合 | CPU占用 | 網(wǎng)絡(luò)流量 | 數(shù)據(jù)庫負(fù)載 |
---|---|---|---|
level1+risk1 | 低 | <1MB | 很低 |
level3+risk2 | 中 | 3-5MB | 中等 |
level5+risk3 | 高 | 10MB+ | 高 |
五、高級(jí)技巧
1. 智能參數(shù)調(diào)整
# 自動(dòng)升級(jí)level
sqlmap -u "URL" --level=1 --smart
?
# 基于響應(yīng)的動(dòng)態(tài)調(diào)整
sqlmap -u "URL" --adaptive
2. 特定場(chǎng)景優(yōu)化
# 只測(cè)試時(shí)間盲注(減少噪音)
sqlmap -u "URL" --technique=T --level=3 --risk=2
3. 結(jié)果穩(wěn)定性提升
# 增加延遲減少誤報(bào)
sqlmap -u "URL" --delay=1
六、安全注意事項(xiàng)
法律合規(guī):
始終獲取書面授權(quán)
避免在業(yè)務(wù)高峰時(shí)段測(cè)試
風(fēng)險(xiǎn)控制:
# 設(shè)置安全上限
sqlmap -u "URL" --safe-freq=10 --safe-url="http://example.com/healthy.html"日志特征:
# 使用tamper腳本減少日志特征
sqlmap -u "URL" --tamper=space2comment
通過合理組合 --risk
和 --level
參數(shù),可以在安全性和檢測(cè)效果之間取得最佳平衡。建議從低級(jí)別開始,根據(jù)結(jié)果逐步提升測(cè)試強(qiáng)度。
到此這篇關(guān)于SQLMap 參數(shù)--risk 與 --level 深度解析的文章就介紹到這了,更多相關(guān)SQLMap 參數(shù)--risk 與 --level內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQL update select結(jié)合語句詳解及應(yīng)用
這篇文章主要介紹了SQL update select結(jié)合語句詳解及應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03數(shù)據(jù)庫 MySQL中文亂碼解決辦法總結(jié)
這篇文章主要介紹了數(shù)據(jù)庫 MySQL中文亂碼解決辦法總結(jié)的相關(guān)資料,數(shù)據(jù)庫保存中文字符,所以經(jīng)常遇到數(shù)據(jù)庫亂碼情況,這里提供了幾種方法,需要的朋友可以參考下2017-03-03SQLite3數(shù)據(jù)庫的介紹和使用教程(面向業(yè)務(wù)編程-數(shù)據(jù)庫)
這篇文章主要介紹了SQLite3數(shù)據(jù)庫的介紹和使用(面向業(yè)務(wù)編程-數(shù)據(jù)庫),本文從SQLite3的庫的獲取、工程管理、SQL語句介紹、C語言編程四個(gè)角度闡述了SQLite3數(shù)據(jù)庫的實(shí)際應(yīng)用,需要的朋友可以參考下2023-05-05SqlServer GO命令循環(huán)使用實(shí)例代碼
這篇文章主要介紹了SQL SERVER GO命令循環(huán)使用實(shí)例代碼,通過go命令來達(dá)到語句循環(huán)效果,需要的朋友可以參考下2018-08-08MSSQL??附加數(shù)據(jù)庫提示“錯(cuò)誤?823”數(shù)據(jù)恢復(fù)實(shí)操
這篇文章主要介紹了MSSQL?2000?附加數(shù)據(jù)庫提示“錯(cuò)誤?823”數(shù)據(jù)恢復(fù)實(shí)操,報(bào)錯(cuò)823一般數(shù)據(jù)庫的物理頁面出現(xiàn)了損壞或者校驗(yàn)值損壞導(dǎo)致數(shù)據(jù)庫頁面無法被識(shí)別還有異常斷電導(dǎo)致的文件系統(tǒng)損壞,數(shù)據(jù)庫頁面丟失,下面針對(duì)錯(cuò)誤?823對(duì)數(shù)據(jù)進(jìn)行恢復(fù),需要的朋友可以參考一下2022-03-03