Hello there, ('ω')ノ
HTTPパラメータの汚染を。
脆弱性:
HTTPパラメータの汚染
記事:
https://shahjerry33.medium.com/http-parameter-pollution-its-contaminated-85edc0805654
概要 :
HTTPパラメータ汚染(HPP)は、特定の悪意のあるタスクを実行するために。
WebアプリケーションのHTTPパラメータを汚染することを意味して。
これは、WebサイトがHTTP要求中に受信したパラメータを。
どのように処理するかを操作することを指して。
Webサイトの動作を意図したものから変更して。
HTTPパラメータの汚染は単純な種類の攻撃ですが、効果的な攻撃で。
パラメータを汚染すると、コードは使用できないサーバ側でのみ実行されるものの。
結果は画面に表示されて。
その間のプロセスはブラックボックスで。
たとえば、次の3つのパラメータを持つURLがあります。
from :
to :
amount :
URL:
https://www.anybank.com/send/?from=accountA&to=accountB&amount=10000
これは、accountAからaccountBに10000のトランザクションを処理するURLで。
別の同じパラメータ「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などの。
多くの場所で試すことができて。
パラメータを操作する場合、その操作は各Webテクノロジーが。
パラメータを解析する方法によって異なるので。
「Wappalyzer」を使用してWebテクノロジーを識別できて。
https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/
以下は、いくつかのテクノロジーとそのパラメータ解析のスクリーンショットで。
この脆弱性を使用してアカウントを引き継いだHPPの発見を共有することに。
この脆弱性を見つけるにはどうすればよいかというと。
1.そのプログラムのログインページにアクセスすると。
ログイン用のOTPが要求されて。
2.メール(shrey@gmail.com)を入力して。
「ワンタイムパスワードを送信」をクリックして。
3.Burp Suiteを使用してリクエストをインターセプトして。
同じパラメータを使用して別のメールを追加することに。
(テスト目的で、2通のメールを作成して)
4.別のアカウントのradhika@gmail.comにshrey@gmail.comのOTPを受け取って。
5.OTPをコピーして、そのプログラムのログイン画面で。
shrey@gmail.comにアクセスして、このOTPを入力して。
アカウントに登録することに。
つまり、ここで起こったことは、バックエンドアプリケーションが。
最初の「email」パラメータの値を取得してOTPを生成して。
2番目の「email」パラメータの値を使用して値を提供したことで。
これは、shrey@gmail.comのOTPが。
radhika@gmail.comに送信されたことを意味して。
注:
radhika@gmail.comへのOTPを受け取った4番目のステップの画像では。
メッセージに『Hi Radhika』と書かれているため、混乱して。
そのため、パラメータは汚染されておらず。
OTPはradhika@gmail.com用であると思ったものの。
shrey@gmail.comでOTPを試したところ機能して。
緩和 :
この種の攻撃を防ぐために、適切な入力検証を実行する必要があって。
Best regards, (^^ゞ