Burp Suiteな1か月
Burp三昧
「burp」の意味を検索すると「げっぷ」、だそうです。
げっぷの擬音語がそのまま、単語になったとか。
なぜWeb脆弱性診断ツールにその名前を付けるのか理解に苦しむところです。
前回から1か月ほど、Web Security AcademyでBurp Suiteを使いながら勉強していますが、まさに「げっぷ」がしたくなるほど、お腹いっぱいです。
ラーニングコース詳細
Web Security Academyのラーニングコースを表にしてみました。
大分類 | 中分類 | ラボの数 |
Server-side topics | SQL injection | 16 |
Authentication | 14 | |
Directory traversal | 6 | |
command injection | 5 | |
Business logic vulnerabilities | 11 | |
Information disclosure | 5 | |
Access control | 13 | |
Server-side request forgery (SSRF) | 7 | |
XML external entity (XXE) injection | 9 | |
Client-side topics | Cross-site scripting(XSS) | 30 |
Cross-site request forgery (CSRF) | 8 | |
Cross-origin resource sharing (CORS) | 4 | |
Clickjacking (UI redressing) | 5 | |
DOM-based vulnerabilities | 7 | |
WebSockets | 3 | |
Advanced topics | Insecure deserialization | 10 |
Server-side template injection | 7 | |
Web cache poisoning | 13 | |
HTTP Host header attacks | 6 | |
HTTP request smuggling | 12 | |
OAuth authentication | 6 |
上記コースが用意されていて、上から順番にやっていきました。
1日2-5個づつのラボ、30分-2時間でこなしていくペースで、なんとかAdvanced topicsに到達しました。
こんな進捗画面も表示されると、コンプリートを目指したくなる。
1か月やってみて
以下3点の気づきがありました。
- すべて動画のレクチャーがあるわけでない
- 無料のBurp Suite Community Editionではクリアできないものがある
- Burp Suiteのみの講座ではない
順番に記載します。
1. すべて動画のレクチャーがあるわけでない
基本、英語の説明なので、分からない場合は動画を見て、Burp Suiteの使い方を学びました。動画も基本的に英語なのですが、画面キャプチャーなので、音声無しでOK。ただ、後半のラボから動画がないことが多い。
けれども、検索するとyoutube動画が見つかることもあるが、少しバージョンが古かったりする。
動画のリンクが「Community solutions」となっているので、コミュニティの善意に支えられているのでしょうか。
2. 無料のBurp Suite Community Editionではクリアできないものがある
無料のCommunity Editionでどこまでできるか確認するのも、課題の一つ。
基本的に、以下の機能を使用することが多い。有料版との機能差はあまりないらしい。
- Proxy
- Repeater
- Intruder
- Decoder
これ以外に、「Burp Collaborator」を使わないといけないラボがある。これは有料版でないと使えない機能らしく、ここまでで10個程度が該当している。
あと、Intruderで総当たり攻撃ができるのだが、Community Editionではスピードが遅い、らしい。動画を見ると、あっという間に総当たり攻撃が完了している。
Community Editionでは、実行時に、毎回以下のメッセージが表示される。
4桁の数字の総当たり攻撃の場合、10,000回のリクエストを投げることになるが、500回くらいで、リクエストの間隔がどんどん伸びていき、2-3日かかりそうな気配だったので諦めました。
3. Burp Suiteのため、だけの講座ではない
講座はWebアプリケーション全般の攻撃を解説している。Burp Suiteを使わなくても、やられサイトのフォームに、XSSやSQLインジェクションのペイロードを流し込むことでクリア、となることもある。
逆に、Burp Suiteだけなく、別のオープンソースを使う場合もある。「Insecure deserialization」という単元では、Javaのシリアライズをオープンソースのツールで行い、その結果をBurp Suiteで流し込む、というラボの課題でした。
Burp Suiteの宣伝、のみが目的という訳ではなく、Webアプリケーションの脆弱性の警鐘を鳴らす意図を感じます。
まとめ
Web Security Academyで、無料のBurp suite Community Editionでも十分に学習効果は得られる。
ラボをコンプリートするためには、Professional Editionが必要だが、30日無料トライアルでいけそう。
なんとか2か月で完了を目指す。
つ・づ・く