小程序测试流程

VSole2022-01-28 15:40:26

小程序测试流程

分为两个方面,解包可以挖掘信息泄露问题、隐藏的接口,抓包可以测试一些逻辑漏洞、API安全问题。两者结合起来就可以边调试边进行测试,更方便于安全测试。

搜索目标小程序

目标搜索不能仅仅局限于主体单位,支撑单位、供应商、全资子公司等都可能是入口点,所以小程序当然也不能放过它们。

小程序主体信息确认

查看小程序账号主体信息,否则打偏了花费了时间不说,还可能有法律风险。

点击小程序

点更多资料就能看到小程序相关信息

小程序包获取

PC端

首先在微信中搜索到小程序,并打开简单浏览

然后在自己微信文件保存路径下找到applet下找到该小程序包,可以通过时间或者小程序的appid快速定位到目标包

微信电脑端小程序包存在加密,需要使用工具进行解密

下载地址:微信后台回复  解包小工具

windows端获取小程序包流程

打开解密工具,在工具目录建立wxpack文件夹(解密后的小程序包会放在这个地方),运行工具解密需要操作的小程序包即可

移动端

找到对应目录,把包拉出来即可

安卓保存路径:

/data/data/com.tencent.mm/MicroMsg/{⽤户ID}/appbrand/pkg/  

iOS保存路径:

/var/mobile/Containers/Data/Application/{程序 UUID}/Library/WechatPrivate/{⽤户ID}/WeApp/LocalCache/release/{⼩程序ID}/ )

由于安卓data目录需要root权限访问,所以需要手机或模拟器root

android模拟器获取小程序包流程

这里我用到的是夜神模拟器,登录微信,找到小程序

方法是将复制的内容放到mnt->shared->orther下,就会自动同步到PC端,这是模拟器的共享目录

解包

工具地址:

https://github.com/xuedingmiaojun/wxappUnpacker

环境安装

npm install uglify-es --savenpm install esprima --savenpm install css-tree --savenpm install cssbeautify --savenpm install vm2 --savenpm install js-beautify --savenpm install escodegen --savenpm install cheerio --save

执行node wuWxapkg.js xxxxxx.wxapkg

不出意外应该没啥问题,但意外往往很多。node版本问题,依赖问题等等都有可能导致解包失败,这个时候就希望懂nodejs的同学深入了解小程序的打包压缩逻辑,然后动手二开项目。不懂的又没打算往这方面深入研究的怎么办呢,那换一个目标呗。

调试

打开微信开发者工具,选择导入项目

导入项目后可能会出现一些代码错误,需要自己手动修改,没有错误后可以编译,之后愉快的进行调试了

记得在“本地设置”模块,勾选上“不校验合法域名”功能。

有些小程序包含第三方插件,而⼩程序插件直接在微信客户端内是⽆法搜索得到的,但我们可以通过登录⾃⼰的⼩程序微信开放平台账 户在“设置” --> “第三⽅设置” --> “添加插件”中搜寻⼩程序插件。

抓包

简单来讲就是配置全局代理,让微信走全局代理。首先打开抓包工具,配置好代理,然后修改windows代理配置

就可以抓包分析了~


小程序抓包
本作品采用《CC 协议》,转载必须注明作者和本文链接
通过一些尝试后,问题暂时解决,特此记录一下。问题出现之前的测试环境:Pixel 4. 由于其他app的请求是没问题的,比如该程序的app版本,这时怀疑是不是微信又在防御方面升级了。最终得到结论:PC端微信程序:Fiddler设置系统代理,并将网关代理设置为burp的127代理+Burp Suite的logger++插件记录流量。
0x01 开门见山首先回顾一下《微信绑定手机号数据库被脱库事件》,我也是第一时间得知了这个消息,然后跟踪了整件事情的经过。下面是这起事件的相关截图以及近日流出的一万条数据样本:个人认为这件事也没什么,还不如关注一下之前45亿快递数据查询渠道疑似在近日复活的消息。消息是这么传的,真假尚未确定,因为笔者不会冒着查询个人信息意味着账号和个人信息绑定的风险去测试是否为真,但是可以知道的是之前的查询渠道叫“
总结下微信程序安全测试的思路及技巧。
App 服务端测试基本就是 Web 安全那一套,但如果不到服务器的?模拟器和测试手机的安版本建议在 7 以下,生态较好。
免费开源 Http、Https 工具,支持 Windows、Mac、Android、IOS, 全平台系统,使用 Flutter 框架开发
0x01 确定目标无目标随便打,有没有自己对应的SRC应急响应平台不说,还往往会因为一开始没有挖掘到漏洞而随意放弃,这样往往不能挖掘到深层次的漏洞。所以在真的想要花点时间在SRC漏洞挖掘上的话,建议先选好目标。0x02 确认测试范围前面说到确定测什么SRC,那么下面就要通过一些方法,获取这个SRC的测试范围,以免测偏。
我们在外网进行打点的时候,会发现现在的网站防护都很高,很难找到直接利用的漏洞。因此我们会将更多的精力放在企业邮箱,vpn以及供应商上,要突破这些,要么钓鱼要么爆破。信息搜集越丰富就越能为我们的爆破,钓鱼甚至猜密码提供巨大帮助。
SRC信息收集思路分享
2021-11-03 09:28:57
说到信息收集,网上已经有许多文章进行描述了,那么从正常的子域名、端口、旁站、C段等进
0x01 确定目标无目标随便打,有没有自己对应的SRC应急响应平台不说,还往往会因为一开始没有挖掘到漏洞而随意放弃,这样往往不能挖掘到深层次的漏洞。所以在真的想要花点时间在SRC漏洞挖掘上的话,建议先选好目标。
VSole
网络安全专家