SRC 漏洞挖掘小技巧

地球胖头鱼 2020-12-26
Web安全 发布于 2020-12-26 15:49:46 阅读 449 评论 0

前言

我们在挖洞过程中会遇到一些问题,然后我前几天在网站上查看文章的时候发现了一篇来自白帽一百的文章,他里面介绍了三种不是很常见的漏洞在SRC中的挖掘技巧,我带着大家看一下。

断链接劫持

断链接劫持什么意思呢?比如说我们对某个站点进行渗透测试的时候,会关注到一些js文件,因为里面可能会储存一些接口地址和相关的调用参数,从而构造一些方法进行测试。但是回归本身,首先是得引入这些那些的js文件,而有些企业的开发人员可能会调用第三方站点的js文件,例如开放的cdn加速的js文件,或者是他人已经写好的js代码(自己太懒不愿拷贝到自己服务器)。

例如:

但是如果出现以下情景。老王引用了小北的js代码,小北太穷了没钱续费那个域名,老王引用的js代码又不是核心功能,短期无法感受到功能缺失从而及时替换,导致页面加载了一个过期域名下的js文件

此外,也不一定是js文件可以劫持。例如iframe,flash等都可以作为劫持的对象。

下面可以举一个实际漏洞挖掘遇到的例子:

某天遇到一个资产,js中有个oauth认证的页面引用。但是发现这个域名是打不开的。

查询godaddy的域名注册情况

发现只需要七十美元就可以购买。你可以购买后进行攻击,但是提交漏洞一般不需要购买,只需要证明可以购买即可。

分享一个由stevenvachon写的断链接检测脚本。

github地址:

https://github.com/stevenvachon/broken-link-checker

用法:

blc -r –filter-level 2 攻击地址  | grep "\.js" | grep "BROKEN"

参数污染

此类漏洞是由后端对获取的参数处理不当而产生。例如有一个发送邮件的功能:

http://domain.com/sendmail?email=test@whitecap100.org

获取用户输入的邮箱从而发送邮件,后端获取email参数然后传递到发送邮件的方法中去。但是当我们双写同参数,例如:

http://domain.com/sendmail?email=test@whitecap100.org&email=attack@attack.com

就有可能导致服务端对两个邮箱同时发送一个相同邮件。这种漏洞可能出现在验证码发送,邮件发送中。

例如某通用系统的参数污染漏洞,找回密码处抓包:

获取到phoneNumber参数,我们双写参数发送。

然后手机就收到了两个相同的验证码。

一般的,一个应用同站会使用相同的验证码发送接口,从而可能导致任意邮箱手机号注册,密码重置等漏洞。

Web缓存欺骗攻击。

WEB缓存技术,它主要是缓存一些静态的,公开的文件,如CSS文件,JS文件,图片等。缓存分两类,一类是本地缓存,通过在浏览器上缓存实现,缓存之后通过F5刷新是不会重新获取已缓存文件的,通过Ctrl +F5强制刷新才会重新获取。

另一类是在服务端实现,也就是在CDN、负载均衡、反向代理上实现,这次介绍的攻击技术就是针对这一种缓存。服务端的缓存原理是:客户端请求一个静态文件,如果缓存服务器没有缓存过这个文件,就会像WEB服务器请求,获取到静态文件返回给客户端,同时将这个文件缓存下来,下次再遇到同样的请求时就直接返回,直到这个缓存文件过期。

攻击图:

攻击案例:

反向代理大家应该很熟悉了,可以缓存静态文件,降低服务器压力。而原生php有一个特性,就是访问一个不存在的文件的时候会返回前一个路径的界面。

一个正常的用户登录网站,会跳转到个人主页,例如index.php。如图所示。

但是攻击者会给受害者发送一个界面,例如index.php/hacker.js,但是hacker.js是一个不存在的文件。

图片

大家这回就能明白了,nginx会把这个个人主页缓存下来。下次我们访问这个hacker.js的时候同样可以看到受害者的界面内容,实施了一次web缓存欺骗攻击泄露了受害者的敏感信息。

总结

上面说了三种不太常见漏洞在SRC中挖掘时候的技巧,我实验了几个还是可以能成功的,我们在挖掘漏洞过程中难免会遇到很多问题。这里只是简单介绍了三种漏洞的挖掘技巧,还有很多种类的漏洞挖掘技巧等着我们发现,希望有高手有什么好的技巧我们一起讨论,如果文章有什么错误在留言区留言,我会改正。希望这篇文章能帮到你,欢迎来进行技术交流大家一起努力。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
地球胖头鱼
未填写
  • 作者发布文章177
  • 作者收获粉丝6
  • 作者收到点赞0
  • 所有文章被收藏了1
  • 博客总访问量排行第2
  • 博客总访问量2.8 万(每日更新)
查看所有博文