Shikata Ga Nai

Private? There is no such things.

Access control

【有料試作版】PortSwigger LAB攻略:Multi-step process with no access control on one step

Hello there, ('ω')ノ このLABは「管理者パネルの多段階フローのうち、ある1ステップだけ認可チェックが抜けている」という典型的なアクセス制御不備を突きます。 ゴールは、一般ユーザー wiener:peter でログインした状態から、自分のロールをadministrator…

LAB: Referer ヘッダーを利用したアクセス制御の回避

Hello there, ('ω')ノ ゴール ユーザー wiener を管理者に昇格する Referer ヘッダーを偽装して管理者専用機能を実行 手順 Step 1: 管理者で通常操作を確認 administrator:admin でログイン /admin パネルへアクセス ユーザー carlos を昇格させる操作を行…

LAB: 複数ステップ処理の一部にアクセス制御が欠落している脆弱性の攻略

Hello there, ('ω')ノ ゴール 非管理者ユーザー wiener を管理者に昇格させる 脆弱性は「昇格処理の確認ステップ」にアクセス制御がかかっていないこと 手順 Step 1: 管理者で通常の昇格処理を確認 administrator:admin でログイン /admin パネルにアクセス…

複数ステップ処理におけるアクセス制御の脆弱性と回避方法

Hello there, ('ω')ノ 1. 複数ステップ処理のアクセス制御ミス 多くのWebアプリは、重要な操作を複数のステップに分けて実行します。 例:管理者がユーザー情報を更新する場合 ユーザー情報のフォームを表示(Step 1) 変更内容を送信(Step 2) 確認画面で…

LAB: HTTPメソッドベースアクセス制御の回避

Hello there, ('ω')ノ ラボの目標 /admin には管理者のみアクセス可能 管理者は特定の機能(ユーザー昇格)を POST リクエストで実行できる 非管理者アカウントでメソッド制御を回避し、自分を管理者にする 手順 Step 1: 管理者アカウントで挙動を確認 admi…

LAB: X-Original-URL ヘッダーを使ったURLベースアクセス制御の回避

Hello there, ('ω')ノ ラボのゴール /admin へのアクセスはフロントエンドでブロックされる バックエンドは X-Original-URL ヘッダーを使ってリクエスト先を解釈する これを利用して /admin へアクセスし、carlos を削除する 手順 Step 1: /admin に直接ア…

アクセス制御の破綻:プラットフォーム設定ミスとその悪用手法

Hello there, ('ω')ノ 1. プラットフォーム層でのアクセス制御とは? 一部のアプリケーションでは、サーバーやアプリケーションフレームワークの設定によってアクセス制御を行います。 例えば: DENY: POST, /admin/deleteUser, managers これは「managers …

パラメータによるアクセス制御の落とし穴とその診断方法

Hello there, ('ω')ノ パラメータベースアクセス制御とは? 一部のアプリケーションでは、ユーザーの権限情報を以下の場所に保存して管理します: 隠しフィールド Cookie URLパラメータ(クエリストリング) 具体例:URLパラメータで権限管理しているケース …

セキュリティの誤解!URL隠しによる「セキュリティ・バイ・オブスキュリティ」の危険性

Hello there, ('ω')ノ セキュリティ・バイ・オブスキュリティとは? 機能やデータを「URLを分かりにくくする」「目立たなくする」ことで隠す方法です。 しかし、これは正しいアクセス制御とは言えません。 具体例:予測しにくいURLで管理者機能を隠すケース …

アクセス制御が壊れているとは?

Hello there, ('ω')ノ 本来、許可されていないユーザーが、データを見たり操作したりできてしまう状態です。 具体例1: 垂直的権限昇格(Vertical Privilege Escalation) どんな状態? 一般ユーザーが、本来管理者だけができる操作を行えてしまうケース。 例…

アクセス制御とは?

Hello there, ('ω')ノ アクセス制御とは、「誰がどの操作やデータにアクセスできるか」を制限する仕組みです。特にWEBアプリケーションでは以下の3つが関係します。 認証(Authentication) ユーザーが「本人である」ことを確認します。 セッション管理(Ses…

LAB: Insecure Direct Object References(IDOR)によるチャットログ漏洩とアカウント乗っ取り

Hello there, ('ω')ノ 目的 チャットログのURL構造から他ユーザーのログにアクセス。 ログ内に記載された carlos のパスワードを見つける。 その情報でログイン → ラボクリア。 手順(Burp Suite不要、ブラウザ操作で可) 1. チャット機能を利用する 「Liv…

Insecure Direct Object References(IDOR)とは?—アクセス制御をすり抜ける脆弱性の代表例

Hello there, ('ω')ノ IDORとは? IDOR(インセキュア・ダイレクト・オブジェクト・リファレンス) とは、Webアプリケーションがユーザーからの入力値を使って直接オブジェクト(データやファイル)を参照している場合に、攻撃者がその入力値を改ざんするこ…

LAB: リダイレクトレスポンスで機密情報が漏洩するIDOR攻撃の実例

Hello there, ('ω')ノ 目的 自分のアカウントページにアクセス。 id パラメータを carlos に改ざんして、carlos のアカウント情報を不正に取得。 レスポンスはリダイレクト(302)だが、本文に API キーが含まれている。 APIキーを抽出して提出 → ラボクリ…

セッション管理に失敗したリダイレクトレスポンスによる情報漏洩

Hello there, ('ω')ノ 脆弱性の概要 Webアプリケーションは、不正なアクセスを検出すると以下のような動作をします: HTTP/1.1 302 Found Location: /login → これは「ログインページへのリダイレクト」で、未認証または不正ユーザーに対してアクセスを拒否…

LAB: リクエストパラメータによるユーザーID制御の脆弱性(水平権限昇格)

Hello there, ('ω')ノ 目的 通常ユーザー(wiener)としてログイン。 自分のアカウントページで使用されている id パラメータを確認。 id=carlos に書き換えてユーザー「carlos」のAPIキーを取得。 このAPIキーを提出してラボをクリア。 アカウント情報 ユ…

水平方向の権限昇格(Horizontal Privilege Escalation)とは?IDORによる典型的な攻撃パターンを理解する

Hello there, ('ω')ノ 水平方向の権限昇格とは? 水平方向の権限昇格とは、本来アクセスできるはずのない他のユーザーの情報や機能にアクセスしてしまうことを指します。これは「同じレベルのユーザー権限内」での不正アクセスを意味します。 例: 従業員A…

LAB: ユーザープロファイルでロールIDを改ざんして管理者になる方法

Hello there, ('ω')ノ ラボの目的 通常ユーザーとしてログイン。 プロファイル情報(メールアドレスなど)を更新するリクエストの中で、roleid を 2(管理者)に書き換える。 /admin にアクセスできるようになったら、ユーザー carlos を削除。 成功すれば…