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

免责声明:

由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

深夜难眠,回想起今天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的下载目录,安装依赖包

复制代码
Shellnpm install esprimanpm install css-treenpm install cssbeautifynpm install vm2npm install uglify-esnpm install js-beautify

复制 文本

依赖包安装好后 使用命令node wuWxapkg.js C:\xxxxxx\xxxxxx\_-1971317095_1.wxapkg

进行反编译(如果是子包的话需要加-s参数)

反编译完成

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

通过简单的信息收集得知该小程序是windows+iis7.5+.net+mssql

80、443、3389端口开启

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

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

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

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

最后验证存在SQL注入

注入点权限很小 --os-shell权限为iis

且注入点只能布尔和延迟,列目录写shell属实浪费时间

通过子域名扫描得到后台一枚,且发现该程序居然还是一个通用系统。。

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

相关推荐
网络空间小黑2 小时前
渗透测试行业术语2
服务器·网络·安全·网络安全·中间件
A5rZ12 小时前
js原型污染 + xss劫持base -- no-code b01lersctf 2025
网络安全
Johny_Zhao16 小时前
堆叠、MLAG、VPC、VSS 技术对比及架构建议
linux·网络·人工智能·python·网络安全·ai·信息安全·云计算·cisco·等保测评·huawei·系统运维
wzx_Eleven21 小时前
【论文阅读】基于客户端数据子空间主角度的聚类联邦学习分布相似性高效识别
论文阅读·人工智能·机器学习·网络安全·聚类
泪不是Web妳而流1 天前
【CTFSHOW_Web入门】命令执行
web安全·网络安全·php·linux命令·rce·命令执行·ctfshow命令执行wp题解
RLG_星辰1 天前
第六章-哥斯拉4.0流量分析与CVE-2017-12615的复现
笔记·安全·网络安全·tomcat·应急响应·玄机
独行soc1 天前
2025年渗透测试面试题总结-某服面试经验分享(附回答)(题目+回答)
linux·运维·服务器·网络安全·面试·职场和发展·渗透测试
2501_916013741 天前
从一次被抄袭经历谈起:iOS App 安全保护实战
websocket·网络协议·tcp/ip·http·网络安全·https·udp
请再坚持一下1 天前
网络安全护网行动之个人见解
安全·web安全·网络安全
00后程序员张2 天前
做 iOS 调试时,我尝试了 5 款抓包工具
websocket·网络协议·tcp/ip·http·网络安全·https·udp