Shikata Ga Nai

Private? There is no such things.

バグバウンティを始めるための具体的な準備ガイド

Hello there, ('ω')ノ

1. セキュリティ基礎を「具体的に」身につける方法

● 学ぶべきポイント

  • CIA三要素とは?
    • C(機密性): 見てはいけない人に見られないようにする
    • I(完全性): データが勝手に書き換えられないようにする
    • A(可用性): 必要なときにサービスが動いている状態

これらを理解しておくと、「なぜそれが脆弱性なのか?」を説明できるようになります。

● 学習方法(初心者向け)

  • YouTubeで「Cybersecurity Basics」の入門動画を見る
  • Udemy の初級サイバーセキュリティコースを受講
  • 「IPA セキュリティ初心者向け資料」を読む(日本語で分かりやすい)

2. プログラミングを「どれくらい」できればいいのか?

バグを見つけるのに“フルスタックエンジニアになる必要はありません”。
最低限、以下ができれば問題ありません。

● 最低限できればOKなスキル

言語 何ができればいい?
JavaScript 変数・関数・DOM操作の基本 XSSの挙動を理解する
Python 簡単なスクリプトが書ける 自動化ツールの作成
SQL SELECT文が分かる SQLインジェクションの理解

● 実践的な学習方法

  • JavaScript: MDN Web Docs のチュートリアル
  • Python: 「Python入門 無料」で検索してハンズオンサイトで実習
  • SQL: SQLBolt で無料練習

3. Web の仕組みを“図で理解する”

● Web の超基本(例:ユーザがログインするとき)

  1. ユーザがログイン情報を入力
  2. ブラウザがサーバに「ログインしたい」とリクエスト
  3. サーバは情報をチェックしてOKならセッションを発行
  4. 以降のアクセスではセッションIDが使われる

この流れを理解しておくと、たとえば
- セッションが盗まれる
- 認可が甘くて他人のデータが見える

などの異常に気づきやすくなります。


4. よく出る脆弱性と“具体的な例”

● Webで特に狙いやすいもの

  1. XSS(クロスサイトスクリプティング)

    • 例:コメント欄に <script>alert(1)</script> を入れるとポップアップが出る
    • 理由:入力がサニタイズされていない
  2. SQLインジェクション

    • 例:ログインフォームに ' OR '1'='1 を入れると突破できる
    • 理由:SQLがそのまま実行される
  3. IDOR(不適切なアクセス制御)

    • 例:/user/1234/user/1235 に変えると他人の情報が見える
  4. 認証・認可の不備

    • 例:ログインせずに管理画面にアクセスできるページがある

5. このツールを使えればバグ調査が一気に楽になる

● 必須ツール(初心者でも安心)

  1. Burp Suite(無料版でOK)

    • Webの通信を覗ける
    • リクエストを書き換えて挙動を確認できる
  2. Nmap

    • サーバのポートスキャンを行うツール
  3. OWASP ZAP

    • 無料の脆弱性スキャナ
    • GUIで簡単に操作可能

● 最初に必ずやること

  • Burp Suiteで プロキシ を設定して、ブラウザの通信を確認できるようにする
  • 小さいテストサイトで「リクエストを目で見る」練習をする

6. 安全に練習できる「具体的な練習環境」

● 無料で練習できる環境(初心者向け)

サイト 内容
PortSwigger Web Security Academy XSS、SQLi、IDORなどを実際に攻撃して学べる
HackTheBox(初級ラボ) サーバ攻撃やWeb脆弱性の練習
TryHackMe チュートリアル形式で学べる。日本語記事も多い
OWASP Juice Shop 爆発的に難易度が上がるが最高の教材

● 練習の順番

  1. XSS の簡単なラボを解く
  2. SQLインジェクションの簡単なラボを解く
  3. Burp Suite でリクエストを編集できるようになる
  4. Juice Shop を1問でも解ければかなり成長している証拠

7. 実際のバグバウンティの進め方(ステップごと)

Step 1:対象を調べる(Recon)

  • ドメイン
  • サブドメイン
  • 公開API
  • 使われている技術(CMS、クラウド、プラットフォーム)

Step 2:攻撃ポイントを探す

  • 入力フォーム
  • APIパラメータ
  • 認証周り
  • ファイルアップロード機能
  • 権限チェックの甘さ

Step 3:試す・記録する

  • Burp Suite でリクエストを書き換える
  • レスポンスとの差異を見る
  • 再現手順をメモる

Step 4:再現性のあるものだけ報告

曖昧なものは送りません。
「原因・手順・影響・改善策」の4つが書ける状態にすること。


まとめ:今日からできる3つのアクション

  1. Burp Suite をインストールして通信を見てみる
  2. Web Security AcademyのXSS入門を1つ解く
  3. ログインの仕組みの図を紙に書いてみる

この 3 点ができれば、バグバウンティの“スタートライン”に立てます。

Best regards, (^^ゞ