Web信息安全实践_3.3 CSRF原理

什么是 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"/>

猜你喜欢

转载自www.cnblogs.com/tianjiazhen/p/12235603.html
今日推荐