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

阿里巴巴刷月饼用的到底是什么代码?

  •  
  •   hoythan · 2016-09-13 22:30:39 +08:00 · 6926 次点击
    这是一个创建于 3018 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://www.zhihu.com/question/50600301

    作为从事安全的,我看到这种秒杀都会习惯性的想去试试手,周边还有同事怂恿我去搞搞。就写了几行代码,为了不造成太大影响,我设置了循环次数为 3 (后来又改成了 2 ,但是忘了把新代码粘贴到 chrome 的 console 中),到点就抢了 3 个订单。(这系统服务端没验证 csrf token ,还能绕过图形验证码提交)
    

    我想知道这是什么样的代码,以便日后工作牢记于心.

    45 条回复    2016-09-19 14:59:55 +08:00
    shiji
        1
    shiji  
       2016-09-13 22:36:36 +08:00
    看样子 js 就够了吧
    ju5t4fun
        2
    ju5t4fun  
       2016-09-13 22:40:23 +08:00
    “但是忘了把新代码粘贴到 chrome 的 console 中”,看到这句话就应该知道是 js 了
    mozutaba
        3
    mozutaba  
       2016-09-13 22:40:41 +08:00
    谁敢放出来, hr 又该开人了。
    hoythan
        4
    hoythan  
    OP
       2016-09-13 22:46:21 +08:00
    @ju5t4fun 难道只是简单的模拟点击或者 post get 提交?
    hoythan
        5
    hoythan  
    OP
       2016-09-13 22:47:07 +08:00
    拿上万工资的人,怎么可能做出这么 low 的程序
    zhy0216
        6
    zhy0216  
       2016-09-13 22:47:42 +08:00
    当事人的心态挺好的啊
    v1024
        7
    v1024  
       2016-09-13 23:15:12 +08:00 via iPhone
    放 GitHub ,分分钟几千 star
    ahcat
        8
    ahcat  
       2016-09-14 01:31:23 +08:00 via iPhone
    “处理下验证码” 几个字就带过了。

    这里很关键:有没有利用公司的验证码算法或接口?
    wjm2038
        9
    wjm2038  
       2016-09-14 03:18:34 +08:00 via Android   ❤️ 1
    @ahcat 据说验证码是写死的。。。
    shiji
        10
    shiji  
       2016-09-14 03:42:30 +08:00 via Android
    @ahcat 听说验证码是字符。。。不是图片。。。。
    Chyroc
        11
    Chyroc  
       2016-09-14 06:00:54 +08:00
    看知乎,就是看 js 模拟页面点击
    lianxiaoyi
        12
    lianxiaoyi  
       2016-09-14 07:19:58 +08:00 via Android
    都用我大触动精灵吧!只要你手机够好,一秒钟点 40 下都不成问题!接入打码平台,秒秒钟破解任何验证码!
    iTakeo
        13
    iTakeo  
       2016-09-14 07:36:30 +08:00 via iPhone
    应该就是弄个定时器去不停点击吧,更去年的双 11 ,利用 js 去领取优惠券一样的
    hoythan
        14
    hoythan  
    OP
       2016-09-14 08:10:11 +08:00 via iPhone
    或者验证码没有后台验证,可以直接绕过的那种?
    wizardforcel
        15
    wizardforcel  
       2016-09-14 08:15:29 +08:00
    还以为是漏洞,原来不是。。
    humor66
        16
    humor66  
       2016-09-14 09:01:53 +08:00
    @hoythan 如果你觉得很 low 的话, 很多抢票、抽奖活动,你去试试,看能不能提高自己的概率。 ^_^ 就算有验证码,自动化 也比手动交互式输入快不知道多少倍了, 而且有时候为了制造一些噱头,通常会允许别人无限刷次数,不会去限制频次的,何况是内部抽奖平台呢。
    sunny00123
        17
    sunny00123  
       2016-09-14 09:06:38 +08:00   ❤️ 2
    hoythan
        18
    hoythan  
    OP
       2016-09-14 09:14:01 +08:00
    @sunny00123 star 下,哈哈下次做验证码用这个测试下能不能过,能过就继续加强.
    lxy
        19
    lxy  
       2016-09-14 09:25:24 +08:00   ❤️ 1
    有些网站 token 没设置过期状态,于是同一个验证码可以一直提交,只要输入一次就够了。
    zonghua
        20
    zonghua  
       2016-09-14 09:41:24 +08:00
    @sunny00123 比本地的一些 OCR 差好多,只能识别很端正的字符
    williamx
        21
    williamx  
       2016-09-14 09:51:24 +08:00
    老大写的代码你们也敢刷?
    sunny00123
        22
    sunny00123  
       2016-09-14 09:59:36 +08:00
    @zonghua 嘛确实,比如 s 和 5 , b 和 6 。不过嘛多试几次还是能过的啊,用起来也简单。反正我也是拿来做自动刷东西的脚本的,逃~
    sunhk25
        23
    sunhk25  
       2016-09-14 10:03:02 +08:00
    据说验证码是又 js 生成来验证的 所以就好处理啦
    jpyl0423
        24
    jpyl0423  
       2016-09-14 10:08:37 +08:00
    很简单的网页啊, 验证码都是明文数字传输, 传到外面变成攻击漏洞了...
    qweweretrt515
        25
    qweweretrt515  
       2016-09-14 10:56:22 +08:00
    验证码在源码里就可以找到,不是图片
    j3n5en
        26
    j3n5en  
       2016-09-14 10:59:11 +08:00 via Android
    忘了在哪里看到说,验证码是能在字符串,在源码里的🌚
    luluuulu4848
        27
    luluuulu4848  
       2016-09-14 11:13:44 +08:00
    其实 公司内部的抢单成功 前台没刷新页面 导致一直调用下单了,循环次数也没做限制,前台没做限制 服务端也没有限制比如说一个用户最多能买多少盒月饼来着这样,一个比较简陋的程序罢了
    VYSE
        28
    VYSE  
       2016-09-14 11:48:29 +08:00 via Android
    没限制住购买次数大洞啊
    archxm
        29
    archxm  
       2016-09-14 12:01:41 +08:00
    如果是 js ,我想知道是放在哪里执行的?
    打开网页不是浏览器吗?浏览器哪里执行自己写的 js ?
    itjesse
        30
    itjesse  
       2016-09-14 12:02:43 +08:00
    知乎之前说过了,验证码直接写在了页面里,大概就是一个 setInterval 然后到时间就触发按钮的 Click 事件。
    mzsongyan
        31
    mzsongyan  
       2016-09-14 12:06:34 +08:00
    @archxm console
    annielong
        32
    annielong  
       2016-09-14 12:07:00 +08:00
    click 事件而已,以前抢红包的时候就用过,结果第二天就加了每天抢红包的次数限制,这个事件对个人表示同情,但整件事来说处理得当,
    megatron
        33
    megatron  
       2016-09-14 12:12:16 +08:00
    正常秒到一个就跳转了,当事人说那个页面没有跳转。估计也就是看到按钮可以秒了,就点一下,几行字而已。
    megatron
        34
    megatron  
       2016-09-14 12:22:22 +08:00
    我突然想到一个问题,借贵主题谈谈。如果当事人当时的理由是“提交安全漏洞”,或者说明购买页面相关的功能问题,这件事会不会有转机?毕竟不能跳转,验证码等等这类问题是存在的。
    wd85318
        35
    wd85318  
       2016-09-14 14:17:03 +08:00
    @megatron 上午主动上报,下午不到 2 小时让收拾东西走人,你连发声的机会都没有
    lihua1358
        36
    lihua1358  
       2016-09-14 15:17:15 +08:00
    @ahcat 这系统服务端没验证 csrf token ,还能绕过图形验证码提交
    zhchaos
        37
    zhchaos  
       2016-09-14 17:02:04 +08:00
    js 模拟点击吧,再加点验证什么的
    x86
        38
    x86  
       2016-09-14 17:03:23 +08:00
    讲道理,这难道不是开发的锅
    zonghua
        39
    zonghua  
       2016-09-14 17:15:53 +08:00
    @sunny00123 是浏览器差异吗?我是 Chrome + Windows 10 很多时候都把 s 识别成 _
    azh7138m
        40
    azh7138m  
       2016-09-14 21:59:37 +08:00
    @lihua1358 哪里跨站了...
    而且也没有第三者,和 csrf 有啥关系
    Balthild
        41
    Balthild  
       2016-09-15 00:35:21 +08:00 via iPhone
    @azh7138m 其实意思大概是 form token 吧
    azh7138m
        42
    azh7138m  
       2016-09-15 08:18:50 +08:00 via Android
    @Balthild 我不是搞这一行的,请问这个 form token 是怎么用的?如何防止大量提交的?
    ragnaroks
        43
    ragnaroks  
       2016-09-16 22:09:53 +08:00
    @azh7138m formhash 防止重复提交吧
    crystone
        44
    crystone  
       2016-09-17 10:08:12 +08:00
    典型的黑客作风啊,遇到有难题就想去试一下,结果遇到 ali ,杯具了
    lihua1358
        45
    lihua1358  
       2016-09-19 14:59:55 +08:00
    @azh7138m 不是,我就是复制原文的说法,可能是楼下说的那个吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4340 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:33 · PVG 13:33 · LAX 21:33 · JFK 00:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.