0

我正在努力克服这个 CTF 挑战。这是线索:

这里的挑战是从不同的网站窃取别人的 cookie。该 cookie 的值就是您的密码。您正在使用与 Bob 的聊天应用程序,您可以在其中相互发送和接收消息。您知道 Bob 使用 BookFace.com 阅读您的消息并输入他的回复。您访问 BookFace.com 并发现它的客户端代码是 [请参阅下面的客户端代码]。当您尝试向 Bob 发送消息时,您将看到“p”标签的非 HTML 文本内容,其 id 为“you-said”和“bob-said”。您的工作是检索这些标签之一中的秘密 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>

这是我向 Bob 发送消息“你好”后聊天应用程序的外观: 聊天应用程序

这是我从开发工具中获得的 HTML 代码片段(在 chrome 上单击 F12): 聊天应用程序的 HTML 片段

我是 HTML 和 DOM 的新手。我知道为了找回密码,我必须操纵 Bob 的 DOM?并以某种方式使用 java 脚本打印 document.cookie。

到目前为止我尝试的是更新一个 p 标签并将其更改为

<script type="text/javascript">
   window.alert(document.cookie);
</script>

但这只是打印出我认为的 cookie。我认为我需要做的确实是使用 javascript 通过使用现有元素来操作页面的内容。但是我如何访问 Bob 的 DOM。我尝试使用 console.log(document.cookie) 并将其放在 html 中的现有元素之一中,但它没有打印任何内容。

请帮我弄清楚如何访问 Bob 的 DOM 并打印他的秘密 cookie。谢谢!

4

0 回答 0