某行小程序投标测试的思路和坑
字数 852 2025-08-18 11:37:45

微信小程序安全测试:投标测试思路与常见问题解析

1. 投标测试概述

投标测试与常规渗透测试的区别:

  • 重点在于发现尽可能多的漏洞,包括低危漏洞
  • 如banner泄露、Apache版本泄露等低危问题也可计分
  • 不同于渗透测试只关注高危漏洞

2. 微信小程序测试的三个关键坑点

2.1 第一个坑:HTTPS证书问题

现象

  • 访问微信小程序显示"访问超时"

原因

  • 小程序使用HTTPS协议但证书未正确配置

解决方案

  • 将网站证书安装到测试设备上

2.2 第二个坑:数据包加密问题

现象

  • 小程序数据包被加密,难以直接测试

解决方案

  1. 获取微信小程序本地包(wxapkg)
    • 微信小程序访问后会自动下载到本地设备
  2. 解包获取前端代码
    • 使用专用解包工具(非nodejs方法)
  3. 从JS代码中提取加密方式和密钥
    • 案例中为ECB加密模式

2.3 第三个坑:加密解密工具差异

问题现象

  • 不同解密网站对相同加密数据的处理结果不一致
  • 特别是包含双引号的数据会出现异常

关键发现

  • 某些解密网站(如tool.chacuo.net)会先对输入进行HTML转义
    • 将双引号转义为"后再加密
  • 导致与预期加密结果不一致

推荐工具

  • 使用不会自动转义的解密网站
  • 建议将解密功能集成到Burp Suite中方便测试

3. 测试流程总结

  1. 解决HTTPS证书问题
  2. 获取并解包小程序本地文件
  3. 从JS代码中提取加密信息
  4. 选择正确的解密工具或集成到Burp
  5. 对解密后的业务逻辑进行测试

4. 实用建议

  • 对于加密数据测试,建议开发Burp插件自动化处理
  • 关注前端代码中的敏感信息(密钥、加密方式等)
  • 测试时注意不同工具对特殊字符的处理差异
  • 投标测试应全面记录所有发现的问题,包括低危漏洞

5. 参考资料

文中提到的解密网站:

  • http://tool.chacuo.net/cryptaes
  • http://www.seacha.com/tools/aes.html

注意:实际测试时应根据小程序具体实现调整方法,本文提供的是通用思路。

微信小程序安全测试:投标测试思路与常见问题解析 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 注意:实际测试时应根据小程序具体实现调整方法,本文提供的是通用思路。