网安教育
培养网络安全人才
技术交流、学习咨询
csrf,cross script request forgery跨站请求伪造,攻击者借用用户的登录凭证,伪造请求提交到凭证对应网站,服务端未经过请求来源检查而默认信任,造成危害。
具体的,(1)受害者用户在登录目标网站A后,(2)攻击者基于社工手段使其在同主机同浏览器环境下,访问攻击者控制的网站B,(3)网站B的页面伪造请求通过该浏览器提交到网站A,同时携带对网站A保存在浏览器中的cookie登录凭证,(4)使得网站A的服务端接收后认为是用户自身发送,且是登录后经过身份验证,(5)从而造成危害,数据库增删改或文件操作,或数据查询返回。
登录后测试
cookie或session作为登录凭证
没有直接或间接的token,是否为一次性token不影响。(如果token服务端不检查,或者可以从其它处获取也不影响)
登录凭证cookie没有samesite属性设置,或者说设置的值为None
如果登录凭证cookie为secure属性,设置时要求必须在https协议中传送
未严格检查referer和origin字段
2.1 html元素和css
html元素发出请求,或者css发出请求,默认自动携带目标域cookie,可以跨域
危害只能是提交请求后,服务端进行增删改操作,对于服务端返回,该类型csrf无法获取并转发给攻击者
常见的场景是
-
取消或添加关注、收藏、点赞
-
对账号信息进行编辑,比如修改昵称,修改登录或联系的手机号、邮箱,修改密码
-
增删改评论、文章或其它数据
-
上传图片或其它资源
一般是get请求,表单form可以是get或post请求
url、cookie或请求体部中携带参数,指向资源的编号。对于账号信息这类用户唯一的资源,可以不用资源编号
1<link href="">
2<img src="">
3<img lowsrc="">
4<img dynsrc="">
5<meta http-equiv="refresh" content="0;url=">
6<iframe src="">
7<frame src="">
8<script src="">
9<bgsound src="">
10<embed src="">
11<video src="">
12<audio src="">
13<a href="">
14<table background="">
15...
16
17
18@import ""
19background:url("")
20...
21
还可以通过js动态生成的标签对象或css对象发起的get请,而发出post请求只能通过form提交方式。
2.2 json hijacking
json劫持 - 挖洞404 - 博客园 (cnblogs.com)
2.3 csrf与ajax
https://www.cnblogs.com/wd404/p/17481789.html
2.4 flash csrf
flash同样遵循同源策略,发起的csrf是基于actionscript脚本,可以
跨域获取隐私数据
跨域提交数据操作
(1)refresh和origin
对于开发来说,这两个字段都可以作为csrf检查,选一即可。
而对测试来说,则需要对两个字段都同步进行测试,即hostname相同。
(2)token
使用token作为登录凭证,可以有效防止csrf。但需要注意,不要将token保存到cookie中,否则无效
(3)cookie的samesite
设置cookie的samesite属性不为None,而是Strict或Lax,可以有效防止csrf
(1)登录凭证
存在cookie字段,且登录凭证cookie是必要的,samesite为None。没有直接或间接的token值
重放请求,根据响应字符长度测试是否包含一次性token
根据响应字符长度是否变化,二分法删除cookie测试。(一般,在同一站点下或同一目录下的必要cookie一致)
(2)referer和origin测试
样本,referer:http.//www.xx.com/xxx
测试origin: http://www.xx.com.abcxx.com
测试referer: http://www.xx.com.abcxx.com/xxx?referer=http.//www.xx.com/xxx
对于cors,主要测试响应头部是否包含access-control-allow-origin和Access-Control-Allow-Credentials字段,以及access-control-allow-origin是否包括origin的hostname字段
对于一般csrf,主要测试响应体部的字符长度是否发生变化。
当然,以上两者并不完全准确,进一步的需要由人工分析响应内容,尤其是对于增删改操作来说,响应并不能绝对反应是否执行成功
本文作者:挖洞404
本文链接:https://www.cnblogs.com/wd404/p/17322472.html
版权声明:著作权归作者所有。如有侵权请联系删除
网络安全基础班、实战班线上全面开启,学网络安全技术、升职加薪……有兴趣的可以加入网安大家庭,一起学习、一起成长,考证书求职加分、升级加薪,有兴趣的可以咨询客服小姐姐哦!
加QQ(1005989737)找小姐姐私聊哦
原文始发于微信公众号(开源聚合网络空间安全研究院):盘点Web基础漏洞之CSRF的分类及防护
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论