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
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 2
只要不是特别花的验证码图片,上 https://github.com/antimatter15/ocrad.js/就够了啊,也就几行代码的事儿。
|
18
hoythan OP @sunny00123 star 下,哈哈下次做验证码用这个测试下能不能过,能过就继续加强.
|
19
lxy 2016-09-14 09:25:24 +08:00 1
有些网站 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 ,杯具了
|