RSS Feed
更好更安全的互联网

通用型微信抢红包神器(已修复)

2016-02-26

Author: Evi1m0 (404安全实验室)

Date: 2016-02-26

本篇文章记录 2015年初时利用微信网页版红包 H5 接口实现的通用型平台抢红包神器,不同于目前市面上的抢红包外挂(模拟点击、HookAPI等)方式,当然该漏洞在15年3月便已经修复。

WebAPI

我们在使用网页版微信时无法点击领取红包,但是通过控制台查看网络包发现红包地址在 Response 中:

c334041bjw1f1cpjydvuuj20nv05fab1

当群组或者用户给我们发红包时可以在返回内容中可以看到红包的 URL 地址(手机端老版本的微信是使用 H5 的接口领取红包,而无法自动判断用户发来的消息是否为红包,网页版本微信解决了判断是否为红包消息的问题,并且能获取 URL)。

直接在浏览器访问获取到的红包 URL,提示来源错误。任何 HTTP 请求重放都是简单的,之后使用 Mitmproxy 获取手机抢红包时的 Cookie,User-Agent 等 Header 头,然后进行重放包是可以成功领取红包的。

c334041bjw1f1cpqmffzyj20o109oab8

Process

流水线:

  • 使用 JavaScript 对微信网页版 Hook 实时监听,判断收到消息是否为红包,如果是则匹配;
  • 使用 Mitmproxy 对手机端进行抓包,获取 Header 信息;
  • 利用获取到的头信息填充至开始获得到的红包地址,领取红包;

自动化:

  • 编写填充头信息以方便打开红包的 Python 脚本;
  • 编写实时监控浏览器中网络传输红包数据的 JavaScript 脚本;
  • 考虑方便本机搭建 Mini Django 项目,在获取到红包 URL 后自动发送请求给后端抢红包[1];
  • ...

效果图:

c334041bjw1f1cq1mv0jtj207s04imxg

Code

wechat_web_hook.js:

views.py:

End

文中部分代码和图片因时间无法全面提供,修复后不再传输红包地址:

c334041bjw1f1cqbpavrqj20jk0k2ae3

如果你要问现在还有没有新的方法,嗯是有的。

作者:niubl | Categories:技术分享 | Tags:

一条评论

发表评论