Shikata Ga Nai

Private? There is no such things.

Host validation bypass via connection state attackをやってみた

Hello there, ('ω')ノ

 

接続状態攻撃によるホスト検証バイパスを。

 

ホスト ヘッダを介したルーティング ベースの SSRF に対して脆弱で。  

フロントエンド サーバは、最初は Host ヘッダの堅牢な検証を

実行しているように見えますが、受信した最初の要求に基づいて、

接続上のすべての要求について推測して。

 

 

対象リクエストをリピータへ。

 

 

エンドポイントを/adminに変更し。

Hostヘッダを192.168.0.1に変更して、Sendすると。

ホームページにリダイレクトされるだけで。

※ステータス200で、リダイレクトされないときは、数分後にもう一度

 


このリクエストをさらにリピータへ。

 


プラスマークで、Create tab groupを選択して。

※画像は異なり、実際には5,6タブを。

 

 

両方のタブを新しいグループに追加して。

※画像は異なり、実際には5,6タブを。

 

 

リピータでの初めのリクエストにもどって

送信モードをSend group in sequence (single connection)に変更して。

※画像は異なり、実際には5タブを。

 

 

エンドポイントとHostヘッダを元に戻してからグループを順番に送信して。

Connection や Keep-Alive などの接続固有のヘッダフィールドは、

HTTP/2 では禁止されているので必要なくて。

 

 

シーケンスを送信すると、2番目のリクエストが管理パネルにアクセスできて。

 

 

レスポンスで、carlosを削除するためのHTMLフォームを確認して。

2番目のタブで、これらの詳細を使用してリクエストを送信することに。

 

POST /admin/delete HTTP/1.1
Host: 192.168.0.1
Cookie: session=iXOreXsmLdAnbCQS7mzDVeaT9VZczv7W; _lab=47%7cMC0CFDlPgHp37rLM5eY26HN6RDqyGTRcAhUAheOO0FSOlw3MQyQ4fiIxISfWxTWMWIS1io0IWJQhS8L1dLT1Ghx8cylRI4ICusNQpoBK%2bSf0MFnXR%2bpe939WSlj4cgm4m4Ct2IJkvU4zpNcWunadZFdfnvtwrVSpLQmAIS98nKXexnOs

Content-Type: x-www-form-urlencoded
Content-Length: 53

csrf=sMIA7XawaipJnVSF8v0lprblAxVEgBoY&username=carlos

 

シングルコネクションでシーケンスを順番に送信しなくても

2番目のリクエストのみを送信すると。

 


クリアできて。

 

 

Best regards, (^^ゞ