Hello there, ('ω')ノ
403 Forbidden バイパスの基本的な考え方
403エラーが返る場合、以下の2つに大別されます。
- アプリケーションレベルでのアクセス制御(例:認証・IP制限)
- WAFやリバースプロキシレベルの制御(例:Cloudflare、AWS API Gateway など)
まずはどちらが原因か仮説を立てつつ、さまざまなリクエストを試すことが重要です。
公開事例から学ぶ:具体的なバイパス手順
以下は、実際にバイパス成功が報告されている手順をまとめたものです。
1. Host ヘッダー偽装
- やること:Host ヘッダーを本来とは異なるドメイン名に変更。
- 目的:リバースプロキシ側のルールミスを突く。
- 例:
Host: example.com → Host: anotherdomain.com
2. X-Original-URL / X-Rewrite-URL ヘッダー利用
- やること:追加ヘッダーを使ってリクエストパスを上書き。
- 目的:バックエンドとの通信ルールを回避。
- 例:
X-Original-URL: /
X-Rewrite-URL: /
3. X-Host ヘッダー偽装(公開事例で突破)
- やること:X-Host ヘッダーに別のドメインを指定。
- 目的:一部のWAFやProxyがX-Hostを優先する設定を突く。
- 例:
X-Host: bypassed.com
- 備考:PUTメソッドとの組み合わせが有効なケースあり。
4. HTTPメソッド切り替え
- やること:GET → PUT や OPTIONS などメソッドを変える。
- 目的:サーバ側ルールがメソッド依存の場合を想定。
重要ポイント
- 単純なGET/POSTだけに頼らず、すべてのHTTPメソッドを試すこと
- すべての関連ヘッダーを一通り試すこと
- レスポンス内容を細かく観察すること(ステータスコードだけでなく本文も)
403 Forbidden バイパス チェックリスト
以下は汎用的なチェックリストです。 各項目を順番に試すことで、見落としなく検証できます。
✅ HTTPヘッダー関連
- [ ] Host ヘッダーを別ドメインに変更
- [ ] X-Forwarded-Host ヘッダー追加
- [ ] X-Original-URL ヘッダー追加
- [ ] X-Rewrite-URL ヘッダー追加
- [ ] X-Host ヘッダー追加(特に要チェック)
- [ ] Referer ヘッダー偽装
- [ ] X-Forwarded-For ヘッダー追加
✅ HTTPメソッド関連
- [ ] GET
- [ ] POST
- [ ] PUT(X-Hostと組み合わせ推奨)
- [ ] OPTIONS
- [ ] DELETE
✅ URL・パス関連
- [ ] サブドメインの切り替え(www、adminなど)
- [ ] ファイル拡張子の変更(.php → .html など)
- [ ] クエリパラメータの追加・変更
✅ レスポンス確認関連
- [ ] ステータスコードの変化チェック
- [ ] レスポンス本文の微妙な違い確認
- [ ] Cookieセット有無の確認
- [ ] リダイレクト有無の確認
おわりに
403 Forbidden 対策はシンプルなようで奥が深い分野です。 公開されている手法を再現・応用しつつ、自分の検証環境でも試してみることで 理解がより深まるはずです。
Best regards, (^^ゞ