从点到线的漏洞挖掘

  • A+
所属分类:安全文章

前言

在漏洞挖掘的过程中会有一些小的漏洞点,例如:SpringBoot未授权弱口令API接口泄露等等。如果没有对这些小的漏洞点进行合理的整理和利用,可能渗透就到此为止了,造成的危害也是有限的。反之则有可能因为某一个小点从而使整个渗透过程变得通透,下面就是一次SpringBoot未授权的渗透案例


注:由于某些原因,所有漏洞都仅仅停留在信息层面的整理和利用,并没有进一步深入挖掘


信息收集

首先信息收集的第一步肯定是子域名扫描这没得说,在这之后我将子域名的IP进行排序

从点到线的漏洞挖掘


利用排序可以快速得到IP的分布情况,比如上图就很明显看出在1.x.x.0/24的资产比较多,我就对该C段进行了WEB存活扫描以及常见的目录扫描

从点到线的漏洞挖掘


结果成功扫描到一个SpringBoot的未授权访问

从点到线的漏洞挖掘

经过一番查找,最终在/trace(记录客户端对服务器发起的请求包含参数、请求头、Cookie等信息)下发现了有价值的东西

从点到线的漏洞挖掘


通过关键字搜索发现管理后台以及账号密码(login)

从点到线的漏洞挖掘


访问该后台成功登录

从点到线的漏洞挖掘


通过后台查询模块的功能,得到一些无法通过扫描来获取的网站,分别是站点B、站点C

从点到线的漏洞挖掘


站点A渗透

登录成功后,返回包返回了该用户的个人信息(姓名,手机号,身份证)

从点到线的漏洞挖掘


这一点让我想起来之前测试其资产下的另一个网站,此网站的默认密码就与员工的身份证相关

从点到线的漏洞挖掘

从点到线的漏洞挖掘


利用刚刚的返回身份证信息以及泄露的默认密码规则,登录了该网站,运气很好

从点到线的漏洞挖掘


接着找到一处常规的注入点(典型的order by注入)

从点到线的漏洞挖掘


简单的说一下注入的思路,数据库为MySQL

第一点:此处的注入点有两个orderByTypeorderByCol所以可以利用payload拼接绕过WAF

第二点:利用{identifier expr}的格式绕过WAF

第三点:利用if()updatexml()函数使mid(user(),1,1)=x正确时页面抛出异常,借此获取user()

从点到线的漏洞挖掘


上面这个注入点是比较明显的,另一个注入是通过查看JS发现后台管理地址

从点到线的漏洞挖掘

从点到线的漏洞挖掘


访问后台地址,结果并不理想,不能直接进入

从点到线的漏洞挖掘


继续分析JS文件,发现一处后台功能URL

从点到线的漏洞挖掘


构造URL访问,虽然页面没有什么有价值的信息

从点到线的漏洞挖掘


但是JS可是别有洞天

从点到线的漏洞挖掘


上面的JS包含了几乎所有后台接口,其中包括比较重要的用户管理接口。恶心的又来了,虽然接口泄露了但是调用接口的JS没有加载出来,所以就不知道该接口需要什么参数,所以绝大多数接口都是如下界面

从点到线的漏洞挖掘


不过经过测试,也有一两个接口是不需要参数的✌

从点到线的漏洞挖掘


查看请求包时,又是一个很常规的注入(数据字段可控)

从点到线的漏洞挖掘


简单的说一下注入的思路,数据库为MySQL

第一点:利用{identifier expr}的格式绕过WAF

第二点:通过AND以及mid(user(),1,1)=A判断页面返回内容,来获取user()

从点到线的漏洞挖掘



站点B渗透


其中的一个URLhttp://xxxxtest.target.com/xxxx/#/home,通过vConsole和test关键字就可以看出来,这是一个测试站

从点到线的漏洞挖掘


根据其域名命名特征,使用OneForAll对子域名进行Fuzz,命令如下

python3 brute.py --target target.com --fuzz True --place xxxx*.target.com --rule '[a-z]{3}' run


成功Fuzz出来两个子域名,其中一个子域名正是对应的生产环境

从点到线的漏洞挖掘


还是常规操作,访问首页一片空白,查看JS泄露接口

从点到线的漏洞挖掘


根据router构造URL

从点到线的漏洞挖掘


期间用burpsuite截包,提示代理人编号为空

从点到线的漏洞挖掘


查看该页面的JS源码,所以只要添加agentCode参数就可以了

从点到线的漏洞挖掘


根据站点A获取的员工账号可以的得知agentCode的规则,所以可以对agentCode进行爆破,过滤出有数据的账号

从点到线的漏洞挖掘


接下来就很常规了,burpsuite开启拦截,修改请求包,添加agentCode,前台就会获取到数据

从点到线的漏洞挖掘

从点到线的漏洞挖掘

从点到线的漏洞挖掘


站点C渗透

访问首页啥也没有

从点到线的漏洞挖掘


JS泄露接口

从点到线的漏洞挖掘


构造请求,提示token错误,这里的token就是前面后台的token

从点到线的漏洞挖掘


测试后,发现queryString存在注入(常规注入参数),简单说下思路,数据库为MySQL

第一点:利用HTTP参数污染绕过WAF

第二点:利用if()和exp()函数使mid(schema(),1,1)=x正确时页面抛出异常,借此获取schema()

从点到线的漏洞挖掘


一些其它的点

登录站点A可以得知它是企业员工学习的网站,通过搜索课程(OA、VPN、邮箱、APP、管理员)可以获取到一些有价值的信息,例如:

默认的账号密码

从点到线的漏洞挖掘

从点到线的漏洞挖掘


企业内部APP

从点到线的漏洞挖掘


等等......



发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: