在一次针对某微信小程序的授权测试中,目标功能较为简单,可测试的攻击面有限。

初步审计登录流程,发现服务端并未记录session key。尝试利用此缺陷进行测试,但未能成功。

随后尝试反编译小程序,检查是否存在硬编码的敏感密钥(如secret)泄露,同样没有收获。

转而审查小程序内两个主要功能点。经过一系列测试,发现接口依赖Token进行鉴权,且没有独立的用户或资源ID参数,导致难以进行越权或信息遍历测试。

在测试陷入僵局时,尝试将小程序加载的页面在PC端浏览器中访问。

随后,对页面调用的网络接口进行抓包分析。

首先在未授权状态下对接口进行ID遍历测试,未发现有效信息。接着,使用已登录小程序的凭证(Token)对同一批接口进行安全测试,情况发生了转变。

多个API接口被发现存在不安全的直接对象引用(IDOR)漏洞,攻击者可通过修改请求中的ID参数访问其他用户的数据。值得注意的是,一些关键的事故相关API也存在同类安全漏洞。

测试人员迅速梳理了漏洞详情与风险,同步给客户进行修复。
|