Burp SuiteのTurbo intruderを使用してrace conditionを調査する方法。
- BApp StoreからTurbo Intruderを入れる
- 大量に送信したいリクエストを1つキャプチャする
- Proxy > HTTP historyから当該リクエストを右クリック → Send to turbo intruder
-
下記スクリプトを入力 (https://github.com/PortSwigger/turbo-intruder/blob/master/resources/examples/race.py をベースに微修正)
# script for testing race condition def queueRequests(target, wordlists): engine = RequestEngine(endpoint=target.endpoint, concurrentConnections=30, requestsPerConnection=100, pipeline=False ) for i in range(30): engine.queue(target.req, i, gate='race1') engine.openGate('race1') engine.complete(timeout=60) def handleResponse(req, interesting): table.add(req)
リクエストのどこかに
%s
を入れる (X-Intruder: %s
ヘッダ追加など)Attackボタンをクリック、またはCommand-Enter (Mac)