11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

目的

BurpのIntruder機能について、復習がてらまとめてみようと思います。

記事は自身で作成したサイトに対し行っています。
絶対に他者の環境に対して行わないでください。行う場合は自身で環境を用意しましょう。

使用ツール

Burp Suite Professional Java版 Ver2023.11.1.3

PortSwagger Burpについては公式ページを参考ください。
https://portswigger.net/burp

基本編

Intruderの基本的な使い方はリクエストパラメータに一定の値を挿入し、脆弱性がないか調べるという使い方となります。
説明だけだと難しいので流れで説明していきます。

  1. Burpを起動しProxyタブを開きます。
  2. 対象を右クリックし、Send To Intruderを行いIntruderタブへ登録します。
     (もしくはCtrl+I)
    image.png
  3. Intruderタブを開き、変更したいリクエストパラメータを範囲選択、ADDをクリックします。
    今回の例では_tokenパラメータの値を範囲選択しています。
    image.png
    ※パラメータ全体を変更したい場合は、メニューのIntruder > Automatic payload positions から、Replace base parameter valueを、パラメータの末尾に別のパラメータを追加したい場合はAppend to base parameter valueを選択してください。
  4. 範囲選択ができたら、変更先のパラメータをPayloadsタブで登録します。
  5. Payload settings[Simple list]に変更先パラメータを入力し、ADDを押下します。
    今回の例ではnullという値を入力しています。
    image.png
  6. 登録できたら、Postionsタブに戻り、Start attackを押下します。
    image.png
  7. そうすると、_tokenの値がnullに変更され送信されたことが分かります。
    通常時の値(正常値)
    image.png
    変更後の値
    image.png

Payload settings[Simple list]に登録する値を増やすことで様々な値を連続して送信することができます。
また、ファイルからlistを読み込むこともできるので、よく使うパラメータはファイルとして所持しておくのもいいかもしれません。
image.pngimage.png

応用編

ここまでは基本的な使い方でした。
設定方法によって様々な使い方ができます。
いくつか記載します。

Attack typeの設定による送信

image.png

Sniper

基本編で説明したPayloadを1つまたは複数設定し送信する方法です。

Battering ram

Sniperとの違いは、複数パラメータを設定した場合、同時にPayloadを設定し送信します。
・Sniperの場合
image.png
・Battering ramの場合
※_tokenとnameというパラメータに同時にnullを設定します。
image.png

Pitchfork

複数パラメータを設定した場合、それぞれに別のパラメータを同時に送信します。
Payloads設定に、Payload setを使用し設定します。
例えば、payload set[1]にnull、payload set[2]に'nullを設定した場合、_tokeにnullを、nameに'nullを設定し同時に送信します。
image.png
image.png

Cluster bomb

複数のパラメータに異なるPayload setを順番に実行します。各セットのPayloadを順番に配置し、すべてのPayloadの組み合わせを送信します。
image.png

Payload setの設定による送信

image.png

Simple list

基本編で説明したListに沿ってパラメータを変更していく方法です。

Runtime file

非常に大きなペイロードリストを実行する際に、RuntimeFileから値を読み込んで使用することができます。
実行時に1行1行読み込まれるため、メモリへの負荷をさげることができます。
※私自身は使用したことはありません。

Custom iterator

一定の規則によってパラメータを書き換えたいときに使用します。
例えば以下の場合Payload SettingsのPosition[1]にAとB、Postion[2]にAとBとCを設定することで自動でパラメータを生成、セットしてくれます。
送信パラメータ:AA,BA,AB,BB,AC,BC(=AA,AB,AC,BA,BB,BC)
image.png
image.png
image.png

Null payloads

パラメータを設定せずに送信します。ResourcePoolとの組み合わせで応答時間の確認やレースコンディションの確認に使用します。

最後に

他にも様々な使い方がありますので、公式ページも参考にしてみてください。
よいクリスマスを。
https://portswigger.net/burp/documentation/desktop/tools/intruder

11
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?