Burp Suite無料版の基本機能
Owasp ZAP派だったが周りはBurp Suite勧める人ばかり。
v2021.2.1はBurp Suiteが青くなったよう。
Burp Suite無料版の基本機能
メイン画面から選択できるように、大きく分けて8つ。
- Target - 検証対象の指定、サイトマップの作成
- Proxy - トラフィックの解析
- Intruder - ブルートフォース、辞書攻撃、色々ファジング
- Repeater - リクエストのリピート
- Sequencer - セッションCookie等の値のランダム性判定
- Decoder - 値のデコード/エンコード
- Comparer - リクエスト、サイトマップ、プロキシ履歴の各々を比較(diffする)
- Extender - 拡張機能の管理
- Burp Suite無料版の基本機能
- 1. Target
- 2. Proxy
- 3. Intruder
- 4. Repeater
- 5. Sequencer
- 6. Decoder
- 7. Comparer
- 8. Extender
- 終わり
1. Target
アクセスするほど、サイトマップが出来上がっていく。サイトを選んで右クリックして[Add to Scope]すると、目的のサーバに対してのみInterceptしたりするようになる。
Burp Target tool - PortSwigger
2. Proxy
プロキシしたリクエスト、レスポンスの確認ができる。[Actions]を押すと、リクエスト・レスポンスを他の機能の場所に送ることができる。
Interceptは[Intercept is on]と光っているときに利用できる。Interceptしたものは書き換えて、[Forward]で送信する。[Action]は他の機能に送るボタンである。
[Open Browser]で、自前のブラウザに設定しなくてもすでにプロキシ設定がされたchromeを起動できる。chromeなので[Open Browser]はroot権限下では実行できない。
.jsファイルやその他のデフォルトでは無視されているファイルをInterceptしたい場合は、[Options] -> [Intercept Client Request]にて[File extension]のルールをEditで編集する必要がある。下のような例では、.jsを消すことで.jsをInterceptしてくれるようになる。
他にも [Intercept Client Request]では、様々なInterceptの条件設定ができる。
3. Intruder
ブルートフォース、辞書攻撃、色々ファジングができる。上のloginフォームに対して、このリストを利用することでSQLiが可能かを検証する場合。
まず、右のボタンで認識された変数みたいなものを[Clean]する。辞書ファイルを回したい部分だけハイライトして、[Add]でPayload Positionに追加する。ここでは、email
のみに対して検証する。一応Attack typeは4種類あるが違いがよく分かっていないし、Sniperが最も使われるのでSniperでやる。(この部分は誰かご教授願います。)
次に、[Payloads]のタブに移り[Payloads Options Simple list]にpayloadを読み込む。コピペしてもいいし、[Load]でファイルから読み込んでも良い。
今回のようにpayloadに記号等が混じる場合には[Payloads]のタブの下の方にある[Payload Encoding]も気にする必要がある。
設定が完了したら右に見えてる[Start Attack]で始まる。出てくる注意は、「無料版だから遅いけど、気になるなら有料版にしてね。」といったような表示である。
とりあえずザラーと結果が流れてくる。
[Filter Showing all items]というところを押すとfilterの設定ができる。
Burp Intruder - PortSwigger
4. Repeater
InterceptしたものやHTTP historyから持ってきたものを個別に送信できる。好きなように編集して[Send]するだけ。
Burp Repeater - PortSwigger
5. Sequencer
セッションCookie等の値のランダム性判定に利用したりする。例えば、上のようなレスポンスにあったcookieのランダム性はどんなもんか[Start Live Capture]で開始する。リクエストが100貯まると[Analyze now]が有効になる。
Burp Sequencer - PortSwigger
6. Decoder
値のデコード/エンコードを行う。
リクエストやレスポンスとをそのまま持ってこれるのは良いかもしれないが、これをデコードやエンコードに利用するかと言われるとどうだろう。
Burp decoder - PortSwigger
7. Comparer
似たようなリクエスト、レスポンスの差分を文字やバイトで探す。
Burp Comparer - PortSwigger
8. Extender
java,python,rubyの拡張機能を追加したりする。表示されているのは以前に利用したhakoniwa badstore。
pythonベースの拡張機能を入れる場合はJython standaloneが必要らしい。
Downloads | Jython
Burp Extender - PortSwigger
終わり
Pro版が欲しい気持ちはある。