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

其实你们 base64 让爬虫更好收集联系方式了

  •  
  •   edis0n0 · 2023-01-03 18:13:20 +08:00 · 8791 次点击
    这是一个创建于 696 天前的主题,其中的信息可能已经有所发展或是发生改变。
    爬虫收集别的论坛里用户留下的联系方式要一个个解析 电话 微信 QQ 之类关键词的上下文,还要处理 wx: vx:v :这些各种奇怪的称呼和写法,甚至要上简单的 NLP 。V 站都不用分析,直接提取所有 base64 ,短一点的里面内容极大概率是联系方式
    59 条回复    2023-01-06 08:59:30 +08:00
    cairnechen
        1
    cairnechen  
       2023-01-03 18:18:43 +08:00   ❤️ 8
    base64 不是防爬虫的,是防止通过简单搜索就能完成 [人肉]
    securityCoding
        2
    securityCoding  
       2023-01-03 19:14:45 +08:00
    防社工的
    evan6
        3
    evan6  
       2023-01-03 19:15:20 +08:00   ❤️ 6
    把「我的联系方式是 xxxxxxxx 」转成 base64
    baobao1270
        4
    baobao1270  
       2023-01-03 19:16:51 +08:00
    @cairnechen
    @securityCoding

    防止社工感觉也不成立,专业的社工软件要集成进一个自动搜索 base64 其实很简单
    hertzry
        5
    hertzry  
       2023-01-03 19:59:46 +08:00
    穿着内裤裸奔,总比什么都不穿好。
    wunonglin
        6
    wunonglin  
       2023-01-03 20:13:32 +08:00
    好的。下次用 SHA256
    yankebupt
        7
    yankebupt  
       2023-01-03 20:20:06 +08:00   ❤️ 2
    base64 不是一种防收集方式
    而是一种警告:
    “小心,这人会 btoa ,收集他的联系方式有你好果子吃”
    loading
        8
    loading  
       2023-01-03 20:32:29 +08:00 via Android
    然后呢?你能穿过 gmail 的第一道防御?
    realpg
        9
    realpg  
       2023-01-03 23:19:23 +08:00   ❤️ 6
    @hertzry #5
    比喻不恰当
    应该是捂着脸裸奔
    lambdaq
        10
    lambdaq  
       2023-01-03 23:22:45 +08:00
    直接申请一个能 base64 解码的邮箱地址。
    pennai
        11
    pennai  
       2023-01-03 23:42:58 +08:00
    @wunonglin fyutftydrxrfyufiyu78678567-=-
    justfun
        12
    justfun  
       2023-01-03 23:54:42 +08:00
    好的 下次留 md5
    inframe
        13
    inframe  
       2023-01-03 23:55:26 +08:00
    换 base32 ,每次发布时指定一下编码格式,加点干扰字符
    SunsetShimmer
        14
    SunsetShimmer  
       2023-01-04 00:01:20 +08:00   ❤️ 1
    混淆过的 JavaScript 怎么样?

    ```
    function _0x4556(){var _0x2a9476=['\u6d4b\u8bd5\uff1a\u6211\u7684\u8054\u7cfb\u65b9\u5f0f\u662f','\x6c\x6f\x67','\x33\x30\x52\x68\x45\x52\x78\x51','\x35\x37\x35\x38\x39\x37\x55\x46\x46\x4c\x45\x46','\x35\x36\x33\x30\x30\x38\x38\x42\x67\x6a\x44\x6e\x41','\x31\x39\x39\x34\x35\x32\x62\x48\x74\x59\x4c\x6a','\x32\x34\x56\x71\x71\x6e\x55\x6b','\x32\x79\x49\x74\x6c\x56\x6e','\x38\x31\x34\x31\x37\x30\x71\x78\x66\x46\x72\x55','\x39\x67\x44\x4c\x72\x47\x43','\x38\x4b\x73\x56\x41\x51\x6d','\x32\x31\x33\x38\x39\x38\x38\x72\x61\x67\x46\x74\x67','\x6e\x42\x72\x4d\x4c','\x61\x73\x64\x73\x61\x73\x64\x2e\x63\x6f','\x37\x35\x34\x58\x6e\x49\x48\x76\x7a','\x31\x34\x38\x31\x34\x31\x34\x48\x41\x56\x48\x76\x65','\x31\x39\x35\x37\x34\x30\x35\x46\x79\x4c\x78\x44\x55'];_0x4556=function(){return _0x2a9476;};return _0x4556();}(function(_0x579769,_0x4391a9){var _0x135ebc={_0x2386ed:0x19e,_0x1e29fd:0x19d,_0x19f1e9:0x195,_0x41eea9:0x19c,_0x1039b1:0x198,_0x386c4e:0x1a5,_0x4f6823:0x19b},_0x165af4=_0x331e,_0x446e8f=_0x579769();while(!![]){try{var _0x13b3c9=parseInt(_0x165af4(_0x135ebc._0x2386ed))/(-0xa*-0x77+0x846*0x2+-0x1*0x1531)+parseInt(_0x165af4(_0x135ebc._0x1e29fd))/(0x1*-0x8b+-0x2655*-0x1+0x7c*-0x4e)*(parseInt(_0x165af4(0x1a1))/(-0xf89+0x2197+-0x1*0x120b))+-parseInt(_0x165af4(0x1a0))/(-0x233b*-0x1+-0x2412+0x49*0x3)*(parseInt(_0x165af4(_0x135ebc._0x19f1e9))/(-0x1107*0x1+-0x1*0x15ff+0x1*0x270b))+parseInt(_0x165af4(_0x135ebc._0x41eea9))/(0x1*-0x19bb+-0x1f7*0xe+0x3543)*(parseInt(_0x165af4(0x199))/(0xa7d*0x3+0x55*0x11+0xb*-0x35f))+-parseInt(_0x165af4(0x19a))/(0x469*-0x2+-0x2*-0x4+0x8d2)*(-parseInt(_0x165af4(0x19f))/(-0x1d39+0x48c+0x18b6))+-parseInt(_0x165af4(_0x135ebc._0x1039b1))/(0x173*-0x1+-0x1*-0x1fff+-0x8e*0x37)*(parseInt(_0x165af4(_0x135ebc._0x386c4e))/(0x1d*-0x53+-0xaf9*0x3+0x2a5d))+parseInt(_0x165af4(_0x135ebc._0x4f6823))/(-0x2*0x1348+0xea*-0x4+0x2a44)*(-parseInt(_0x165af4(0x1a4))/(0x1fca+-0xfbd+0x1*-0x1000));if(_0x13b3c9===_0x4391a9)break;else _0x446e8f['push'](_0x446e8f['shift']());}catch(_0x2117c4){_0x446e8f['push'](_0x446e8f['shift']());}}}(_0x4556,-0x1*-0x61dd7+0x1*0x28a3b+-0x26a61*0x1));function _0x331e(_0x403d30,_0x159d24){var _0x2b0f3b=_0x4556();return _0x331e=function(_0x49b134,_0x3c2993){_0x49b134=_0x49b134-(0x1*-0x1daf+-0x19b1+0x38f5*0x1);var _0x19ed6f=_0x2b0f3b[_0x49b134];return _0x19ed6f;},_0x331e(_0x403d30,_0x159d24);}function _0x109a9f(){var _0x543f84={_0x20e762:0x1a2,_0xf05216:0x196},_0xf5fff3=_0x331e,_0x84b98f={};_0x84b98f[_0xf5fff3(_0x543f84._0x20e762)]=_0xf5fff3(_0x543f84._0xf05216)+'\x61\x73\x64\x66\x67\x68\x6a\x6b\x6c\x40'+_0xf5fff3(0x1a3);var _0x91475e=_0x84b98f;console[_0xf5fff3(0x197)](_0x91475e[_0xf5fff3(0x1a2)]);}_0x109a9f();
    ```
    512357301
        15
    512357301  
       2023-01-04 00:19:33 +08:00 via Android   ❤️ 1
    主要是提高联系成本,防骚扰的,毕竟无聊的人很多,但是懒人更多
    DrakeXiang
        16
    DrakeXiang  
       2023-01-04 00:35:03 +08:00
    但是 base64 你要怎么判断? abcd123 和真正的 base64 你怎么区分?
    ysc3839
        17
    ysc3839  
       2023-01-04 00:44:03 +08:00 via Android
    我认为是否的。base64 在各类 html 中大量存在,要过滤的话就得先解析 html ,提取出显示文本,再提取 base64 。而邮箱这种规则的字符串几乎不会在别的地方出现。
    ttyhtg
        18
    ttyhtg  
       2023-01-04 00:46:54 +08:00   ❤️ 2
    才发现,这里没有私信功能啊。大家是不是可以用 gpg 加密联系信息回帖,然后个人简介放上自己的公钥?今天看了 gpg 相关的东西
    edis0n0
        19
    edis0n0  
    OP
       2023-01-04 01:06:13 +08:00
    @DrakeXiang #16 那可太简单了,判断解出来的内容是不是中英文就可以了
    @ysc3839 #17 正常的网站不可能把 base64 的未解码形态直接展示给用户,除非用户将它作为内容提交。
    ysc3839
        20
    ysc3839  
       2023-01-04 01:18:06 +08:00 via Android
    @edis0n0 html 代码可以包含 base64
    edis0n0
        21
    edis0n0  
    OP
       2023-01-04 01:19:42 +08:00
    @ysc3839 #20 可以包含,但是不会把 base64 原始形态直接渲染在页面上展示给用户
    ysc3839
        22
    ysc3839  
       2023-01-04 01:21:11 +08:00 via Android
    @edis0n0 所以就得先解析 html ,提取出显示文本,再提取 base64 ,成本比爬邮箱等高多了。
    gowl
        23
    gowl  
       2023-01-04 01:23:12 +08:00
    这个链接会跳转为一个邮箱地址,并且在 24 小时之后自毁:

    https://www.fadingurl.org/item/2301.6351.8758.1986
    melkor
        24
    melkor  
       2023-01-04 01:24:03 +08:00 via iPhone
    电话和邮箱的特征也很明显,好像只有微信号这种帐号比较难判断……
    edis0n0
        25
    edis0n0  
    OP
       2023-01-04 01:26:57 +08:00
    @ysc3839 #22 任何一个主流的爬虫框架都会自动解析显示文本呀
    hsfzxjy
        26
    hsfzxjy  
       2023-01-04 01:36:39 +08:00 via Android   ❤️ 1
    其实感觉可以试试以帖子的 id 为密钥作对称加密
    totoro625
        27
    totoro625  
       2023-01-04 07:33:38 +08:00 via iPhone
    把邮箱地址中的 @改为#都能减少 99%的骚扰邮件
    至少,屏蔽了简单无脑的爬虫
    gccdchen
        28
    gccdchen  
       2023-01-04 09:53:42 +08:00
    那可以考虑 base64 中注入 sql 攻击?
    sometime
        29
    sometime  
       2023-01-04 10:14:41 +08:00
    直接上图片吧,字体用些特殊字体
    jiangzm
        30
    jiangzm  
       2023-01-04 10:29:05 +08:00
    杠屁呀
    nocwat
        31
    nocwat  
       2023-01-04 10:30:35 +08:00
    @ttyhtg 你可以试试 Keybase
    november
        32
    november  
       2023-01-04 10:35:24 +08:00
    那就指定 base64 的次数不就可以了, 比如三次 base64 表示为:3base64 ,3xbase64 ,bsse643 ,bsse64x3 等等格式,甚至 base64 base64 base64 ,或者 abc | x3.

    那你来爬一下?
    zoharSoul
        33
    zoharSoul  
       2023-01-04 10:52:13 +08:00
    base64 没什么特征啊 , 你怎么知道是 base64?
    litchinn
        34
    litchinn  
       2023-01-04 11:06:54 +08:00
    @november 哈哈,刚想说提供信息的时候贴一下要经过几次转换
    dianso
        35
    dianso  
       2023-01-04 11:07:30 +08:00
    交易区爬虫能抓取?????
    opengps
        36
    opengps  
       2023-01-04 11:22:13 +08:00
    op 试下百度自己的名字,手机号,邮箱,车牌号等信息看看。如果毫无防御,大数据会比你更懂你,过于暴露的信息自然会让人有所抵制公开信息的发布
    Bingchunmoli
        37
    Bingchunmoli  
       2023-01-04 12:21:09 +08:00 via Android
    主要是防止搜索引擎吧,
    DI64QrUrruOAmKO7
        38
    DI64QrUrruOAmKO7  
       2023-01-04 12:47:14 +08:00 via Android
    我用虚拟邮箱: https://moakt.com/zh
    ajaxgoldfish
        39
    ajaxgoldfish  
       2023-01-04 12:55:40 +08:00
    防 Google 蜘蛛的,防君子不防小人
    zed1018
        40
    zed1018  
       2023-01-04 13:00:56 +08:00
    zxCoder
        41
    zxCoder  
       2023-01-04 15:38:24 +08:00
    @opengps 唉 以前一直在贴吧求种子,留的都是自己的 qq 邮箱
    JamesMackerel
        42
    JamesMackerel  
       2023-01-04 16:07:36 +08:00
    @ttyhtg 笑死,我刚刚测了一下往我的个人简介里塞我的 gpg pub key ,然后他提示我个人简介长度不能超过 2000 字符。
    chinni
        43
    chinni  
       2023-01-04 16:21:17 +08:00
    @JamesMackerel 用 ecc
    yianing
        44
    yianing  
       2023-01-04 16:26:55 +08:00
    @JamesMackerel keys.opengpg.org 上传之后塞指纹
    yianing
        45
    yianing  
       2023-01-04 16:27:57 +08:00
    @yianing 搞错了是 openpgp https://keys.openpgp.org/
    laqow
        46
    laqow  
       2023-01-04 17:10:34 +08:00
    那啥 app 搞个什么只能在自家需要人脸识别手机号登录的软件用的什么码就把所有人身家信息收集齐了
    Rehtt
        47
    Rehtt  
       2023-01-04 17:17:28 +08:00 via Android
    用 url safe 的 base64 就没有特征了
    edis0n0
        48
    edis0n0  
    OP
       2023-01-04 17:38:58 +08:00
    @Rehtt #45 全试一遍解码后没有非标准字符就是特征,爬虫服务器又不缺那一点 CPU ,解析 base64 网卡爬冒烟了 CPU 都跑不满
    ttyhtg
        49
    ttyhtg  
       2023-01-04 17:55:38 +08:00
    @JamesMackerel 上传到公钥服务器,放上链接应该也行吧
    BaseException
        50
    BaseException  
       2023-01-04 19:06:28 +08:00 via iPhone
    我用带有自动过期时效限制的 url
    Fo3256Go
        51
    Fo3256Go  
       2023-01-04 21:46:38 +08:00 via iPhone
    那就用莫斯电码配合 base64 ,加密还嫌多?
    莫斯电码+ base64 + aes256 ,三合一

    你慢慢解去吧。
    SenLief
        52
    SenLief  
       2023-01-04 21:54:40 +08:00 via iPhone
    我觉得应该用 email 最好,可惜现在很少有人用了。
    vangjing
        53
    vangjing  
       2023-01-05 09:56:06 +08:00
    -----BEGIN PGP MESSAGE-----

    hF4D7DlMirAJB+ISAQdAeuur4R4gQVICaj8XRYBnA4DEAZwqBORVm4e+4dBmclww
    t10Uj0E9pP+BRvbMP2k8TgfgeAmHduRaRJQ+guETZtD/Hb5GstqvFENopZYHJTKt
    1MAPAQkCEORpYGO6tBq6kEO+iSvRheRqsQxvc5RS3X5JkEaQDeqaN4rCV2e8lVlI
    jtzBtcUKwsbu0zwxX9lwL8ZebDtmN+nYYcstEIl9yH+ROaQUQm794Pn+3I0w19PY
    mdOPaNutUHVZ5ESHKE6XboXpjVWFr3eIosA1hCNn7YZiuVuRFv9XdGSwaTMnwNLQ
    VRBAUaDYRqubJoDR8kTxXwM4/dCmlqgt2i4Xcg/7iXWIypnAPEblHH4+9tAD2mqU
    xOzwQiwC+HmcDgGLf/UO8n5m
    =MMLm
    -----END PGP MESSAGE-----
    dobelee
        54
    dobelee  
       2023-01-05 11:21:41 +08:00
    wechat 建议转 base64 前加一些不规则描述。邮箱没什么必要。
    edis0n0
        55
    edis0n0  
    OP
       2023-01-05 11:47:47 +08:00
    那你们不如不发出来,留自己硬盘里最安全
    @wunonglin
    @justfun
    @pennai
    @SunsetShimmer
    @Fo3256Go
    Rehtt
        56
    Rehtt  
       2023-01-05 18:37:29 +08:00 via Android
    @edis0n0 那照你这样说的话 wx: vx:特征不就更明显了吗,再加上大部分人 vx:后面一般接手机号匹配一下就全出来了
    edis0n0
        57
    edis0n0  
    OP
       2023-01-05 18:40:31 +08:00
    @Rehtt #54 太多了 还有 加薇: 微 x: 有的淘宝闲鱼这种商业产品的敏感词检测都检测不出来,你爬虫不可能适配完
    SunsetShimmer
        58
    SunsetShimmer  
       2023-01-05 22:36:49 +08:00
    @edis0n0 用 JavaScript 意味着你可以把这个东西贴进你正在使用的浏览器(既然在浏览网页,一定是有浏览器的吧?)的调试控制台里,F12 、复制、粘贴、Enter 、拿到信息。
    Rehtt
        59
    Rehtt  
       2023-01-06 08:59:30 +08:00 via Android
    @edis0n0 那我完全可以 微 x:xxx 再转 base64 ,这样永远比明文复杂一个步骤
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2943 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:25 · PVG 11:25 · LAX 19:25 · JFK 22:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.