最近有个朋友让我们给她投票,看了下url:
是用asp写的后端,安全方面肯定周全不到哪里去了,首先试了下sql的注入之类的常见漏洞,然后发现有个安全狗当作网站的防火墙,懒得搞绕过,就想直接刷票就行了,不去修改数据库之类的。
首先对投票的接口抓了个包:
可以看到投票是一个get请求,请求有两个参数,一个是id,应该就是选手的id;一个是rnd(随机数),一个16位小数,应该就是一个防止恶意刷票的机制:每次投票的随机数在某个时间段必须是不同的,才能算投票成功。网站在每投5次票以后,会制止同一个cookie在同一天继续投票,然而服务器比较烂,在后续的跑字典的过程中由于每次get时间间隔短不会去检测cookie,导致这次的刷票操作生效。
分析成功后,刷票思路就有了,对该网站不停地发送类似的get请求,只要参数rnd不一样就算成功投票。
这里我用了burpsuite的intruder模块,然后通过跑字典实现了刷票的操作。
首先我写了一个脚本跑出本次测试需要的字典(2000个16位0为整数部分的小数):
字典部分如下:
然后是burpsuite爆破部分,将劫获的数据包交给intruder,将rnd选取为参数:
导入我们的字典:
start hack:
效果如下:
每分钟大概能刷100票左右,远远大于人工。
领取专属 10元无门槛券
私享最新 技术干货