你是否正在收集各类网安网安知识学习,蚁景网安实验室为你总结了1300+网安技能任你学,点击获取免费靶场>>
0x01:前言
记一次关于edusrc中证书大学的小程序挖掘过程。
在各路大师傅惨无人道的证书站挖掘,像是我这只小菜鸡在web方面很难再摸到漏洞,内网也莫得账号,无奈只能转战小程序。
0x02:准备
夜神模拟器 6.6.1.1 Andorid5版本
Burpsuite 证书
Node+npm环境
0x03:实战
先确定一个证书站的目标,从小程序名称下的归属可以知道此小程序确实属于目标资产,同时在交互包中也可以发现是对其子域进行交互。
先是对其进行一波排查,发现有功能点展示但需要进行登录。爆破一波并没有发现存在弱口令用户,更换方式。
尝试对 小程序 进行反编译 (在对wxapkg文件进行获取的时候,可以先删除其目录下的所有小程序包,然后再去访问想要测试的小程序,会生成两个数据包都要拿出来),例如下图_2100734759_11.wxapkg是需要进行编译的包
#node ../wxappUnpacker-master/wuWxapkg.js _459201295_105.wxapkg //开始编译
编译成功会获得一些源码,可以尝试找账号密码,且还可以对其进行一系列行为溯源
在翻js的时候,翻到一个js文件,打开发现是一个修改密码的行为
发现有个不想是路径的地址,同时还指明URL,猜测可能是某个接口,尝试利用其的POST方式对其进行发包探测,后来发现不管怎么样都是返回 {success:200}
正当一筹莫展的时候,把js往下滑动,看到了用户信息加载的字样,应该也是基于接口访问获取个人信息
拼接访问:http://xxxx.edu.cn/xxxx/user/admin 好家伙,来开发抽华子
可以发现password的值为undefined,起先我弱智的用空密码登录admin账号,发现密码错误,又带入undefined这个字符串进行登录。。。
重新屡一下思路,照理来讲应该password字段应该是有密码的。回顾操作有没有可能是我上一步的POST数据的那个功能点是修改密码,毕竟我没传任何数据。
对上个接口进行POST传参fuzz,fuzz完好几个字典发现都是没有成功修改密码。
后来想起来wxml像是一个前端页面,正好有个mpassworx.wxml,看看里面的传参值是什么,newp为新密码,confirmp是确认新密码。再对其接口进行构造修改密码
传参值为md5加密之后的数据(为什么知道是md5呢,因为在个人信息返回的那个点,我对其进行了工号和学号的fuzz,发现其中用户密码都是经过md5加密的)
发现从原来undefined,变成了我传入的md5值,成功修改密码
利用修改之后的账号密码,成功登陆系统
同时可以对会议室实验室啥的进行管理,开个门,关个门,开个空调,开个电风扇等等
0x04 实战案例二:
南神永远滴神!!!
依旧还是一个证书站的小程序
如何获得管理员的手机号捏~,先利用自建注册的账号,进系统内对各个功能点进行探测,发现有个数据包中带有userID值,尝试越权
发现当访问其他userID时会提示登录超时,看到有个token验证,尝试删除再访问其他userID。发现当userID的值存在时会回显数据,没有则会返回空。
对userID直接fuzz遍历获得linkMobile,就是其手机号。
成功获取一些管理员用户手机,直接在忘记密码处4位纯数字爆破修改密码。
0x05:后言
涉及漏洞均已提交edusrc。
网络如山勤思为径,信息似海安全作舟。
多一分网络防护技能,多一份信息安全保障。
你想在靶场学习CTF技术吗?