
https://www.zhihu.com/question/50600301
作为从事安全的,我看到这种秒杀都会习惯性的想去试试手,周边还有同事怂恿我去搞搞。就写了几行代码,为了不造成太大影响,我设置了循环次数为 3 (后来又改成了 2 ,但是忘了把新代码粘贴到 chrome 的 console 中),到点就抢了 3 个订单。(这系统服务端没验证 csrf token ,还能绕过图形验证码提交) 我想知道这是什么样的代码,以便日后工作牢记于心.
1 shiji 2016-09-13 22:36:36 +08:00 看样子 js 就够了吧 |
2 ju5t4fun 2016-09-13 22:40:23 +08:00 “但是忘了把新代码粘贴到 chrome 的 console 中”,看到这句话就应该知道是 js 了 |
3 mozutaba 2016-09-13 22:40:41 +08:00 谁敢放出来, hr 又该开人了。 |
5 hoythan OP 拿上万工资的人,怎么可能做出这么 low 的程序 |
6 zhy0216 2016-09-13 22:47:42 +08:00 当事人的心态挺好的啊 |
7 div class="sep3"> v1024 2016-09-13 23:15:12 +08:00 via iPhone 放 GitHub ,分分钟几千 star |
8 ahcat 2016-09-14 01:31:23 +08:00 via iPhone “处理下验证码” 几个字就带过了。 这里很关键:有没有利用公司的验证码算法或接口? |
11 Chyroc 2016-09-14 06:00:54 +08:00 看知乎,就是看 js 模拟页面点击 |
12 lianxiaoyi 2016-09-14 07:19:58 +08:00 via Android 都用我大触动精灵吧!只要你手机够好,一秒钟点 40 下都不成问题!接入打码平台,秒秒钟破解任何验证码! |
13 iTakeo 2016-09-14 07:36:30 +08:00 via iPhone 应该就是弄个定时器去不停点击吧,更去年的双 11 ,利用 js 去领取优惠券一样的 |
14 hoythan OP 或者验证码没有后台验证,可以直接绕过的那种? |
15 wizardforcel 2016-09-14 08:15:29 +08:00 还以为是漏洞,原来不是。。 |
16 humor66 2016-09-14 09:01:53 +08:00 @hoythan 如果你觉得很 low 的话, 很多抢票、抽奖活动,你去试试,看能不能提高自己的概率。 ^_^ 就算有验证码,自动化 也比手动交互式输入快不知道多少倍了, 而且有时候为了制造一些噱头,通常会允许别人无限刷次数,不会去限制频次的,何况是内部抽奖平台呢。 |
17 sunny00123 2016-09-14 09:06:38 +08:00 只要不是特别花的验证码图片,上 https://github.com/antimatter15/ocrad.js/就够了啊,也就几行代码的事儿。 |
18 hoythan OP @sunny00123 star 下,哈哈下次做验证码用这个测试下能不能过,能过就继续加强. |
19 lxy 2016-09-14 09:25:24 +08:00 有些网站 token 没设置过期状态,于是同一个验证码可以一直提交,只要输入一次就够了。 |
20 zonghua 2016-09-14 09:41:24 +08:00 @sunny00123 比本地的一些 OCR 差好多,只能识别很端正的字符 |
21 williamx 2016-09-14 09:51:24 +08:00 老大写的代码你们也敢刷? |
22 sunny00123 2016-09-14 09:59:36 +08:00 @zonghua 嘛确实,比如 s 和 5 , b 和 6 。不过嘛多试几次还是能过的啊,用起来也简单。反正我也是拿来做自动刷东西的脚本的,逃~ |
23 sunhk25 2016-09-14 10:03:02 +08:00 据说验证码是又 js 生成来验证的 所以就好处理啦 |
24 jpyl0423 2016-09-14 10:08:37 +08:00 很简单的网页啊, 验证码都是明文数字传输, 传到外面变成攻击漏洞了... |
25 qweweretrt515 2016-09-14 10:56:22 +08:00 验证码在源码里就可以找到,不是图片 |
26 j3n5en 2016-09-14 10:59:11 +08:00 via Android 忘了在哪里看到说,验证码是能在字符串,在源码里的 |
27 luluuulu4848 2016-09-14 11:13:44 +08:00 其实 公司内部的抢单成功 前台没刷新页面 导致一直调用下单了,循环次数也没做限制,前台没做限制 服务端也没有限制比如说一个用户最多能买多少盒月饼来着这样,一个比较简陋的程序罢了 |
28 VYSE 2016-09-14 11:48:29 +08:00 via Android 没限制住购买次数大洞啊 |
29 archxm 2016-09-14 12:01:41 +08:00 如果是 js ,我想知道是放在哪里执行的? 打开网页不是浏览器吗?浏览器哪里执行自己写的 js ? |
30 itjesse 2016-09-14 12:02:43 +08:00 知乎之前说过了,验证码直接写在了页面里,大概就是一个 setInterval 然后到时间就触发按钮的 Click 事件。 |
32 annielong 2016-09-14 12:07:00 +08:00 click 事件而已,以前抢红包的时候就用过,结果第二天就加了每天抢红包的次数限制,这个事件对个人表示同情,但整件事来说处理得当, |
33 megatron 2016-09-14 12:12:16 +08:00 正常秒到一个就跳转了,当事人说那个页面没有跳转。估计也就是看到按钮可以秒了,就点一下,几行字而已。 |
34 megatron 2016-09-14 12:22:22 +08:00 我突然想到一个问题,借贵主题谈谈。如果当事人当时的理由是“提交安全漏洞”,或者说明购买页面相关的功能问题,这件事会不会有转机?毕竟不能跳转,验证码等等这类问题是存在的。 |
37 zhchaos 2016-09-14 17:02:04 +08:00 js 模拟点击吧,再加点验证什么的 |
38 x86 2016-09-14 17:03:23 +08:00 讲道理,这难道不是开发的锅 |
39 zonghua 2016-09-14 17:15:53 +08:00 @sunny00123 是浏览器差异吗?我是 Chrome + Windows 10 很多时候都把 s 识别成 _ |
42 azh7138m 2016-09-15 08:18:50 +08:00 via Android @Balthild 我不是搞这一行的,请问这个 form token 是怎么用的?如何防止大量提交的? |
44 crystone 2016-09-17 10:08:12 +08:00 典型的黑客作风啊,遇到有难题就想去试一下,结果遇到 ali ,杯具了 |