V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CNYoki
V2EX  ›  程序员

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

  •  
  •   CNYoki · 2023-08-28 18:32:57 +08:00 · 3671 次点击
    这是一个创建于 445 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天偶然发现 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 去爬虫已经是属于恶意的吧

    20 条回复    2023-08-30 06:36:40 +08:00
    Jirajine
        1
    Jirajine  
       2023-08-28 19:00:44 +08:00 via Android
    “伪造 UA 去爬虫”
    按照腾讯的说法,这个叫“云加速”,是一种向用户提供的以广告等方式覆盖成本的云服务。
    bunnyblueair
        2
    bunnyblueair  
       2023-08-28 19:07:37 +08:00
    关注
    totoro52
        3
    totoro52  
       2023-08-28 19:12:16 +08:00   ❤️ 1
    你在微信连接中发的连接都会被爬虫的, 他要检测连接是否是违法的, 然后要检测标题和描述用于分享
    CNYoki
        4
    CNYoki  
    OP
       2023-08-28 19:14:49 +08:00 via iPhone
    @totoro52 检测标题是在爬虫前就已经完成的,链接内容检测倒是有可能,但是没有找到有关的用户协议
    totoro52
        5
    totoro52  
       2023-08-28 19:30:47 +08:00
    @CNYoki 一家独大还需要用户协议? 明天就改! ( doge
    hongfs
        6
    hongfs  
       2023-08-28 19:33:40 +08:00   ❤️ 1
    @CNYoki 用户协议?我发一个跟我没关系的网站,就是我授权腾讯可以去爬虫了??还不如看腾讯有没有遵守 robots 呢,不过这东西法律法规也没规定呀。
    1423
        7
    1423  
       2023-08-28 19:37:45 +08:00
    tg 也一样,这太正常了
    learningman
        8
    learningman  
       2023-08-28 19:58:18 +08:00 via Android
    X5 内核的功能,具体细节你进 debugTBS 看就知道了
    imherer
        9
    imherer  
       2023-08-28 20:00:36 +08:00
    你说对了。
    我记得之前也有人发过帖子,说他开发一个功能,那个链接只要访问一次就失效。 他每次就是生成一个链接,然后通过微信发给另一台电脑访问,但是他发现一个奇怪的问题就是每次微信发过去之后在访问链接就失效了,排查了好久才发现是微信给访问了
    privil
        10
    privil  
       2023-08-28 20:08:57 +08:00
    @imherer #9 钉钉也会这样的。很多 IM 都会
    hhacker
        11
    hhacker  
       2023-08-28 20:18:36 +08:00
    那个人如果我没有记错就是我
    yankebupt
        12
    yankebupt  
       2023-08-28 20:37:01 +08:00
    加 js 检测,检测合格为 wechat 内置浏览器发 nonce 继续,检测不合格为爬虫直接拒掉
    怎么拒?加个 captcha 或者滑块就行,反正爬虫目前没有肯花 5 分钱请打码平台帮着划一下的,程序不要钱人要钱
    美其名曰:为 wechat 内置浏览器深度适配。
    ChineseTeacher
        13
    ChineseTeacher  
       2023-08-28 20:48:58 +08:00   ❤️ 4
    微信这样做肯定是违反业内通常规则的。微信的问题不在于伪造 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
        14
    webshe11  
       2023-08-28 20:57:38 +08:00
    几年前就发现了这个现象
    vgbw
        15
    vgbw  
       2023-08-28 21:02:08 +08:00
    这个之前就有人发现了
    mytsing520
        16
    mytsing520  
       2023-08-29 04:53:24 +08:00
    VX 、钉钉,都有,用于提取页面标题和内容进行预处理
    另外,VX 有内置的云加速,即正向代理,有部分请求会以 VX 的 IP 地址过来访问而不是访客本身网络所在的 IP 地址
    JensenQian
        17
    JensenQian  
       2023-08-29 05:39:43 +08:00 via iPhone
    杜叔叔也会,是荷兰的 tg 服务器,我之前群内发查 ip 网站,他跳出来一个 ip
    cyp0633
        18
    cyp0633  
       2023-08-29 08:20:59 +08:00
    @JensenQian tg 有时候会在链接下面直接显示网页内容吧,这倒是很容易看出来被提前访问了
    CNYoki
        19
    CNYoki  
    OP
       2023-08-29 08:46:29 +08:00 via iPhone
    是的,而且 tg 的爬虫遵守 robots.txt
    GuangXiN
        20
    GuangXiN  
       2023-08-30 06:36:40 +08:00 via Android
    服务器请求一下,获取标题图标,又没顺着你的超链逐一抓取,算哪门子爬虫?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2797 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:43 · PVG 20:43 · LAX 04:43 · JFK 07:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.