一.Web渗透无果
熊猫头看下js信息,发现处理的比较干净,没啥有效信息:
登录框处有滑块验证码,没法爆破账密。
那就先Fuzz目录看一下。
信息收集一波,我们得到该站点的域名或者接口如下:
https://diy.test.com
https://diy.test.com/diy11
https://diy.test.com/diy11/api
https://diy.test.com/diy11/api/ex
(最后这两条,是从登录接口https://diy.test.com/diy11/api/ex/login/得到的)
这里我们采用这样的策略进行Fuzz:
先使用OneScan对每级接口,使用常见目录进行简单的Fuzz,再考虑使用dirseach进行较为全面的Fuzz。
经过一番尝试。
使用OneScan,这里在/diy11/api接口下扫出来了actuator,可惜没有敏感的东西。
除此之外,就啥也没扫出来了。
OneScan没扫出来,那就只能dirsearch 启动了,全方位扫扫试下。
然后趁着扫目录的功夫,看下能否根据系统关键信息,找到历史Nday。
但这系统感觉像是三方公司开发的,比较小众,直接搜啥信息也搜不到。
所以决定先根据关键信息搜一下诸如开发公司等的信息。
但是可惜,根据Title,图标icon等指纹,Fofa也是啥也没找到。
Fofa没搜到,不甘心用鹰图等其他空间测绘平台搜,也没搜到。
这时候回头看目录扫描结果,发现从根目录到最深的/ex接口,什么有效信息都没扫出来:
脚本小子挠头,再回头看看细节吧。
看着看着,最终发现在域名一栏,发现有一个带着weixin前缀的域名:
weixin.test.com
这样一下子就想到,该Web站点,会不会存在小程序呢?
根据Web站点的标题:易*,在微信搜小程序。
OK啊,能搜到,而且图标、所属公司等一毛一样。
如此,多了一个攻击面,遂转而测试小程序。
进去就是一阵点点点,把所有功能点了一遍后,查看数据包,发现一个很奇怪的数据包:
POST /diy11/api/ex/login/wx/addVisitor HTTP/1.1
Host: diy11.test.com
Content-Length: 81
Xweb_xhr: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x63090c11)XWEB/11581
Connection: close
{"userName":"test","phone":"13311111111","openId":"oZZ_I6x0jlJQXrLqnA
5RiMoexrjo"}
为什么说奇怪呢,因为他这里随便填写手机号和用户名,都能得到Token:
妙就妙在。
这个小程序大多数地方,都存在鉴权,需要登录系统账号才能使用。
迷惑操作……
接着就是收获时刻,找到一个如下所示的数据包:
GET /diy11/api/mdm/mqr/report/supplier/list?pageNum=1&pageSize=20&materialSap=&baseCode=&addedBy=S003498&status=0&_t=1739499677227 HTTP/1.1
Host: diy11.test.com
Accept: application/json, text/plain, */*
Accept-Language: zh-CN
X-div-Header: {"id":"S003498","timestamp":1739499677228}
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF
Connection: close
拼接得到的Token:
Authorization: eyJ0eXAiOiJKV1QiLCJhbGci***.eyJ0b2tlbiI6Im9aWl9JNngwamxKUVhyTHFuQTVSaU1vZXhyam8iLCJleHAiOjE3Mzk1MDI***._zjIaebbFnRiZRDrIA-qu6O8HmMT4HjPSZXp066uA1U
这里注意,像JWT这种认证方式,在请求头一般都是:
Authorization: Token或者Authorization: Bear Token的形式
该请求包可能存在越权的地方在参数的addedBy=S003498,以及请求头的X-diy-Header: {"id":"S003498","timestamp":1739499677228}。
分别修改两处值测试一下,就发现越权点在X-diy-Header处。
返回信息中,含有供货公司信息,出货报告、合同等的链接:
并且没有鉴权,可以直接访问:
也就是说,我们可以Fuzz id参数,获得大量的供应商信息,出货报告、合同等。
传统功夫,点到为止!
其他七七八八的就不写了,主要是思路分享。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论