mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
80 lines
7.1 KiB
Markdown
80 lines
7.1 KiB
Markdown
# パラメータ汚染
|
||
|
||
<details>
|
||
|
||
<summary><strong>htARTE(HackTricks AWS Red Team Expert)</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>を通じてゼロからヒーローまでAWSハッキングを学ぶ</strong></a><strong>!</strong></summary>
|
||
|
||
HackTricks をサポートする他の方法:
|
||
|
||
* **HackTricks で企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
||
* [**公式PEASS&HackTricksスウォッグ**](https://peass.creator-spring.com)を入手する
|
||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションを見る
|
||
* **💬 [Discordグループ](https://discord.gg/hRep4RUj7f)**に参加するか、[telegramグループ](https://t.me/peass)に参加するか、**Twitter** 🐦で**フォロー**する [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||
* **ハッキングトリックを共有するには、** [**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。
|
||
|
||
</details>
|
||
|
||
# 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](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/)のようなツールは、これらの技術とその解析動作を特定するのに役立ちます。
|
||
|
||
## PHPとHPPの悪用
|
||
|
||
**OTP操作のケース:**
|
||
|
||
- **コンテキスト:** OTPを必要とするログインメカニズムが悪用されました。
|
||
- **方法:** Burp Suiteなどのツールを使用してOTPリクエストを傍受し、HTTPリクエスト内の `email` パラメータを複製しました。
|
||
- **結果:** 初期のメールアドレス用に意図されたOTPが、操作されたリクエストで指定された2番目のメールアドレスに送信されました。この欠陥により、意図されたセキュリティ対策を回避して、不正アクセスが可能となりました。
|
||
|
||
このシナリオは、OTP生成のために最初の `email` パラメータを処理したアプリケーションのバックエンドで重大な見落としが示されていますが、配信には最後の `email` パラメータが使用されました。
|
||
|
||
**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://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654)
|
||
* [https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution](https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution)
|
||
|
||
<details>
|
||
|
||
<summary><strong>htARTE(HackTricks AWS Red Team Expert)</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>を通じてゼロからヒーローまでAWSハッキングを学ぶ</strong></a><strong>!</strong></summary>
|
||
|
||
HackTricks をサポートする他の方法:
|
||
|
||
* **HackTricks で企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
||
* [**公式PEASS&HackTricksスウォッグ**](https://peass.creator-spring.com)を入手する
|
||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションを見る
|
||
* **💬 [Discordグループ](https://discord.gg/hRep4RUj7f)**に参加するか、[telegramグループ](https://t.me/peass)に参加するか、**Twitter** 🐦で**フォロー**する [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||
* **ハッキングトリックを共有するには、** [**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。
|
||
|
||
</details>
|