首页 > 试题广场 >

以下哪个是可以执行的CSRF漏洞的修复方案?()

[单选题]

以下哪个是可以执行的CSRF漏洞的修复方案?()

  • 检测HTTP  referer 字段同域
  • 过滤单引号或尖括号
  • 在每个请求里面都添加验证码校验
  • cookie关键字段设置HttpOnly属性

Referer HTTP 请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含 Referer。比如我在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=http://www.google.com
由此可以看出它表示一个来源

发表于 2019-09-05 14:08:48 回复(0)
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。
你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求

其原理是攻击者构造网站后台某个功能接口的请求地址,诱导用户去点击或者用特殊方法让该请求地址自动加载。用户在登录状态下这个请求被服务端接收后会被误以为是用户合法的操作。对于 GET 形式的接口地址可轻易被攻击,对于 POST 形式的接口地址也不是百分百安全,攻击者可诱导用户进入带 Form 表单可用POST方式提交参数的页面。

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,会带上Referer,通过验证Referer,可以判断请求的合法性,如果Referer是其他网站的话,就有可能是CSRF攻击,则拒绝该请求。

2和4好像是防止XSS注入攻击的。
(纯复制,无原创)
发表于 2022-01-14 21:28:51 回复(0)
在每个请求都添加验证码会严重影响用户的交互使用
发表于 2020-04-06 17:57:19 回复(0)