微信/wechat 内访问链接会被爬虫

2023-08-28 18:32:57 +08:00
 CNYoki

今天偶然发现 nginx 日志里,未公开的路径被陌生 ip 访问,且 ip 来源都是腾讯云的线路。猜测是 wechat 的爬虫?

复现:构建一个不存在的路径,https://example.com/sb-tencent 通过 wechat 直接访问或扫码访问

127.0.0.1 - - [28/Aug/2023:18:18:28 +0800] " GET /sb-tencent HTTP/2.0 " 404 0 "-" " Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.40(0x18002830) NetType/WIFI Language/en "

过一会儿后,就能看到陌生 ip 的访问

180.163.28.180 - - [28/Aug/2023:18:17:46 +0800] " GET /sb-tencent HTTP/1.1 " 404 0 "-" " Mozilla/5.0 (Linux; Android 4.4.4; HUAWEI ALE-CL00 Build/HuaweiALE-CL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043024 Safari/537.36 MicroMessenger/6.5.4.1000 NetType/4G Language/zh_CN "

wechat 的爬虫会伪造 UA ,目前发现的有 Huawei 、Windows NT 、oppo 、vivo 、iPhone 等,且 UA 不一定包含 MicroMessenger ,例如Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36

爬虫的 ip 段目前发现的有 106.55.0.0/16, 81.71.0.0/16, 180.163.0.0/16 ,24 小时工作,有的时候甚至会在次日凌晨去爬。 不知道 tx 搞这出是要干嘛,伪造 UA 去爬虫已经是属于恶意的吧

3671 次点击
所在节点    程序员
20 条回复
Jirajine
2023-08-28 19:00:44 +08:00
“伪造 UA 去爬虫”
按照腾讯的说法,这个叫“云加速”,是一种向用户提供的以广告等方式覆盖成本的云服务。
bunnyblueair
2023-08-28 19:07:37 +08:00
关注
totoro52
2023-08-28 19:12:16 +08:00
你在微信连接中发的连接都会被爬虫的, 他要检测连接是否是违法的, 然后要检测标题和描述用于分享
CNYoki
2023-08-28 19:14:49 +08:00
@totoro52 检测标题是在爬虫前就已经完成的,链接内容检测倒是有可能,但是没有找到有关的用户协议
totoro52
2023-08-28 19:30:47 +08:00
@CNYoki 一家独大还需要用户协议? 明天就改! ( doge
hongfs
2023-08-28 19:33:40 +08:00
@CNYoki 用户协议?我发一个跟我没关系的网站,就是我授权腾讯可以去爬虫了??还不如看腾讯有没有遵守 robots 呢,不过这东西法律法规也没规定呀。
1423
2023-08-28 19:37:45 +08:00
tg 也一样,这太正常了
learningman
2023-08-28 19:58:18 +08:00
X5 内核的功能,具体细节你进 debugTBS 看就知道了
imherer
2023-08-28 20:00:36 +08:00
你说对了。
我记得之前也有人发过帖子,说他开发一个功能,那个链接只要访问一次就失效。 他每次就是生成一个链接,然后通过微信发给另一台电脑访问,但是他发现一个奇怪的问题就是每次微信发过去之后在访问链接就失效了,排查了好久才发现是微信给访问了
privil
2023-08-28 20:08:57 +08:00
@imherer #9 钉钉也会这样的。很多 IM 都会
hhacker
2023-08-28 20:18:36 +08:00
那个人如果我没有记错就是我
yankebupt
2023-08-28 20:37:01 +08:00
加 js 检测,检测合格为 wechat 内置浏览器发 nonce 继续,检测不合格为爬虫直接拒掉
怎么拒?加个 captcha 或者滑块就行,反正爬虫目前没有肯花 5 分钱请打码平台帮着划一下的,程序不要钱人要钱
美其名曰:为 wechat 内置浏览器深度适配。
ChineseTeacher
2023-08-28 20:48:58 +08:00
微信这样做肯定是违反业内通常规则的。微信的问题不在于伪造 UA ,爬虫可以用各种手机品牌的 UA ,因为它想要抓取这个链接在不同手机里的显示效果(就像一般 bot 的 UA 也可以带浏览器版本)。微信的问题在于它在 UA 里没有明示自己是微信的 bot ,也没有 bot policy 的链接(比如它应该加上 wechatbot 什么之类的字样就行了)。

还有是,在国内,bot 如果不遵守 robots.txt 的话,是违法的。国内有判例认为 robots.txt 属于业内通行的规定,不遵守就属于违法爬虫。

还有,chrome 也干一样的事,如果我没记错的话,facebook messenger 也会爬聊天里提到的链接,所以这也算是业界常规操作?但是 UA 不提及 wechatbot 很明显是有问题的


一个还在开发的网站,从未对外公布,结果被 google 索引到了...
https://www.v2ex.com/t/195209

一个没有任何外链的新站,Google 是怎么收录的?
https://www.v2ex.com/t/957324
webshe11
2023-08-28 20:57:38 +08:00
几年前就发现了这个现象
vgbw
2023-08-28 21:02:08 +08:00
这个之前就有人发现了
mytsing520
2023-08-29 04:53:24 +08:00
VX 、钉钉,都有,用于提取页面标题和内容进行预处理
另外,VX 有内置的云加速,即正向代理,有部分请求会以 VX 的 IP 地址过来访问而不是访客本身网络所在的 IP 地址
JensenQian
2023-08-29 05:39:43 +08:00
杜叔叔也会,是荷兰的 tg 服务器,我之前群内发查 ip 网站,他跳出来一个 ip
cyp0633
2023-08-29 08:20:59 +08:00
@JensenQian tg 有时候会在链接下面直接显示网页内容吧,这倒是很容易看出来被提前访问了
CNYoki
2023-08-29 08:46:29 +08:00
是的,而且 tg 的爬虫遵守 robots.txt
GuangXiN
2023-08-30 06:36:40 +08:00
服务器请求一下,获取标题图标,又没顺着你的超链逐一抓取,算哪门子爬虫?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/968970

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX