针对微信小程序的渗透测试 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

针对微信小程序的渗透测试

发表时间:2020-10-18

发布人:葵宇科技

浏览次数:53

2020.9.19凌晨3点23
深夜难眠,回想起今天waf上一大堆误报和寥寥无几的告警,甲方爸爸提供的两荤一素已经换成了白粥榨菜,农夫已经换成了怡宝,猪肉换成了榨菜,或许我们是时长一个月实习生的身份,已经彻底暴露了,明天不知道是不是只能吃开水泡面了。唉,明天又要穿上白衬衫,继续假装自己是5年工作经验的安全专家,今晚终于认清现实,活捉红队0day依然是我们遥不可及的梦。
生而为人,我很抱歉。


材料准备:
burp suite、模拟器(把微信装好)、node.js、wxappUnpacker、root explorer

操作流程:
步骤1: 配置Burp和模拟器(模拟器需导入ca证书),打开模拟器的WLAN-->高级设置-->输入物理机的ip以及一个没被占用的端口,Burp用于代理该端口




步骤2:打开微信-->随便点击一个小程序进入小程序主界面,然后打开文件管理器



在/data/data/com.tencent.mm/MicroMsg/xxxxxxx(不同微信文件夹也不同)/appbrand/pkg/目录下存放着刚才访问这个小程序的两个数据包,


两个包分为子包和主包
压缩后通过模拟器的微信发送到物理机进行反编译


可以直接用notepad++ 但是会有乱码,这里使用git下载的wxappUnpacker进行反编译
CMD进入wxappUnpacker的下载目录,安装依赖包

Shell

 
  1. npm install esprima

  2. npm install css-tree

  3. npm install cssbeautify

  4. npm install vm2

  5. npm install uglify-es

  6. npm install js-beautify

复制 文本




依赖包安装好后 使用命令node wuWxapkg.js C:\xxxxxx\xxxxxx\_-1971317095_1.wxapkg
进行反编译(如果是子包的话需要加-s参数)


反编译完成
接下来就是针对所有js、html进行漏洞分析,寻找突破口


通过简单的信息收集得知该小程序是windows+iis7.5+.net+mssql
80、443、3389端口开启
且程序采用了svc接口

从js中得到一个接口用于判断手机号是否注册


通过单引号 和 '--(单引号+mssql闭合) 发现返回包不同

使用单个单引号 报错:系统故障



使用 单引号跟闭合 返回正确数据包 因此判断该处通过单引号闭合



最后验证存在SQL注入



注入点权限很小 --os-shell权限为iis
且注入点只能布尔和延迟,列目录写shell属实浪费时间
通过子域名扫描得到后台一枚,且发现该程序居然还是一个通用系统。。


通过注入点拿到后台账号密码后 就是常规的渗透思路了,本文着重于微信公众号的反编译(最后好像有点跑题),有不足之处希望评论区留言指正,反正我也不会改的

相关案例查看更多