什么是 CSRF
- Cross-site request forgery( 跨站请求伪造 )
- CSRF 利用服务器对用户浏览器的信任
- 被攻击网站依赖用户的身份认证
- 攻击者使得用户的浏览器发送 HTTP 请求到目标网站
CSRF 的步骤(用户浏览器主动完成)
- 攻击者确定目标网站(存在CSRF漏洞的网站:目标网站基于cookie的身份认证)
- 在目标站点找到表单,或者可以提交请求的 URL ,并构造攻击页面或URL
- 使用get方式提交表单:所有的参数直接显示在URL中,只要构造相关URL就可以了,
- 为所有表单或 URL 的需要的输入提供正确的值(伪造出表单所需要的数据)
- e.g. 发送多少个coin,发送给谁,submit值
- 攻击者诱使受害者访问攻击页面或发出 URL
e.g.
- 用户登录myzoo.com,同时被诱使访问了attacker.com
- attacker.com向服务器发送请求(攻击者网站伪造用户发出,用户毫不知情)
- 浏览器向myzoo.com发送请求:浏览器不管请求是从myzoo.com页面发出,还是从attacker.com页面发出,都会携带cookie(利用浏览器行为)
- 服务器接收请求,验证身份,执行操作
其他请求伪造
img、a(anchors)可以向外发出请求。对于get方式提交的表单,可以构造img或anchorsr把请求发出去。
<form action="http://www.b.com/"> <input name="data" type="hidden" value="hello"> </form> <img src="http://www.b.com/?data=hello"/>
原文地址:https://www.cnblogs.com/tianjiazhen/p/12235603.html
时间: 2024-10-30 15:39:08