CSRF笔记

1. 什么是CSRF漏洞

跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法
简而言之: 攻击者盗用了你在某个网站的身份,以你的名义发送恶意请求

2. CSRF能做什么事

以你的名义:
• 发邮件
• 发消息
• 财产操作比如转账,或者购买商品
• 修改密码
• 删除文章
• 等等

3. CSRF漏洞原理(摘抄自简书)

首先用户C浏览并登录了受信任站点A; •
登录信息验证通过以后,站点A会在返回给浏览器的信息中带上已登录的cookie,cookie信息会在浏览器端保存一定时间(根据服务端设置而定);
• 完成这一步以后,用户在没有登出(清除站点A的cookie)站点A的情况下,访问恶意站点B; • 这时恶意站点
B的某个页面向站点A发起请求,而这个请求会带上浏览器端所保存的站点A的cookie; •
站点A根据请求所带的cookie,判断此请求为用户C所发送的。 •
因此,站点A会报据用户C的权限来处理恶意站点B所发起的请求,而这个请求可能以用户C的身份发送
邮件、短信、消息,以及进行转账支付等操作,这样恶意站点B就达到了伪造用户C请求站点 A的目的。
受害者只需要做下面两件事情,攻击者就能够完成CSRF攻击: • 登录受信任站点 A,并在本地生成cookie; •
在不登出站点A(清除站点A的cookie)的情况下,访问恶意站点B。
很多情况下所谓的恶意站点,很有可能是一个存在其他漏洞(如XSS)的受信任且被很多人访问的站点,这样,普通用户可能在不知不觉中便成为了受害者。

4. CSRF漏洞的防御

(1)尽量使用POST,避免使用GET
(2)验证 HTTP Referer 字段
(3)在请求地址中添加 token 并验证
(4)在 HTTP 头中自定义属性并验证
(5)将cookie设置为HttpOnly

5. CSRF漏洞检测方法

检测CSRF漏洞是一项比较繁琐的工作,最简单的方法就是抓取一个正常请求的数据包,去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。

6. CSRF漏洞检测工具

CSRFTester、CSRF Request Builder等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值