mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
88 lines
8.7 KiB
Markdown
88 lines
8.7 KiB
Markdown
# パラメータ汚染
|
||
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
|
||
* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
|
||
|
||
</details>
|
||
|
||
**コピー元**:[**https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654**](https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654)
|
||
|
||
**概要:**
|
||
|
||
HTTPパラメータ汚染(HPP)は、特定の悪意のあるタスクを達成するために、ウェブアプリケーションのHTTPパラメータを汚染することを意味します。これは、ウェブサイトがHTTPリクエスト中に受け取ったパラメータの処理方法を操作することを指します。これにより、ウェブサイトの意図した動作が変更されます。HTTPパラメータ汚染は、単純な攻撃の一種ですが、効果的な攻撃です。
|
||
|
||
パラメータを汚染すると、コードはサーバーサイドでのみ実行され、私たちには見えませんが、結果は画面上で確認できます。その間のプロセスはブラックボックスです。
|
||
|
||
例えば、URL https://www.anybank.com/send には3つのパラメータがあります:
|
||
|
||
1. from:
|
||
2. to:
|
||
3. amount:
|
||
|
||
**URL:https://www.anybank.com/send/?from=accountA\&to=accountB\&amount=10000**
|
||
|
||
これは、accountAからaccountBへの10000のトランザクションを行う通常のURLですが、もしもう1つの同じパラメータ「from:」を追加した場合はどうなるでしょうか。
|
||
|
||
したがって、URLは次のようになります:**https://www.anybank.com/send/?from=accountA\&to=accountB\&amount=10000\&from=accountC**
|
||
|
||
このURLを処理すると、10000のトランザクションがaccountAではなくaccountCから差し引かれます。これが**HTTPパラメータ汚染**攻撃でパラメータを操作する方法です。この脆弱性の範囲は、**GET**リクエストに限定されるわけではありません。**POST**ベースのリクエストでもこの攻撃を実行することができます。パスワードの変更、2FA、コメント、プロフィール写真のアップロード、APIキーが渡されるパラメータ、OTPなど、多くの場所でこの脆弱性を試すことができます。
|
||
|
||
パラメータを操作すると、それぞれのウェブ技術がパラメータを解析する方法によって操作が異なります。ウェブ技術は「[Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/)」を使用して特定することができます。以下は、いくつかの技術とそのパラメータ解析のスクリーンショットです。技術とそのパラメータ解析
|
||
|
||
![Image for post](https://miro.medium.com/max/1760/1\*POs4sP0fQVlPvTH9vw1U-A.jpeg)
|
||
|
||
私は、この脆弱性を見つけた1つの事例を共有したいと思います。この脆弱性を利用してアカウントを乗っ取ることができました。
|
||
|
||
**どのようにしてこの脆弱性を見つけましたか?**
|
||
|
||
1. そのプログラムのログインページに移動し、ログインのためにOTPを要求されました。
|
||
|
||
OTPを送信
|
||
|
||
![Image for post](https://miro.medium.com/max/600/1\*s-M09yWBylPVEhA6\_e0nSw.jpeg)
|
||
|
||
2. メールアドレスを入力し、「ワンタイムパスワードを送信」をクリックしました。
|
||
|
||
3. Burp Suiteを使用してリクエストを傍受し、同じパラメータを使用して別のメールアドレスを追加しました(テスト目的で2つのメールアドレスを作成しました)。
|
||
|
||
Burpリクエスト
|
||
|
||
![Image for post](https://miro.medium.com/max/1737/1\*z\_RpnZyKHLn6B4Lz4ONT3Q.png)
|
||
|
||
4. 別のアカウント(radhika....@gmail.com)にshrey....@gmail.comのOTPが届きました。
|
||
|
||
OTP
|
||
|
||
![Image for post](https://miro.medium.com/max/784/1\*a671GrRtiMYfLUL7nURD8Q.png)
|
||
|
||
5. OTPをコピーして、そのプログラムのログイン画面でshrey....@gmail.comに移動し、このOTPを入力しました。すると、アカウントにログインできました。
|
||
|
||
アカウント乗っ取り
|
||
|
||
![Image for post](https://miro.medium.com/max/1698/1\*Ux-ILfCr\_Mk\_xmzzsXwNnA.jpeg)
|
||
|
||
ここで起こったことは、バックエンドアプリケーションが最初の「**email**」パラメータの値を使用してOTPを生成し、2番目の「**email**」パラメータの値を使用して値を提供したため、shrey....@gmail.comのOTPがradhika....@gmail.comに送信されたということです。
|
||
|
||
**注意:**4番目のステップの画像では、radhika....@gmail.comにOTPが届いたというメッセージが表示されたため、混乱しました。したがって、パラメータが汚染されておらず、OTPがradhika....@gmail.comのためのものだと思いましたが、shrey....@gmail.comでOTPを試したところ、機能しました。
|
||
## Flask & PHP
|
||
|
||
[**この解説**](https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution)では、FlaskとPHPが実行されているApache HTTP Server上で、`a=1&a=2`というHTTPクエリがどのように解釈されるかが示されています。Flaskでは、パラメータは`1`(最初の出現)になりますが、PHPでは`2`(最後の出現)になります。
|
||
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
|
||
* [**公式のPEASS & HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**をフォロー**してください。
|
||
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
|
||
|
||
</details>
|