票客多,创顺宝。
1、票客多:专业刷票软件,支持自定义刷票数量和间隔时间,多种常见的投票方式。
2、创顺宝:免费享用的刷票软件,提供多种刷票模式,适合投票朋友圈、微博、论坛。
“微信刷票”的简单实现
快到年底了,家里的微信群又热闹了起来,家族里有几个亲戚正在参加某评比活动的微信投票活动,所以七大姑八大姨天天在群里让我们帮着投票,家里人知道我是搞IT技术的就想着让我搞个刷票软件,自动刷票。
于是我就花了些经历研究了一下这个灰色产业!
今天就把我最近研究的心得体会给大家分享一下,让大家了解一下微信刷票软件的原理与实现!
一、微信的刷票方式
微信刷票主要有两种方式,软件技术刷票和人工水军刷票。
人工刷票:人工刷票,就是使用投票水军来刷票。
商家热衷于搞微信投票活动,一些空闲时间多的人士发现了这其中的商家,以帮助参赛选手投票来获得佣金。
这些人多数是为 *** 投票手投票员,外界一般称我们为投票水军。
人工水军刷票的原理就非常简单,就是组建一个微信投票任务群,把投票任务发到群里面就完成刷票了,就是这么简单。
一个群不够用,就多组建几个群就可以了。
目前网上好多刷票团队,自称都是人工刷票,其实多数都是假的,为什么呢?因为你看他的收费标准就知道了投100票价格可能在10元左右,所以一票可能都不到一毛钱,这个还要给水军们分所以利润并不高,除非业务量特别大。
所以几乎都是用刷票软件刷票。
如果你想判断你的是人工刷票,你可以让他把投票的截图都发给你,我想他是不会给你的,呵呵,如果真的给你,你的投票价格最少一票要3毛钱以上!
软件技术刷票:刷票软件原理多数 是通过抓包工具分析提交投票时所产的数据,然后使用脚本程序批量提交数据就达到了刷票的目的。
其中更大的难题就是如何突破限制,例如ip限制,验证码限制,微信登陆授权限制等。
这些刷票工具网上也有很多,但是绝大多数效果都不怎么好,会被平台限制住。
二、微信投票活动的漏洞和刷票技术手段
常见漏洞如下:
1、在微信投票的活动中,会有两种发起投票的情况,一种是发起投票的服务器是独立的,只是借用了微信的投票平台,在微信平台进行了投票之后,会有一个投票转发的操作,将活动中的投票情况转发给发起投票的服务器。
另一种是直接使用微信的服务器来发起投票的操作,这种情况则不需要进行投票转发的操作,投票情况直接在微信服务器上进行控制。
2、在微信投票的活动中需要的是微信账号来进行的投票,而在微信平台中有一个关于微信账号的规则,那就是每一个加密后的微信账号都会形成一个OpenID,每个用户的OpenID在微信平台上来说都是唯一的。
那么当用户进行投票后,如果是需要将投票转发给独立服务器的,微信平台则会使用POST参数将包含投票用户的OpenID的信息转发给投票服务器,投票服务器在接收到微信平台发送过来的投票POST请求之后,就会在自己的服务器通过对比OpenID来确认同一微信账号的投票次数。
如果不需要转发给投票服务器的,则直接在微信服务器上确认OpenID的投票情况。
3、如果是独立的投票服务器在接收到POST请求时,只能对这个发送过来的OpenID进行投票次数的判断,但是因为无法使用微信服务器的数据,就无法对这个OpenID进行真实性的验证,这是微信投票活动的一个很大的漏洞。
即便是直接使用微信服务票来进行的投票活动,虽然可以直接验证OpenID的真实性,但是只需要用技术手段绑定一些OpenID正确的微信账号来进行投票操作便可以通过这项验证了。
有了这个漏洞就非常便于来使用一些技术手段实现微信刷票的操作。
常见的刷票技术手段:
1、针对微信投票活动无法校验OpenID真实性的漏洞,可以先使用一个微信账号进行一次投票操作,利用这次操作来获取相关的 *** 数据。
这个数据中会包含POST请求的参数以及内容。
然后通过脚本,比如Fiddler或者Python都可以,来自己构建一个POST的请求,该请求中参数和内容保证与获取到的真实数据一致,然后按照真实OpenID的格式随机生成OpenID,需要刷多少票数就进行多少次POST请求,便可以实现简单的刷票操作了。
2、对于有IP限制的微信投票活动,可以使用CURL来伪造IP地址,这样就可以制造多个IP来刷票了。
二、 常见的防止刷票 ***
1、只有!!
2、利用Python语言编写脚本实现微信刷票(突破ip限制的投票 *** )
针对那些微信投票只限制ip 来源的方式,我们可以用如下方式进行刷票:
之一步:在网上搜索大量的 *** ip ,建立一个 *** ip地址表
第二步:用Python编写一个自动执行脚本
代码如下:
1. print "voting...%d..." % i 13. 定义Opener 17. 18. urllib2.install_opener(opener) 19. 设置刷票地址 24. 直接打开这个URL 28. html = req.read() 29. 每100个线程等待 5秒 60. for i in length: 61. threads[i].join() 62. 63. else: 64. print """刷票工具 65. python brush.py IP文件 Get地址: 66. 67. """
还没有评论,来说两句吧...