V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hackingwu
V2EX  ›  程序员

12306 获取票接口难道没有防重放吗

  •  
  •   hackingwu ·
    hackingwu · 2020-01-19 14:10:01 +08:00 · 3927 次点击
    这是一个创建于 1802 天前的主题,其中的信息可能已经有所发展或是发生改变。

    12306 获取票接口难道没有防重放吗? 如果有,那刷票软件是怎么破解他的防重放的呢?

    16 条回复    2020-01-21 09:49:26 +08:00
    mazyi
        1
    mazyi  
       2020-01-19 14:15:46 +08:00
    获取票是哪个接口?
    kop1989
        2
    kop1989  
       2020-01-19 14:17:59 +08:00
    刷票软件只是能让你更高效的操作和部分操作自动化而已。
    相当于一个假前端,在业务上并没有“作弊”
    hackingwu
        3
    hackingwu  
    OP
       2020-01-19 14:22:04 +08:00
    @kop1989 ...假前端 哪也得知道前端是怎么实现的把? 那他是通过什么办法来知道的?
    jinliming2
        4
    jinliming2  
       2020-01-19 14:22:35 +08:00 via iPhone
    刷票软件不算重放吧?
    nulIptr
        5
    nulIptr  
       2020-01-19 14:22:42 +08:00
    不需要破解,只需要稳定的网络+selenium 就行了,你上你也行
    kop1989
        6
    kop1989  
       2020-01-19 14:29:12 +08:00
    @hackingwu 简单点的网站按 F12 就可以。困难的可以搜索爬虫相关技能
    glaucus
        7
    glaucus  
       2020-01-19 14:30:31 +08:00
    这么大的利益,破解了前端的一些加密规则也不奇怪吧,就跟抖音这些接口一样
    DOLLOR
        8
    DOLLOR  
       2020-01-19 14:30:55 +08:00
    @hackingwu 刷票软件不需要知道接口是怎样的,只需模拟用户操作网页、APP 就行了。
    randyo
        9
    randyo  
       2020-01-19 14:35:39 +08:00 via Android
    每个浏览器都是一个刷票软件😗
    Nekonico
        10
    Nekonico  
       2020-01-19 15:15:10 +08:00
    @DOLLOR 验证码怎么办?
    eason1874
        11
    eason1874  
       2020-01-19 15:23:33 +08:00
    现在的爬虫可以模拟用户操作啊, 像谷歌爬虫都是拿你 JS 执行后的网页内容。

    刷票软件唯一需要破解的是验证码,其他都是模拟操作就行了。
    jugelizi
        12
    jugelizi  
       2020-01-19 15:25:33 +08:00
    早些年按键精灵不也是
    hahiru
        13
    hahiru  
       2020-01-19 15:48:47 +08:00
    @Nekonico #10 他们雇了很多大妈在打码。真事。
    wuwukai007
        14
    wuwukai007  
       2020-01-19 19:21:14 +08:00 via Android
    有打码平台,还有就是用 ts 可以,就是有一定失败率
    also24
        15
    also24  
       2020-01-19 19:31:53 +08:00   ❤️ 3
    我觉得你对 “重放” 是不是有一定的误解?

    “防重放” 一般防的是第三方监听了一个 “有效请求” 之后,通过再次发送这个请求来达到一些其它的目的。

    举例:
    张三 使用某银行 APP,向 李四 转账了 100 元,银行 APP 调用某接口,正常的完成了这个请求。

    但是这个请求被 王麻子 通过中间人攻击监听到了;
    > 此处为防监听,也就是 https 常见的工作内容)
    > 王麻子由于未持有银行域名的 https 证书,未能完成监听

    于是王麻子把请求原样发送了 3 遍,期望张三给李四再转 300 元;
    > 此处为防重放,一个活儿不能干多次
    > 由于银行记录了请求 ID,直接忽略了这 3 次请求

    王麻子又试着把请求中的收款人改成自己,期望能收到张三的转账;
    > 此处为防篡改,保证执行的内容和发送者发送的一致
    > 银行校验请求签名不一致,直接拒绝了这个请求,同时把请求留档给了安全部门



    而抢票软件干的事情相当于什么?
    张三 使用某银行 APP,向 李四 转账了 100 元,转账 ID 01。
    张三 使用某银行 APP,又向 李四 转账了 100 元,转账 ID 02。
    张三 使用某银行 APP,又向 李四 转账了 100 元,转账 ID 03。

    这三个请求是互相独立的,不叫 “重放” ,只是恰好业务一致而已。
    pythonee
        16
    pythonee  
       2020-01-21 09:49:26 +08:00
    @also24 思路清晰
    抢票软件本质上应该是个按键精灵吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1619 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:53 · PVG 00:53 · LAX 08:53 · JFK 11:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.