个人信息保护与小程序安全
自2025年起,网信办、工业和信息化部、公安部和国家市场监管总局联合开展了全国范围内的个人信息保护专项治理工作,旨在加强个人信息保护力度。《个人信息保》的,更是为个人信息安全提供了法律保障。随着小程序等新应用形态的普及,其使用门槛低、操作简便的特点吸引了大量用户。小程序的安全机制继承了微信的整体安全建设,因此,与传统应用相比,小程序的测试重点更多在于服务端,即小程序与后端交互过程中可能存在的安全风险。
小程序反编译的挑战与解决方案
以往,反编译小程序源码需要从客户端获取,相较于电脑端,这一过程较为繁琐。针对电脑端用户,以下方法可以用于解密小程序。使用的工具提供了两种解密方式:一种是提取解密密钥,另一种是直接让小程序自动解密。这里我们选择第二种方法,通过修改小程序的路径,自动生成解密后的文件。首先,需要找到小程序的存储地址。
小程序解密的具体步骤
当我们通过电脑端访问小程序后,系统会生成对应的目录,根据目录结构找到需要解包的小程序。接着,修改相关文件中的小程序路径以及解密后的文件路径。随后,搜索本机小程序的进程,利用脚本加载相关文件,生成解密后的小程序包。
反编译工具的选择与使用
获取解密后的小程序包后,接下来就是反编译获取源代码。通过搜索相关工具,发现大多数工具已被删除或开始收费。最终,我们找到了一款基于开源项目的改进工具,测试后发现仍可使用。使用方法非常简单,首先安装依赖,当检测到为子包时,添加参数指定主包源码路径,即可自动将子包解析到主包的对应位置下。运行后,小程序即可成功反编译。
小程序安全测试的关键点
通过反编译工具,我们可以还原小程序的文件夹结构。其中,页面结构、样式等文件主要存放在特定文件夹中。对于安全测试来说,重点在于这些文件。如果小程序与后端服务器进行了加密传输,可以通过跟踪传输中的加密参数,逐步加密方式。
小程序抓包与漏洞挖掘
对于电脑端用户,小程序的抓包过程相对简单。只需设置系统代理,并在浏览器中设置代理,即可抓取数据包。通过抓取登录数据包,发现账信息及返回数据均采用国密2加密传输。因此,通过提取小程序源码,可以获取传输过程中的加密方式,进而推导出整个加密算法。
越权漏洞的发现与利用
通过注册登录后查看个人信息,发现参数为明显的数字编码。通过遍历编码,发现返回包内容发生变化,推测小程序存在越权漏洞,可能通过该漏洞获取个人敏感信息。通过反编译获取到的私钥,可以对密文进行解密,或利用泄露的公钥对用户名和字典进行加密,进而爆破账户。
批量解密与安全测试
最终,通过编写脚本,可以利用该漏洞批量解密获取明文的个人敏感信息。通过以加密参数为关键字进行全局搜索,可以获取小程序的加密方式,进而尝试进行越权访问、注入、账爆破等安全测试。此外,部分小程序可能使用云存储,将硬编码信息存放在源代码文件中,这也为安全测试提供了新的切入点。