抛开day不谈,为什么同样一个站你挖不到洞,别人却能咔咔上分?
今天介绍介绍类似的场景,不过是碰到小程序存在登录框,而且碰巧可能又是某某单位内部使用的小程序,没有账号没法注册,怎么测试呢?今天就简单介绍一个思路,各位老铁可以参考一下,如果有更好的思路也可以后台私信斯叔哈。
正常情况下我们当然是根据目光所及的功能点进行测试,然后搭配上扫描目录的手法进行渗透的。在web站点的时候我们还会有用一些趁手的工具对网站写在js文件里面的接口进行爬取的操作,然后测试每个接口是否存在未授权访问的情况,那么小程序站点我们该如何爬取?其实也是一样的,无非就是不在浏览器里面访问罢了,但是我们可以通过反编译的方式获取到小程序的源码呀。
首先掏出我们的小程序解密工具--UnpackMiniApp.exe
选择电脑上加密小程序包的位置,一般在
C:Users用户名DocumentsWeChat FilesApplet
这个路径下面。打开之后会发现有很多的数字与字母组合为文件名的文件夹,正常情况下是选择最新生成的文件夹,实在分辨不出来可以把路径下面所有的文件夹都给删除,然后重新打开小程序,新生成的文件夹就是目标小程序相关的文件夹了。
选择文件夹下面的__APP__.wxapkg文件进行解密
他会自动在UnpackMiniApp.exe的当前目录下的wxpack生成一个以之前提到的数字与字母组合为文件名的wxapkg文件。下面使用wxappUnpacker进行解包即可得到小程序的源码信息,命令如下
bingo.bat xxx.wxapkg(wxapkg文件的路径)
下面使用VScode 打开小程序源码文件夹,如果是攻防演练的话可以直接在左侧的搜索处搜索一些敏感的容易getshell的接口,比方说上传啊之类的接口,例如直接搜索upload,/upload之类的代码
快速定位到上传接口,一般情况下,这种站点很容易有未授权访问的问题,在于他们都认为自己的系统是内部成员才能使用,于是就疏忽了安全方面的考虑,如果再存在能够任意文件上传的问题就直接可以前台文件上传getshell了。
当然其他接口也可以通过全局搜索.post(",.get("之类的关键字搜索到,可以写个python脚本,正则自动提取如app-service.js或者其他文件中的接口信息。然后放在burp里面批量跑,先看哪些接口是未授权接口,然后回到js中看看这些未授权的接口的请求参数都是什么,拼接上请求的参数,然后测试是否存在信息泄露,sql注入,fastjson,log4j2之类的漏洞
原文始发于微信公众号(迪哥讲事):内部小程序?目光所及只有登录口,没有账号怎么测试?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论