某行小程序投标测试的思路和坑
字数 852 2025-08-18 11:37:45
微信小程序安全测试:投标测试思路与常见问题解析
1. 投标测试概述
投标测试与常规渗透测试的区别:
- 重点在于发现尽可能多的漏洞,包括低危漏洞
- 如banner泄露、Apache版本泄露等低危问题也可计分
- 不同于渗透测试只关注高危漏洞
2. 微信小程序测试的三个关键坑点
2.1 第一个坑:HTTPS证书问题
现象:
- 访问微信小程序显示"访问超时"
原因:
- 小程序使用HTTPS协议但证书未正确配置
解决方案:
- 将网站证书安装到测试设备上
2.2 第二个坑:数据包加密问题
现象:
- 小程序数据包被加密,难以直接测试
解决方案:
- 获取微信小程序本地包(wxapkg)
- 微信小程序访问后会自动下载到本地设备
- 解包获取前端代码
- 使用专用解包工具(非nodejs方法)
- 从JS代码中提取加密方式和密钥
- 案例中为ECB加密模式
2.3 第三个坑:加密解密工具差异
问题现象:
- 不同解密网站对相同加密数据的处理结果不一致
- 特别是包含双引号的数据会出现异常
关键发现:
- 某些解密网站(如tool.chacuo.net)会先对输入进行HTML转义
- 将双引号转义为"后再加密
- 导致与预期加密结果不一致
推荐工具:
- 使用不会自动转义的解密网站
- 建议将解密功能集成到Burp Suite中方便测试
3. 测试流程总结
- 解决HTTPS证书问题
- 获取并解包小程序本地文件
- 从JS代码中提取加密信息
- 选择正确的解密工具或集成到Burp
- 对解密后的业务逻辑进行测试
4. 实用建议
- 对于加密数据测试,建议开发Burp插件自动化处理
- 关注前端代码中的敏感信息(密钥、加密方式等)
- 测试时注意不同工具对特殊字符的处理差异
- 投标测试应全面记录所有发现的问题,包括低危漏洞
5. 参考资料
文中提到的解密网站:
- http://tool.chacuo.net/cryptaes
- http://www.seacha.com/tools/aes.html
注意:实际测试时应根据小程序具体实现调整方法,本文提供的是通用思路。