自动投票软件一般为绿色软件,大小只有几百KB左右,功能强大,速度快,适用于各种网站的投票评选活动。投票软件一般都内置了通用的IE6.0浏览器,这一核心技术使它能够适用于任何投票网站的投票系统,对于有来路检测、SESSION验证、经常改动统计文件名或路径的网站更能突出其优越性。
自动投票软件会根据投票网站的要求自动拨号更换IP,自动识别中等难度的图型验证码,高难度的验证码会自动转为人工识别输入等功能,是一个全自动识别工具,是目前投票过程中最为稳定、安全和智能化的软件。有ip限制的投票需要在ADSL拨号的电脑上使用,无IP限制的投票可以在任何联网的电脑上使用,效果显著。
由于自动投票软件通用版需要我们去设置,但是很多人不了解其工作原理的往往不懂得如何设置,所以大多数投票机作者都制作了相应的自动投票软件教程,目前比较详细的是超越刷票公司制作的自动投票软件使用教程,通用投票软件需要设置的几个地方都是一个共性。
首先需要下载个数据抓包分析软件安装到电脑上,在投票页面上投一票。然后数据抓包软件就可以分析到投票时电脑向服务器提交的数据,然后分析GET提交或者POST提交的数据 ,最后把数据添入通用投票机,GET提交一般是提交投票页面和投票提交页面。POST提交不但要提交投票页面和投票提交页面,还需要提交投票数据包。
HTTP的无状态性
HTTP是Hyper Text Protocol的缩写,中文译为超文本传输协议。设计它的目的在于支持超文本的传输,客户端向HTTP服务器发送请求,HTTP服务器接收到请求后将客户端请求的相应资源发回给客户端。因为每次的请求和响应都是相对独立的,所以服务器和客户端都没有必要记录这一过程。一般而言,一个URL对应着唯一的超文本资源,HTTP服务器对于不同的客户端同一个URL的请求也会返回相同的超文本。因此,记录用户的行为状态变得无必要,所以HTTP协议被设计成无状态的连接协议。
网络投票的记录用户行为需求
网络投票一般是指通过web页面在客户端浏览器填写投票表单,然后提交给服务器进行记录处理的投票方式。 网络投票往往需要选择候选选项(候选人或候选单位等)、投票人的身份信息(姓名、身份证号码等)。由于投票的结果往往涉及各参与方的利益,候选人往往会为了影响投票结果进行各种各样的作弊“刷票”行为。因此,为了保证投票结果的公平有效性,投票活动组织者需要对投票行为进行有效的控制,其方法一般有要求填写表单的身份证号码字段进行身份证号码合法性校验、IP地址投票限制和验证码等。
网络投票常见的作弊攻击手段
1)伪造身份证号码。一般来说,重大的网络投票一般都需要投票者填写表单时提交合法的身份证号码才能进行投票,并以身份证号码来作为甄别是否重复投票的依据。但互联网上的网络投票一般不可能跟公安系统的身份证数据库进行对接,因此,投票处理程序只能从逻辑上根据客户端提交的身份证号码进行算法有效性的校验,只要客户端提交的身份证号码通过算法校验,投票程序就认为这是一个合法的身份号,并且投票记录数据库里没有该身份证号码的投票记录就允许其进行投票。因此,如果投票处理程序只做了身份证号码算法合法性的校验,那么作弊者就能对该投票程序进行任意攻击和作弊“刷票”。
2)突破IP地址投票数限制。为了防止作弊者不断的进行作弊“刷票”,投票处理程序往往对同一个IP地址在特定时间段内的投票总数做了限制。服务器端对客户端IP地址一般回采用两种方式,一种是通过HTTP会话的REMOTE_ADDR获取跟服务器通信的客户端IP地址,如果投票程序通过这种方式获取客户端IP并对每IP在某一时段内的投票总数做了限制,作弊者必须拥有相当数量的公网真实IP资源才能对投票程序发起影响结果的攻击。另一种是先通过HTTP头的X_FORWARDED_FOR字段来获取通过代理服务器访问投票服务器的客户端真实IP,但是否可以获取客户端真实IP取决于代理服务器是否允许服务器端获取客户端的真实IP,同时如果客户端不通过代理服务器访问投票服务器,投票服务器同样获取不了客户端的IP。一般来说,web程序开发人员为了更加准确地获取客户端的IP地址往往会先试图去获取X_FORWARDED_FOR的值,获取失败后再去获取跟服务器直接通信的主机IP。
采用复杂干扰象素背景中文图片验证码技术,是最核心的防范手段,通过网站近年来多场大型网络投票的检验,效果明显,投票结果得到各界公认,从未出现因投票结果而引起的质疑和纠纷。图片验证码技术,很好地弥补了HTTP协议无状态连接的缺陷,其缺点是实施技术门槛高,一般网络程序只能生成数字和英文字母地验证码,降低了攻击破解技术门槛。中文验证码被成功攻击的难度大,但用来生成数字和字母的传统验证码算法对中文验证码生成的难度很高,因此需要对验证码生成技术进行改进。目前,不少网站允许用户上传图片的论坛博客基本上都会对用户上传的图片叠加网站版权信息的“水印”文字或者图片,因此我们可以把该技术运用到中文验证码的生成上来。该技术可由于是把验证码字符叠加到背景图片上,因此可以根据文字前景颜色选择干扰性强的背景图片,同时对验证码的字符集可以简单地进行大范围扩充,只要服务器上字符集有的字符都可生成,甚至做出如计算“拾除以贰加叁等于几”这样的问题式的验证码。用于生成“水印”的技术一般使用Web Server组件,目前基于Asp、PHP、Java等web开发语言的组件都容易得到,技术实现的门槛相对也比较低。[1]