Shikata Ga Nai

Private? There is no such things.

Brute-forcing a stay-logged-in cookieをやってみた

Hello there, ('ω')ノ

 

ログインしたままのCookieをブルートフォーシングを。

ユーザがブラウザセッションを閉じた後もログインしたままにすることができて。

この機能を提供するCookieは、ブルートフォースに対して脆弱で。

 

まずは、ログインして。

 

f:id:ThisIsOne:20210428124017p:plain

 

f:id:ThisIsOne:20210428132622p:plain

 

Cookieのstay-logged-inをデコーダへ。

 

f:id:ThisIsOne:20210428124117p:plain

 

Base64でデコードすると。

 wiener:51dc30ddc473d43a6011e9ebba6ca770

 

f:id:ThisIsOne:20210428124147p:plain

 

下記のサイトで、デコードした値をクラックすると。

パスワードのMD5ハッシュだとわかって。

 https://crackstation.net/

 

これで、Cookieの構成が以下のとおりだとわかって。

 base64(username+':'+md5HashOfPassword)

 

f:id:ThisIsOne:20210428124249p:plain

 

ここで一旦、ログアウトして。

 

f:id:ThisIsOne:20210428132847p:plain

 

さきほどのリクエストをリピータへ。

 

f:id:ThisIsOne:20210428141719p:plain

 

再度、Sendするとログアウトしているものの正常に処理されて。

 

f:id:ThisIsOne:20210428132940p:plain

 

Cookieのstay-logged-inを変更してSendするとエラーのレスポンスが。

 

f:id:ThisIsOne:20210428132821p:plain

 

もとのCookieにもどしてIntruderへ。

 

f:id:ThisIsOne:20210428133015p:plain

 

Cookieのstay-logged-inをAddして。

 

f:id:ThisIsOne:20210428133040p:plain

 

自分のパスワードを設定して。

 peter

 

f:id:ThisIsOne:20210428131945p:plain

 

ペイロード処理を以下のルールの順番に追加して。

このルールは、リクエストが送信される前に順番に適用されて。


 ハッシュ: MD5
 プレフィックス: wiener:
 エンコード: Base64-encode

 

f:id:ThisIsOne:20210428125305p:plain

 

f:id:ThisIsOne:20210428125339p:plain

 

f:id:ThisIsOne:20210428125407p:plain

 

認証された状態で、/my-accountのページを更新すると。

My accountのリンクが表示されるので。

Grepの一致ルールに追加して。

これでブルートフォース攻撃に成功したかどうかを判断することに。

 

f:id:ThisIsOne:20210428125611p:plain

 

これで、ペイロードの処理が正常に機能していることが確認できたので。

 

f:id:ThisIsOne:20210428133422p:plain

 

下記のサイトからパスワードリストをコピーして。

 https://portswigger.net/web-security/authentication/auth-lab-passwords

 

f:id:ThisIsOne:20210428125432p:plain

 

パスワードリストを追加して、プレフィックスを下記に変更して。

 carlos:

 

f:id:ThisIsOne:20210428133614p:plain


再度、Start attackをすると一つだけ正常なレスポンスが返ってきて。

 

f:id:ThisIsOne:20210428133553p:plain


クリアできた。

 

f:id:ThisIsOne:20210428133728p:plain

 

Best regards, (^^ゞ