6.8 KiB
パラメータ汚染
htARTE(HackTricks AWS Red Team Expert) を通じてゼロからヒーローまでAWSハッキングを学ぶ!
HackTricks をサポートする他の方法:
-
HackTricks で企業を宣伝したいまたは HackTricks をPDFでダウンロードしたい場合は、SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを発見し、独占的なNFTsのコレクションを見る
-
**💬 Discordグループ**に参加するか、telegramグループに参加するか、Twitter 🐦で @carlospolopmをフォローする。
-
HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングテクニックを共有してください。
HTTPパラメータ汚染(HPP)概要
HTTPパラメータ汚染(HPP)は、攻撃者がHTTPパラメータを操作してWebアプリケーションの動作を意図しない方法で変更する技術です。この操作は、HTTPパラメータを追加、変更、または複製することによって行われます。これらの操作の影響はユーザーに直接は見えませんが、サーバーサイドでアプリケーションの機能を大幅に変更し、クライアントサイドにも影響を与える可能性があります。
HTTPパラメータ汚染(HPP)の例
銀行アプリケーションの取引URL:
- 元のURL:
https://www.victim.com/send/?from=accountA&to=accountB&amount=10000
追加の from
パラメータを挿入することで:
- 操作されたURL:
https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC
取引が accountA
の代わりに誤って accountC
に請求される可能性があり、HPPが取引やパスワードリセット、2FA設定、またはAPIキーのリクエストなどの機能を操作する可能性を示しています。
技術固有のパラメータ解析
- パラメータが解析および優先される方法は、基礎となるWeb技術に依存し、HPPの悪用方法に影響を与えます。
- Wappalyzerのようなツールは、これらの技術とその解析動作を特定するのに役立ちます。
PHPとHPPの悪用
OTP操作のケース:
- コンテキスト: OTPを必要とするログインメカニズムが悪用されました。
- 方法: Burp Suiteなどのツールを使用してOTPリクエストを傍受し、HTTPリクエストで
email
パラメータを複製しました。 - 結果: 初期のメール用に意図されたOTPが、操作されたリクエストで指定された2番目のメールアドレスに送信されました。この欠陥により、意図されたセキュリティ対策を回避して、不正アクセスが可能となりました。
このシナリオは、最初の email
パラメータをOTP生成に処理し、最後のパラメータを配信に使用したアプリケーションのバックエンドでの重大な見落としを示しています。
APIキー操作のケース:
- シナリオ: アプリケーションがユーザーにプロファイル設定ページを介してAPIキーを更新することを許可しています。
- 攻撃ベクトル: 攻撃者が、POSTリクエストに追加の
api_key
パラメータを追加することで、APIキー更新機能の結果を操作できることを発見しました。 - 手法: Burp Suiteのようなツールを使用して、攻撃者はリクエストを作成しました。このリクエストには2つの
api_key
パラメータが含まれており、1つは正当で、もう1つは悪意を持っています。サーバーは最後の出現のみを処理し、APIキーを攻撃者が提供した値に更新します。 - 結果: 攻撃者は被害者のAPI機能を制御し、権限なくプライベートデータにアクセスしたり変更したりする可能性があります。
この例は、特にAPIキー管理などの重要な機能での安全なパラメータ処理の必要性をさらに強調しています。
パラメータ解析: Flask vs. PHP
Web技術が重複するHTTPパラメータを処理する方法は異なり、HPP攻撃への脆弱性に影響します:
- Flask: クエリ文字列
a=1&a=2
で最初に遭遇したパラメータ値を採用し、初期のインスタンスを後続の重複よりも優先します。 - PHP(Apache HTTP Server上): 逆に、与えられた例では
a=2
を選択し、最後のパラメータ値を優先します。この動作は、攻撃者の操作されたパラメータを元のパラメータよりも優先することで、意図しないHPP攻撃を間接的に容易にする可能性があります。
参考文献
- https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654
- https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution
htARTE(HackTricks AWS Red Team Expert) を通じてゼロからヒーローまでAWSハッキングを学ぶ!
HackTricks をサポートする他の方法:
-
HackTricks で企業を宣伝したいまたは HackTricks をPDFでダウンロードしたい場合は、SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを発見し、独占的なNFTsのコレクションを見る
-
**💬 Discordグループ**に参加するか、telegramグループに参加するか、Twitter 🐦で @carlospolopmをフォローする。
-
HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングテクニックを共有してください。