1。プラグインの紹介
Turbointruderは、多数のHTTPリクエストを送信し、結果を分析し、10億のリクエスト攻撃を採用するげっぷスイート拡張プラグインです。これは、Burpintruderを例外速度、期間、または複雑さを必要とする攻撃で補足するように設計されています。
2。プラグインの原理
最初の要求を使用して接続を確立します。その後のリソースの獲得は、この接続を通じてリソースの長い接続を取得することです。また、HTTPパイプライン(HTTPパイプライン)を使用してリクエストを送信します。このメソッドは、前のリクエストの応答を待っている間に次のリクエストを送信します。送信プロセス中、サーバーが前のリクエストに応答するのを待つ必要はありません。ただし、クライアントは、リクエストが送信される順序で応答を受信する必要があります。 HTTPパイプラインを介してリクエストを開始することは、短い接続の速度の6000%です(Connection: close)
3。インストール方法
インストールターボインクループラグインBURPスイート
iv。使用方法
パケットを選択して右クリックしてターボ侵入者に送信を選択します(パケットはここでrawいなければなりません。クロールがない場合は、チューブ侵入者への送信メニューは表示されません)
この時点で、新しいウィンドウが開きます。ウィンドウの上部は元のHTTPリクエストパッケージ、下部は操作コード、中央部はシーンに応じてドロップダウンボックスから特定の操作コードを選択できます。開くたびに、デフォルトは最後のコードで使用されています。これは前回使用されるコードです。
コード領域は、ファズする必要がある部品の代わりに「%s」文字を使用する必要があります。対応する操作コードを選択し、下部の攻撃をクリックして攻撃を開始します。特定の使用法の詳細については、それらを3番目のパートの使用シナリオと組み合わせることができます。
5。使用シナリオ
1。検証コードブラスト
主に携帯電話の検証、電子メール検証コードログイン、パスワード回復機能に表示されます。検証コードの爆発では、ユーザーがユーザーを引き継ぐ機能を達成するためにユーザー名の列挙が必要です。
検証コードブラスト操作コード:
Itertools Import製品から
def brute_veify_code(ターゲット、エンジン、長さ):
pattern='1234567890'#辞書の生成に使用される#iterativeオブジェクト
リスト(製品(パターン、繰り返し=長さ)): #Product()のIの場合、複数の反復オブジェクトを受信し、デカルト製品を生成します。繰り返しパラメーターは、反復オブジェクトの数を表します。
code='' .join(i)
Engine.Queue(ターゲット.req、コード)
def queuerequests(ターゲット、ワードリスト):
Engine=requestEngine(endpoint=target.endpoint、#ターゲットのアドレスを指定します
concurrentConnections=30、#makeサーバーとの30接続
RequestSperConnection=100、#send 100の接続ごとに同時に100リクエスト
Pipeline=True #Enable Pipeline(HTTP Pipelining)モード
))
brute_veify_code(ターゲット、エンジン、6)#modify検証コード数字の数に従ってモディー
DEF Handleresponse(REQ、興味深い):
req.response: #operate応答に「エラー」がない場合、テーブルに「エラー」を追加します
Table.Add(req)
デモ:
Baidu WDパラメーターが数値6ビット検証コードであると仮定します。パラメーター値を「%s」に置き換え、上記のコードを操作コード領域にコピーします
攻撃をクリックして攻撃を開始すると、「%s」が生成された辞書コンテンツに置き換えられていることがわかります。 29431リクエストは31秒で正常にリクエストされ、949のRPSで
2。同時テスト
同時脆弱性はビジネスロジックの脆弱性であり、チェックイン、宝くじ、クーポンコレクション、その他の機能ポイントなどの回数を制限する機能ポイントに存在します。並行性テクノロジーを使用してテストして、サーバーが複数回正常に応答できるかどうかを確認します。
同時テストの操作コード:
def queuerequests(ターゲット、ワードリスト):
Engine=requestEngine(endpoint=target.endpoint、
concurrentConnections=30、
RequestSperConnection=100、
パイプライン=false
))
範囲のIの場合(30): #Create 30リクエスト。
Engine.queue(ターゲット.req、ターゲット、baseinput、gate='race1')
#wait各「race1」タグ付けされた要求が準備ができてから、各リクエストの最後のバイトを送信するまで
Engine.opengate( 'race1')#identify同じ同時テストに属する要求
Engine.comPlete(タイムアウト=60)
DEF Handleresponse(REQ、興味深い):
Table.Add(req)
デモ:このコードは、プラグイン /examples/race.pyでオプションです
同時テストでは、元のリクエストパッケージの処理は必要ないため、次の問題に遭遇する可能性があります。
ツール実行プロセスのため、元のリクエストパッケージに「%s」フィールドが必要なため、リクエストパッケージのどこにでも「%s」を追加する必要があります。
3.SMS爆撃
検証コードを取得するためにウェブサイトでユーザー登録ページを見つけました。 x:%sをリクエストヘッダーに追加することを忘れないでください(ターボの%sはburp侵入者の§s§に似ています。反復変数はありませんが、ターボの起動時に%sはチェックされます)このコードはプラグイン /examples/race.py
同時にデータパケットを送信すると、送信結果の長さの大部分は328。328であることがわかります。