一个微信公家号缝隙案例分析 8090安适门户
学校有个对照知名的公家号,用了两年觉得还长短常不错的,查成效查公交查图书啥都有。
一个偶然的机会得到了公家号接口的权限,发明很多「有趣的事」,据说还可以黑产。目前该缝隙已经提交给微信号开发方完成修复,这篇文章主要申饬列位微信公家号开发人员关于WECHAT_APPID和WECHAT_APPSECRET的重要性。
信息收集数据包截断
首先使用抓包软件,好比BrupSuite对微信公家号的数据包进行截取,数据包的URL地点概略如下:
xxxx.com/tools/query
去失参数和路径直接用一级域名访谒
访谒域名
这个时候跳转到一个博客,为了不泄露隐私就不截图了。应该是开发人员的小我私家博客,翻了一下没啥能用的信息。用nslookup查ip发明超时看,ping一下获得了ip地点,是阿里云的主机。nmap扫了一圈,发明开了mysql和phpmyadmin(在端口8181上)。
访谒IP报错但是没有找到好的操作姿势,于是直接用ip访谒了一下,爆出大量错误信息!应该是使用了laravel的debug插件,但是没有及时封锁所导致的。
如下图所示:
右下角往下拉,可以看到包孕所有laravel的环境变量都显示了出来,包孕数据库信息。
但是ip在内网,而且也不能用来登录mysql和myadmin。
注意到最后的几个变量WECHAT_APPID和WECHAT_APPSECRET
一开始不认识,但是看见secret关键字,应该是不能随意泄露的,怎么用呢?让微信官方教我们吧
这里是天时人地相宜获得的WECHAT_APPID和WECHAT_APPSECRET,如果通过其它web缝隙进入了处事器,同样可以通过找配置文件获取这些值,所以说此刻需要留意的不只是数据库连接信息了。
缝隙操作微信公家平台开发者文档
官方说,access_token是公家号的全局独一单据,公家号挪用各接口时都需使用access_token。
公家号可以使用AppID和AppSecret挪用接口来获取access_token,于是我们获得的数据派上了用场。
接口挪用请求说明http请求方法: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
返回了一串很长的token,以后挪用接口都带上这个access_token参数即可,官方说有效期目前为2个小时,需按时刷新,反复获取将导致上次获取的access_token掉效。
参照官方文档,应该有很多操作姿势,终究能群发,能获取到用户地点之类的隐私数据,但是也有部分成果需要后台填写url地点才行,具体的大家可以研究下上面的文档,挖掘更多姿势,下面我就演示下影响对照大的群发。
群发演示再次参照官方文档
想群发所有人,需要使用is_to_all参数,但是有次数限制,所以先查分组,使用分组发送。
盘问所有分组接口挪用请求说明
http请求方法: GET(请使用https协议) https://api.weixin.qq.com/cgi-bin/groups/get?access_token=ACCESS_TOKEN返回说明正常时的返回JSON数据包示例:
{ "groups": [ { "id": 0, "name": "未分组", "count": 72596 }, { "id": 1, "name": "黑名单", "count": 36 }, { "id": 2, "name": "星标组", "count": 8 }, { "id": 104, "name": "华东媒", "count": 4 }, { "id": 106, "name": "★意外试组★", "count": 1 } ] }我使用文档里的接口调试工具演示此次的实例
选个中人数最多的两组,id为0和104
按照分组进行群发【订阅号与处事号认证后均可用】
接口挪用请求说明http请求方法: POST https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN POST数据说明
POST数据示例如下:
温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/12573.html