* 本文涉及到相关漏洞已报送厂商并修复,本文仅限技术讨论和研究,严禁用于非法用途,否则产生后果自行承担
基本概念
session_key指的是会话密钥,可以简单理解为微信开放数据AES加密的密钥,它是微信服务器给开发者服务器颁发的身份凭证,这个数据正常来说是不能通过任何方式泄露出去的。小程序若存在session_key泄露漏洞的情况,则代表微信侧传递的用户数据有被泄露、篡改等风险。
下面开始实战实例
危害:高危漏洞,造成账户接管,受害者无感 不需要交互
三个字段:encryptedData、session_key、iv
所需插件 AppletPentester
注意要在点开小程序之前就开启抓包,不然有可能会漏掉sessionkey
这是正常登录手机号为155的账号
将encryptedData、session_key、iv三个字段填入,通过插件的解密可以看到155的手机号
此时更改为我们想要接管的受害者的账户手机号,变更encryptedData字段,将它放在数据包中放包。
此时手机号变为了我们更改的11开头的手机号
此时就可以操作受害者的账户了。
若小程序存在相应的session_key泄露漏洞问题,请开发者尽快自查并修复漏洞:
请尽快在网络请求中,去除请求和响应中的session_key字段及其对应值,后续也不应该将session_key传到小程序客户端等服务器外的环境,需去除请求和响应中的所有相关信息,才可对该漏洞问题进行修复,以便消除风险。
插件下载的话公众号回复AppletPentester即可啦。
原文始发于微信公众号(梅苑安全学术):高危思路:sessionkey泄露导致接管账户
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论