微信刷投票软件手机版、微信免费刷票软件建立的原理解析

微信刷投票软件手机版、微信免费刷票软件建立的原理解析,既然是网页投票,那肯定可以伪造HTTP请求来实现刷票。需要分析的就是该网站到底采用了哪些防止刷票的措施。原投票已经停了,我给大家描述一下。

(1).首先,这是公开给所有人的投票,没有必须是其用户的限制。

(2).先按F12查看网络情况,抓取投票的HTTP请求。点投票,截取,发现是Get方式,QuerySting值有一个随机数,一个候选人的编号,还有一个不清楚的值,初步猜测是用Cookie限制的。

(3).投完票再点投票,显示“你已经参与过,每天只能投一次”。

(4).在Chrome浏览器,设置,隐私设置,查看Cookie里,找该网站的Cookies,发现多了一个不清楚的,还有一个存着候选人编号的Cookie。把这俩都删了,再点投票,显示“投票失败”。虽然没投票成功,但是返回信息不一样了,说明肯定和Cookie有关。

(5).直接禁用该网站的Cookie,点投票还是显示“投票失败”。

(6).这时候仔细看了看QueryString那一长传不清楚的值,和Cookie里那个不清楚的值是相同的,投票按钮的事件应是不会变的,那估计页面加载的时候这俩就一起加载了。然后刷新页面,果然这个值变了。

(7).然后只删除存候选人编号的Cookie,保留这个Cookie,再点投票,成功了!

这个网站防刷票的措施比较简陋,只要仔细看看就能发现这个问题。然后我做了第一版。

2.构造HTTP请求

(1).获取SID。先把上面我说的那个一长串不清楚的值叫做SID吧,应该是为了验证Cookie是否起作用。

1).获取SID。先把上面我说的那个一长串不清楚的值叫做SID吧,应该是为了验证Cookie是否起作用。



(2).根据浏览器抓取的HTTP请求模拟一个HTTP请求


(3).刷票,并观察刷票状况。就是将返回的内容里找到票数,更新到TextBox上。



(4).设置循环。用For循环发请求的话,嗖一下几百次循环完了,而那边还没反应过来。中间用Sleep()的话,程序有时会陷入假死的状态,不能实时观察到刷票的情况。所以我们就用Winform自带的控件Timer,在页面加载的时候先停了,设置时间间隔,然后在Timer的事件里加上上面的方法就可以了。



3.改进

上面几步完成后试着刷了一下,发现刷太快系统会返回“投票失败,疑似刷票”的提示,又调整了一下间隔时间。可过了两天,突然又不好使了,几番分析,发现是加了IP限制。找代理比较麻烦,所以就用宽带重连的方法不停的换IP吧。每刷一票断线重连一次就可以了。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值