このCTFの課題を乗り越えようとしています。ここに手がかりがあります:
別の Web サイトから他人の Cookie を盗むというチャレンジです。その Cookie の値がパスワードです。あなたは Bob とチャット アプリケーションを使用しており、お互いにメッセージを送受信しています。ボブが BookFace.com を使用してメッセージを読み、返信を入力していることはご存知でしょう。BookFace.com にアクセスすると、クライアント側のコードが [クライアント側のコードについては以下を参照] であることがわかります。Bob にメッセージを送信しようとすると、ID が「you-said」および「bob-said」の「p」タグの非 HTML テキスト コンテンツが表示されます。あなたの仕事は、これらのタグのいずれかで秘密の Cookie を取得して、それらを読み取れるようにすることです。
クライアント側コード
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript">
document.cookie = <some password>;
</script>
</head>
<body>
<p id='you-said'>You said: <some message></p>
<p id='bob-said'>Bob said: Hi! I am Bob</p>
</body>
</html>
「こんにちは」というメッセージをボブに送信した後のチャットアプリは次のようになります。
以下は、開発ツールから取得した HTML コードの一部です (Chrome で F12 をクリック): チャット アプリの HTML スニペット
HTMLとDOMは初めてです。パスワードを取得するには、Bob の DOM を操作する必要があることを理解していますか? そしてどういうわけかjavaスクリプトを使ってdocument.cookieを印刷します。
私がこれまでに試したことは、pタグの1つを更新し、それを次のように変更することです
<script type="text/javascript">
window.alert(document.cookie);
</script>
しかし、これは私のクッキーを印刷するだけだと思います。私がする必要があるのは、実際にJavaScriptを使用して、既存の要素を使用してページのコンテンツを操作することだと思います。しかし、ボブの DOM にアクセスするにはどうすればよいでしょうか。console.log(document.cookie) を使用してみましたが、それを html の既存の要素の 1 つに配置しましたが、何も出力されませんでした。
Bob の DOM にアクセスして秘密の Cookie を出力する方法を教えてください。ありがとうございました!