美文网首页
簡述:CSRF 攻击是什么?

簡述:CSRF 攻击是什么?

作者: Guohanzhong | 来源:发表于2018-03-06 16:54 被阅读0次

    前言:

    CSRF (Cross Site Request Forgery),中文称:跨站请求攻击。攻击者通过建构网站后台某个功能接口的请求地址,设法让用户点击连结或者脚本的方式让请求地址自动加载。

    CSRF 攻击过程

    攻击者怎样攻击?

    用户登录原网站,浏览器会记录Cookies ,如果用户未登出或Cookies并未过期(用户关闭浏览器不代表网站已登出或Cookies会立即过期)。在这期间,如果用户造访其他危险网站,点击了攻击者的连结,便会向原网站发出某个功能请求,原网站的伺服器接收后会被误会以为是用户合法操作。

    为何会有漏洞?

    一般是网站采用 GET 形式去发出请求,让攻击者轻易知道网站向后台的请求方式。令攻击者按照其方式,建构网站后台某个功能接口的请求地址。在你点击击攻击者的连结前,由于你已登录过原网站。而攻击者的连结会向原网站发出请求,你的浏览器会带上你原网站的 Cookie 发出 GET 形式的请求去执行请求,原网站的伺服器接收后会被误会以为是用户合法操作。

    即使改用 POST 形式的接口也不是绝对安全,因为攻击者可以利用脚本去获得 POST 形式提交的参数页面。

    如何预防?

    在于用户,应该:

    • 登录网站后,使用完毕后紧记登出。
    • 登录网站期间,避免浏览其他网站或图片,表单及文字等连结点击。
    • 避免浏览其他不明来历网站或点击不明来历图片,表单及文字等连结。
    • 避免在浏览器储存帐户名称或密码

    在于开发人员,应该:

    • 从伺服器进行预防
    • 在页面表单中加上CSRF token
      在页面表单中加上一个 <input type="hidden">,并设定名 name =csrftokenvalue="" 填的值由 伺服器随机产生,并存在伺服器的 session 中。
      <input type="hidden" name="csrftoken" value="tergf1dgkjeirg"/>
    

    按提交之后,伺服器会核对表单中的csrftoken与自己 session 里面存的是否一致,若是则代表由使用者本人发出的请求。

    总结:

    本文是小弟学习前端写有关于简述:CSRF 攻击是什么?,请大家多多指教。如有任何意见及交流,可在下方留言,谢谢!

    相关文章

      网友评论

          本文标题:簡述:CSRF 攻击是什么?

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