首页 > 试题广场 >

下面哪一种攻击手法属于CSRF? ()

[单选题]
下面哪一种攻击手法属于CSRF? ()
  • http://www.xxx.com/index.php?name=admin and 1=1
  • http://www.xxx.com/index.php?name=admin'><img src=1 onerror=alert(1)>
  • http://www.xxx.com/index.php?name=zhangwei&money=1000
  • http://www.xxx.vom/index.php?name=/etc/passwd

在这四个选项中,C 选项http://www.xxx.com/index.php?name=zhangwei&money=1000)属于 CSRF(Cross-Site Request Forgery,跨站请求伪造) 攻击。

理由:

CSRF 是一种攻击方式,攻击者通过伪造一个合法用户的请求,诱使该用户在不知情的情况下执行恶意操作。通常,攻击者会诱使受害者访问一个包含恶意请求的网页,利用受害者的身份信息(如已经登录的会话)执行未经授权的操作。

为什么 C 是 CSRF:

C 选项 中,URL 看似是一个合法的请求:http://www.xxx.com/index.php?name=zhangwei&money=1000

  • 参数:name=zhangwei和money=1000看起来是修改用户zhangwei的账户余额为 1000 的请求。这个请求看起来是合法的。

  • 缺陷:假设该请求是一个 GET 请求(尽管没有明确说明,但从 URL 中的参数格式推测),并且没有有效的 CSRF 防护机制(比如 CSRF Token),攻击者可以通过构造类似的请求,诱使已经登录的用户点击该链接,导致受害者在不知情的情况下将money值设置为 1000。

  • 利用场景:攻击者可以通过一个看似无害的链接(例如,嵌入在一个图像、按钮或表单中),让用户在访问时无意中发送这个请求,从而修改受害者账户上的金额。

这种攻击方式并不需要受害者主动执行敏感操作(例如提交表单),只需他们访问一个特制的链接就能执行恶意操作。因此,这就是典型的 CSRF 攻击。

为什么其他选项不属于 CSRF:

  • A 选项http://www.xxx.com/index.php?name=admin and 1=1

    • 这是一个 SQL 注入攻击示例,攻击者试图通过修改name参数来触发 SQL 注入,执行1=1这种总为真的条件。它是 SQL 注入 攻击,而不是 CSRF。

  • B 选项http://www.xxx.com/index.php?name=admin'><img src=1 onerror=alert(1)>

    • 这是一个 XSS(跨站脚本攻击) 示例,攻击者尝试在name参数中注入恶意的 JavaScript 代码(通过onerror=alert(1))。当网页加载时,JavaScript 代码会执行,弹出警告框。它是 XSS 攻击,而不是 CSRF。

  • D 选项http://www.xxx.vom/index.php?name=/etc/passwd

    • 这个 URL 看起来像是一个 目录遍历攻击,攻击者尝试通过修改name参数来读取系统文件(如/etc/passwd)。这不是 CSRF,而是一个文件路径篡改攻击。

编辑于 今天 16:10:22 回复(0)