博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
参加了一次夜跑活动,比赛完顺便给自己刷了下票
阅读量:5901 次
发布时间:2019-06-19

本文共 1061 字,大约阅读时间需要 3 分钟。

又名:游侠客的程序员,能不能用点心

上周交了9块钱报名参加了组织的武汉荧光夜跑活动。我跑步有一年了,基本上是一个人在跑。这次参加活动,也是第一次参加活动,感觉挺不错的。

五六百人参赛,文化衫和脸上的涂鸦,彩色的荧光棒,活泼的妹子们,现场气氛很不错!

起跑前:

我在挤到了四五排的位置:

五公里健康跑,我拼了老命,以第十名到达终点(那个唯一没看镜头的就是我):

但实际上这是一场自拍比赛:跑步是不设奖项的,现场拍照上传,然后投票评比才有奖品。反正我也喜欢拍照,就也上传了,并分享了朋友圈看能不能拉到票。

重点来了。朋友说投票需要输入手机号,然后获取验证码才能进入投票页面。我也有给别人投票的经验,但是填验证码投票的,还没见过。但跑步太拼了,就早休息了。

第二天起床,想看看能不能给自己加点人气,于是不抱任何希望的打开了chrome,debug一下投票网页:

点击投票后给了我这个页面:

做过微信,明白这个是微信页面的限制,于是我从PC微信打开了该页面。为了看看到底页面发了个什么请求,立马下载了fiddler(黑客技术真不会,fiddler基本操作还是会的)。

点击投票时,页面发送了一个GET请求(是的,GET请求):

该请求只有两个参数,uid和pid。随便给其他几个人投票,观察了下,就知道uid是投票人id,pid是被投票人id。

于是进入我自己的投票页面,找到自己的pid,再进入另外一个人的投票页面,找到他的pid,作为给我投票的uid,这样就能完成他给我投票的过程了。

拼了一个URL,往chrome地址栏一放,回头看看我的票数就加了一个。再刷新一下,哦,告诉我已经投过了不能重复投。

好奇的尝试了下,uid不使用别人的pid,而随便用个数字呢?意外的发现,随意一个数字都能投票!

这样就简单的有点过分了,IP,id,跨域,请求间隔都没有做限制。简单一个脚本,随意在哪个页面上一跑,想拿什么奖都可以了。

function vote (targetId) {  let image = new Image()    let uid = Date.now()  image.src = `http://m.youxiake.com/h5/run_vote?uid=${uid}&pid=${targetId}`}

回头看看那个输入手机号获取验证码才能投票的限制... 游侠客的程序员们,能不能用点心

不敢给自己刷第一名,对第一名奖品也没兴趣。但是我对“土豪大礼包”还是很好奇的。那就维持下自己第5到10名的排名吧。

转载地址:http://hiesx.baihongyu.com/

你可能感兴趣的文章
ubuntu: firefox+flashplay
查看>>
常见的海量数据处理方法
查看>>
web.xml 中CharacterEncodingFilter类的学习
查看>>
贪吃蛇逻辑代码
查看>>
实现c协程
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
[LeetCode] Meeting Rooms II
查看>>
从Swift学习iOS开发的路线指引
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
ssh 安装笔记
查看>>
游戏音效下载网站大全
查看>>
实验五
查看>>
3-继承
查看>>
海归千千万 为何再无钱学森
查看>>
vue2.0 仿手机新闻站(六)详情页制作
查看>>
JSP----九大内置对象
查看>>
Java中HashMap详解
查看>>
delphi基本语法
查看>>
沙盒目录介绍
查看>>
260. Single Number III
查看>>