美文网首页
CSRF 攻击与防范

CSRF 攻击与防范

作者: AuraAura | 来源:发表于2019-01-08 16:40 被阅读0次

CSRF

CSRF(Crossing-site request forgery),跨站请求伪造。盗用个人身份向站点发送恶意请求。

CSRF攻击原理和过程:

  1. 用户C打开浏览器,访问受信任的网站A,向网站A发送请求。
  2. 用户请求信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户成功登录A网站,可以发送请求到网站A。
  3. 用户在为退出网站A时,在同一浏览器中,打开网站B,向网站B发送请求。
  4. 网站B收到请求后,返回攻击性代码,请求放完第三方网站A。
  5. 浏览器收到攻击性代码,根据网站B的请求,利用用户C向网站A发送请求,网站A认为用户C发出请求,根据用户C的权限,执行来自网站B的恶意代码。


    CSRF百度百科

CSRF的防范

防御CSRF攻击主要有三种策略:验证HTTP Referer字段;在请求地址中添加token并验证;在HTTP头中自定义属性并验证。

1.验证HTTP Referer字段

HTTP头中Referer字段记录了该请求的来源地址。如果是网站B恶意伪造用户C发出请求,该字段的值判断为不合法,拒绝请求。

2.请求地址中添加token并验证

网站B伪造用户C发出请求,该请求中所有的用户验证信息都是存在于cookie中,防范CSRF的攻击,在请求中除了验证cookie信息,以参数的形式加入随机产生的token,并在服务器端建立拦截器来验证这个token。对于GET请求,token将附在请求地址之后,URL为http://url?csrftoken=tokenvalue。对于POST请求,在<form>最后加上
<input type='hidden' name='csrftoken' value='tokenvalue'/>

3.在HTTP头中自定义属性并验证

这种方法是把token以参数的形式放在HTTP请求中,而是把它放在HTTP头自定义属性里。通过XMLHttpRequest这个类,一次性给所有该类请求加上csrftoken这个HTTP头属性。

参考文章:https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/

相关文章

  • 什么是CSRF攻击

    本文分享CSRF是什么与如何防范CSRF攻击 CSRF攻击是什么? CSRF(Cross-site request...

  • CSRF 攻击与防范

    CSRF CSRF(Crossing-site request forgery),跨站请求伪造。盗用个人身份向站点...

  • CSRF攻击与防范

    利用cookie属性 cookie可以设置HttpOnly,这样js脚本就无法通过Document.cookie后...

  • XSS、CSRF攻击与防范

    什么是XSS攻击? XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets,...

  • Laravel - CSRF 攻击与防御

    CSRF攻击与防御-start 什么是CSRF攻击?CSRF是跨站请求伪造(Cross-site request ...

  • Tornado csrf攻击防范与实现原理

    csrf 跨站请求伪造 跨站请求伪造(英语:Cross-site request forgery),也被称为 on...

  • CSRF 攻击的原理、防范

    一、原理 1、攻击者构造网站后台某个功能接口的请求地址,诱导用户去点击或者用特殊方法让该请求地址自动加载。2、用户...

  • 跨站请求伪造攻击的基本原理与防范(转载)

    跨站请求伪造攻击的基本原理与防范(转载) CSRF的形成是因为攻击者较容易猜测某些Web应用一个特定敏感操作的所有...

  • Node.js防范csrf攻击

    csurf Node.js 防范csrf攻击中间件 需要session中间件(如:express-session)...

  • 2018-03-29

    CSRF的攻击与防御 一、CSRF简介 CSRF(Cross-Site Request Forgery,跨站点伪造...

网友评论

      本文标题:CSRF 攻击与防范

      本文链接:https://www.haomeiwen.com/subject/knvurqtx.html