TES286 发表于 2021-9-1 11:20

关注公众号cookie验证删除和请求接口获取

# 0x01 分析

首先,先请求followedCheck,然后一个showqrcode,后面一大堆重复的getFollowState,如图



看这架势,就是要知道你关注为止

# 0x02 法一: 分析请求

先看followedCheck, 翻译就是"检测关注", 看看这个请求



返回了三个信息, 第一个pass, 顾名思义猜测是是否通过, qrPath返回的是一个微信的链接, 明显是二维码获取的链接, 最后一个ticket也不重要, 用来验证身份的

那一长串的getFollowState检测关注状态, 只返回一个状态, 如图



使用reres将本请求移到本地即可, 用python的flask写一个简单的后端, ok

```python
import flask
app = flask.Flask(__name__)
@app.route('/gongzhong/follow/getFollowState')
def fixCheck(path='/'):
return '{followState: 0}', 200
app.run(port=80)
```

# 0x03 法二: 分析js

通过按钮找到单击监听的地方, 是一个闭包函数里面



大概是调用followCheck, 参数是一个函数, 主要是JQuary的Ajax, 看看followCheck



可以看到, 就是一大串的校验, 如果通过, 就执行callback, 不行就弹出二维码

使用以下js脚本就可以解决

```javascript
_followCheck = followCheck;
function followCheck(callback){
callback();
}
```

# 0x04 抓取调用url

在第三部分的按钮监听那里, 可以看到Ajax的请求参数, 可以简单的将其添加到爬虫里面

```python
import requests

URL = 'SOME_URL'
toFormat = 'FORMAT'

r = requests.get(HOST + PATH + '?url={0}&toFormat={1}'.format(URL, toFormat))
if r.json()['status'] == 'error':
print(r.json()['errorMsg'])
else:
print(URL_ROT + r.json()['identification'])
```

> 这个网站反爬真的不行, 连ua都没验证, 最开始测试时忘记伪装ua, 后来还成功了, 很长时间之后才发现没改ua

剑来…… 发表于 2021-9-3 11:55

楼主是怎么抓微信的数据包,看着截图有点像Chrome自带的F12啊,现在可以直接在浏览器上调试了吗

meichangsu 发表于 2021-9-1 11:43

谢谢楼主分析

绝对疯子 发表于 2021-9-1 17:46

太难了~!!!!

侃遍天下无二人 发表于 2021-9-1 18:15

验证了又能怎样,伪造起来还不是易如反掌,所以干脆不验证了{:301_988:}

ynboyinkm 发表于 2021-9-1 19:23

感谢分享!!

aonima 发表于 2021-9-1 20:04

感谢楼主分析

dayudengyu 发表于 2021-9-2 09:22

加验证的收益小,能走到这一步的,加了验证也是多此一举

czlhw 发表于 2021-9-2 16:39

关注公众号这个可以破。哈哈

hk9186 发表于 2021-9-18 02:22

支持一下,大兄弟能不能帮忙分析教一下https://subdh.com字幕网现在这个公众号验证
页: [1] 2
查看完整版本: 关注公众号cookie验证删除和请求接口获取