• [9]CSRF你清楚吗?


    是什么

    CSRF(Cross-Site request forgery)跨站请求伪造 你可以这么来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。

    区别XSS与CSRF

    XSS:利用用户对站点的信任 【对于可以的站点一般会提示是否继续访问,也就是说如果用户不信任一个站点,就不会出现XSS攻击】 【服务器下发的脚本在客户端浏览器执行】 CSRF:利用站点对已经身份认证的信任 结论:不要在网上瞎点,说不定你点击的就是黑客精心准备的攻击链接

    CSRF 漏洞现状

    CSRF 这种攻击方式在2000 年已经被国外的安全人员提出,但在国内,直到06 年才开始被关注,08 年,国内外的多个大型社区和交互网站分别爆出 CSRF 漏洞,如:NYTimes.com(纽约时报)、Metafilter(一个大型的 BLOG 网站),YouTube 和百度 HI……而现在,互联网上的许多站点仍对此毫无防备,以至于安全业界称 CSRF 为“沉睡的巨人”。

    防御手段

    ①检查 HTTP Referer 字段

    每一个请求都一个referer字段,记录请求的来源,后台通过这个字段,可以知道这个请求是否是合法的。这种方法很简单,但是不安全,因为这个referer字段是可以篡改的。

    比如:我们让nginx给我们代理,然后就可以修改referer.

    ②添加校验 token

    由于 CSRF 的本质在于攻击者欺骗用户去访问自己设置的地址,所以如果要求在访问敏感数据请求时,要求用户浏览器提供不保存在 cookie 中,而是服务器发放的token,这个token是攻击者无法伪造的数据作为校验,那么攻击者就无法再运行 CSRF 攻击。

    ③使用验证码

    在敏感的操作前,加上验证码,后台可以通过验证码可以防御CSRF攻击;这时候每次关键操作都是用户自己知道的,主动触发的。

    在微信商户平台,我们配置一些敏感的操作是不是都需要给管理员的手机号发送验证码。这个方法还是很常见的。但是这种做法不是很友好

    更多学习视频学习资料请参考:B站搜索“我们一起学前端” 

  • 相关阅读:
    一个支持WinForms换肤的开源组件
    实用新型专利和发明专利的区别是什么
    卷积神经网络的基本操作,卷积神经网络百度百科
    Opengl实例7:glm(0.9.8.5)库 +矩阵旋转+课后作业
    Step2:Java内存区域与内存溢出异常
    画个心??
    Prompt Engineering优化原则 - 以Webshell代码解释为例
    刷爆力扣之等价多米诺骨牌对的数量
    Linux 环境安装【jdk、Tomcat、Docker、Maven、Kafka、Redis等】
    Nginx几种负载均衡方式介绍
  • 原文地址:https://blog.csdn.net/qq_35577655/article/details/127707801