API
Hello there, ('ω')ノ SSPP(サーバーサイドパラメータ汚染)は、ユーザー入力がそのまま内部APIや構造化データに使用されることで発生します。これを防ぐには、明確な入力制御とサニタイズ処理が不可欠です。 ✅ 1. エンコーディングポリシーの厳密化 ホワ…
Hello there, ('ω')ノ SSPPのようなサーバー内部で発生するパラメータ操作の脆弱性は、手動テストが中心ですが、Burp Suiteの自動化ツールを併用することで、効率的に疑わしいポイントを洗い出すことが可能です。 Burp Scannerでの自動検出 ✅ 特徴: Burp S…
Hello there, ('ω')ノ 目的 JSONデータの中に含まれるユーザー入力が、サーバー側で不適切に扱われた場合に、新たなパラメータ(例:access_level)を注入できるかどうかを確認することで、サーバーサイドパラメータ汚染が成立するかどうかを検証します。 …
Hello there, ('ω')ノ Server-side Parameter Pollution(SSPP)は、JSONやXMLのような構造化データフォーマットでも発生する可能性があります。特に、ユーザー入力をサーバーが構造化データとして内部APIに渡す処理で、バリデーションやエンコーディングが…
Hello there, ('ω')ノ RESTful API は、データやリソースをURLパス内に含めて表現するのが一般的です。これにより、URL自体が“パラメータの一部”になるため、パスの構造を操作してサーバー内部APIに影響を与える攻撃が成立することがあります。 目的 URLパ…
Hello there, ('ω')ノ 目的 このラボでは、Server-side Parameter Pollution(SSPP) 脆弱性を利用して、管理者アカウントとしてログインし、ユーザー carlos を削除することでクリアします。 攻撃の手順まとめ ✅ 1. パスワードリセットをトリガー Burpの…
Hello there, ('ω')ノ 目的 本来クエリに含まれているパラメータ(例:name=peter)を、再び同じパラメータ名(name=carlos)で注入して“上書き”を試みる。 攻撃リクエスト例 GET /userSearch?name=peter%26name=carlos&back=/home → サーバー内部の処理で…
Hello there, ('ω')ノ 目的 ユーザーが本来制御できない内部パラメータ(例:email など)を、エンコードした &(%26)を使ってリクエスト中に追加することで、サーバー側のAPIリクエストに余分なデータを差し込む。 攻撃リクエスト例 GET /userSearch?nam…
Hello there, ('ω')ノ 目的 URLエンコードされた & を使って、ユーザーの入力がサーバー内でパースされる際に、“2つ目のパラメータ”として解釈されるかどうかを確認します。 テスト例:パラメータ注入 攻撃リクエスト: GET /userSearch?name=peter%26foo…
Hello there, ('ω')ノ 基本の流れ 通常のリクエスト GET /userSearch?name=peter&back=/home → サーバーが内部で実行するリクエスト(想定): GET /users/search?name=peter&publicProfile=true ✅ publicProfile=true によって、公開プロフィールのみが検…
Hello there, ('ω')ノ テスト対象のリクエスト例 アプリの検索機能が以下のリクエストを発行しているとします: GET /userSearch?name=peter&back=/home このリクエストにより、サーバーは内部APIに以下のリクエストを送信: GET /users/search?name=peter&…
Hello there, ('ω')ノ どうしてSSPPが発生するのか? アプリケーションが外部ユーザーからのリクエストを受け取り、その一部をそのまま内部APIリクエストのパラメータとして埋め込んでいるケースがあります。 例: 通常のフロー ユーザーが以下のURLで検索を…
Hello there, ('ω')ノ ️ 1. APIドキュメントの管理 ✅ 意図しない公開を防ぐ APIが社内用や制限された用途向けである場合、ドキュメントのアクセス制限を必ず設定。 例: /swagger.json, /openapi.yaml をインターネット上に公開しない。 ✅ ドキュメントは常に…
Hello there, ('ω')ノ 目的 Mass Assignment(マスアサインメント)脆弱性を利用して、Lightweight l33t Leather Jacketを割引価格(100%オフ)で購入し、ラボをクリアする。 ログイン情報 ユーザー名: wiener パスワード: peter 手順ガイド ✅ 1. ログイ…
Hello there, ('ω')ノ Mass Assignment脆弱性を見つけ出し、意図しないフィールド(例:isAdmin)を操作できるかどうかを検証するには、リクエスト本文にそのパラメータを直接追加して送信するテストが効果的です。 ステップバイステップ:Mass Assignment…
Hello there, ('ω')ノ Mass Assignment(一括代入)脆弱性の特徴として、開発者が意図していない内部フィールドまでリクエストで操作できてしまう点があります。そのため、APIレスポンスに含まれるオブジェクトの構造を観察することで、隠れたパラメータを特…
Hello there, ('ω')ノ Mass Assignment(マスアサインメント)脆弱性とは、Webアプリケーションがユーザーからのリクエストに含まれるデータを自動的に内部オブジェクトにマッピング(バインド)する際、開発者が意図していないフィールドまで書き換え可能に…
Hello there, ('ω')ノ APIのリコン(情報収集)では、ドキュメントに記載されていない隠しパラメータ(非公開パラメータ)を見つけることがあります。これらのパラメータをうまく使えば、アプリの挙動を変えたり、本来見えない機能にアクセスできたりする可…
Hello there, ('ω')ノ 初期調査でいくつかのAPIエンドポイントを特定したら、Burp Intruderを使ってその周辺にある隠されたエンドポイントを見つけることができます。これは、開発者が使っているが公開していない管理用や開発用の機能を暴き出すのに非常に有…
Hello there, ('ω')ノ 概要 このラボでは、隠されたAPIエンドポイントを特定し、それを悪用して「Lightweight l33t Leather Jacket」を無料で購入することが目的です。エラーメッセージを活用し、適切なリクエストを構築することで、APIの不備を突く方法を学…
Hello there, ('ω')ノ APIは特定のデータフォーマットを想定してリクエストを処理します。しかし、異なるコンテンツタイプ(Content-Type)を送信すると、予期しない動作を引き起こす可能性があります。これを利用すると、エラーメッセージの取得、認証・認…
Hello there, ('ω')ノ APIエンドポイントがどのHTTPメソッドをサポートしているかを調査することは、攻撃対象(アタックサーフェス)を広げる重要な手法です。特定のエンドポイントに対して、予期しないHTTPメソッドが許可されていると、不正アクセスやデー…
Hello there, ('ω')ノ APIエンドポイントを特定したら、実際にリクエストを送信し、その挙動を観察することで、さらなる攻撃対象(アタックサーフェス)を発見できます。Burp Suiteの Repeater と Intruder を活用し、APIの動作を詳しく調査しましょう。 1. …
Hello there, ('ω')ノ APIのエンドポイントを特定することは、APIテストの重要なステップです。APIドキュメントが存在する場合でも、実際のアプリケーションを調査することで、ドキュメントに記載されていないエンドポイントや、仕様と異なる挙動を持つエン…
Hello there, ('ω')ノ APIドキュメントが機械可読な形式(JSONやYAML)で提供されている場合、これを解析し、自動的にAPIの動作を調査することができます。 1. APIドキュメントの機械可読フォーマットとは? 機械可読なAPIドキュメントは、APIの仕様を構造化…
Hello there, ('ω')ノ 概要 このラボでは、APIドキュメントが公開されていることを利用して、特定のエンドポイントを悪用し、carlos ユーザーを削除することが目的です。 手順 1. アプリケーションにログインする Burp Suiteのブラウザを使用し、以下の認証…
Hello there, ('ω')ノ 1. アプリケーションを解析してAPIドキュメントを発見する APIを利用するアプリケーションを調査し、ドキュメントに関連するエンドポイントを探します。以下の方法が有効です。 (1) Burp Suiteを使ったAPIのクロール Burp Scanner を使…
Hello there, ('ω')ノ APIは通常、開発者が利用方法を理解しやすいようにドキュメント化されています。APIのリコン(情報収集)を行う際は、まずドキュメントを確認することで、多くの有益な情報を得ることができます。 1. APIドキュメントの種類 APIのドキ…
Hello there, ('ω')ノ 1. APIエンドポイントの特定 APIエンドポイントとは、APIがリクエストを受け取る場所のことを指します。エンドポイントを特定することで、APIの機能や構造を理解できます。 たとえば、以下のようなGETリクエストがあるとします。 GET /…
Hello there, ('ω')ノ OAuthは、現在のウェブで最も広く使用されている認証(AuthN)および認可(AuthZ)の仕組みの一つです。この技術により、ユーザは複数のアプリケーションにわたって安全にログインし、データを共有できます。しかし、適切に実装しない…