当前位置:首页 > 电脑常识 > 正文

一个微信公家号缝隙案例分析 8090安适门户

11-20 电脑常识

学校有个对照知名的公家号,用了两年觉得还长短常不错的,查成效查公交查图书啥都有。

一个偶然的机会得到了公家号接口的权限,发明很多「有趣的事」,据说还可以黑产。目前该缝隙已经提交给微信号开发方完成修复,这篇文章主要申饬列位微信公家号开发人员关于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

博客主人杰米WWW
杰米博客,为大家提供seo以及it方面技巧喜欢的朋友收藏哦!
  • 11365文章总数
  • 1378073访问次数
  • 建站天数
  •