PortSwigger Web技術 WritesUp セキュリティ

PortSwigger-Brute-forcing a stay-logged-in cookie

writesupIimage

まず、与えられたアカウント情報でログインをします。
すると、以下のCookieが払いだされていることがわかります。

「d2llbmVyOjUxZGMzMGRkYzQ3M2Q0M2E2MDExZTllYmJhNmNhNzcw」という値について、OWASP ZAPの機能を使って、様々なパターンでのデコードを試してみると、Base64デコードの結果に何か意味がありそうです。

ユーザ名とパスワードのハッシュの組みあわせのように思えます。
与えられているアカウントのパスワードをハッシュにかけてみます。

MD5ハッシュで一致するのがわかります。ログイン後に以下のリソースへリ台レクトがかかります。
/my-account?id=wiener
ユーザの持つリソースの場所がわかりました。

アカウントに対するブルートフォース攻撃を試しましたが、強固に守られており、脆弱性はなさそうです。

以下のような回答をすればよさそうです。

・パスワード候補の値をすべてMD5ハッシュにかけて、それにcarlos:を先頭につけて、base64エンコードしたデータを用意する。

・/my-account?id=carlosへのアクセスにおいて加工したCookieを送る。

データは用意をしているものとして、wienerをcarlosに書き換えて、ログイン維持用のCookieをハイライトします。
それ以降は、過去のWritesUpで記載をしているので、割愛します。

Start Fuzzerをすれば攻撃が成功します。