美文网首页
利用Referer的攻击之CSRF&盗链学习笔记

利用Referer的攻击之CSRF&盗链学习笔记

作者: sydneywhatever | 来源:发表于2020-05-21 22:43 被阅读0次

    场景1

    小明在电脑上登录了某银行网站,未退出登录的情况下,在同一浏览器点开了含攻击的链接,这个攻击会以小明的名义向银行发送操作命令,将小明银行账户的余额转账给小强(攻击者)。

    为什么这个攻击会生效?

    因为小明此时与银行的会话未断开,攻击者小强的请求是通过小明发送,银行会认为这是一个正常的请求。

    这种攻击就是CSRF(Cross-site request forgery)跨站请求伪造。成立的前提是在登录状态下使用同一浏览器访问恶意网站。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。(百度百科)

    如何防御CSRF攻击?

    1、验证 HTTP Referer 字段

    上图是当前网页请求头的Referer字段,假如我正在写作过程中,不小心点击了恶意网址,通过我的名义发布了一篇虚假广告的文章,那么这个请求头中的Referer字段就不是简书自己,而是恶意网站的地址。

    所以检查请求中的Referer字段,即可判断是否真实的合法请求。

    但某些旧版本的浏览器存在被利用的漏洞,可以使得攻击者将自己的Referer值修改为简书的地址,以此绕过Referer检查。

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

    简单的说,前文攻击者小强能够成功,是利用小明的cookie中携带的身份信息,那就除了cookie之外再检查下是不是小明本人,比如大额操作前短信验证、刷脸等,这个token类似于二次验证。(关于cookie、session、token需要另写一篇)

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

    更简单的说,就是换个地方加token。

    ————————————————————————————————————

    场景2

    小明在网站A写文章时粘贴了从网站B复制了图片,一段时间后该图片无法显示。

    实际访问小明文章时,显示的图片是调用了网站B的资源,源网站删除了图片,引用端也会无法显示。

    盗链攻击就是非法调用其他网站资源,直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益(百度百科),或者消耗了其他网站资源。

    通过检查Referer值,只允许来自本网站的请求访问资源,避免被盗链。

    ————————————————————————————————————

    学习来源:

    https://blog.csdn.net/xiaoxinshuaiga/article/details/80766369

    https://blog.csdn.net/Flyz_boy_hss/article/details/99871190

    相关文章

      网友评论

          本文标题:利用Referer的攻击之CSRF&盗链学习笔记

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