欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

校园网络投票的作弊和反作弊技术

程序员文章站 2022-04-07 10:06:35
  校园网络投票现在已经是征询师生意见的一种主流方式了,所有的数据都通过计算机统计,貌似公平而有效。然而,在看似公平的背后其实往往存在着巨大的漏洞,通过黑客工具的使用,公... 08-11-04...

  校园网络投票现在已经是征询师生意见的一种主流方式了,所有的数据都通过计算机统计,貌似公平而有效。然而,在看似公平的背后其实往往存在着巨大的漏洞,通过黑客工具的使用,公平在一瞬间就被黑客技术左右了……
  无论如何,我都必须承认,爱情是神奇的,不管它降临到了谁的身边,都能够让你陶醉其中,显然我现在也陶醉了。我深深的爱上了她的一切和这种称之为恋爱的感觉。我喜欢坐在她身边沉醉在她轻轻哼唱的歌声中,我喜欢她那张圆圆笑脸上的可爱酒窝,我喜欢她那个小巧而可爱的樱桃嘴,我喜欢她大而灵动的眼睛,那个俏皮的鼻子,雪白如玉的皮肤……
  我承认,我是装出来的无所谓,其实当我小心而谨慎地牵着她的手,带她出现在我们学院的公共课上的时候,我能够真实地感受到全系271名男同胞炽热而嫉妒得发疯的眼神。要知道在我们理工学院,女孩本来就如同熊猫一样珍稀,而且大多数都长得比较“抽象”,可想而知这种强烈的对比是多么震撼的视觉冲击,当然你也一定能够想象到此时的我是多么的自鸣得意。
  上帝一定是一个开玩笑的高手,正在我感觉自己开始恋爱了的时候,学校却突然宣布了一个消息,由于学校要扩大规模,因此包括音乐学院在内的几个艺术类学院要搬迁,而搬迁的地址则由师生网络投票选择。
  我完全不知道音乐学院的那群学生怎么想的,网络投票结果中目前排名第一的竟然是搬迁到200公里以外的一个海边小县,如果这个结果是最终结果,那么也就意味着,我和她刚刚起飞的爱情很可能转眼就变成可怜的牛郎织女的故事。不行,这种情况绝不能发生,我必须想办法改变结果,留下她,让她留在我身边,就留在我身边的长安区!
  原来是cookies验证阻止我
  我打开学校的投票网站,看到这个网页是用asp编写的,一度想尝试寻找漏洞进入数据库直接修改数据,不过有了前几次我挑衅式的攻击,学校的网站安全性已经开始加强了,至少单凭几款傻瓜软件,已经不能够完全敲开它的大门了。无奈我只好另辟蹊径,从投票系统本身下手了。
  在投票网站中,音乐学院的四个迁址备选地都列在了上面,我勾选了距离现在学校地址最近的“长安区”,点击“提交选票”后,提示我投票成功了。再给“长安区”投票时,系统提示我已经投过票了。
  显然,投票系统加了一个简单的防作弊功能。此时我注意到,学校投票的网址为http://www.edu.cn/vote/vote_xiaozhi.asp?id=39,网站是放在公网中。正因为学校的投票网址为公网网址,我断定投票系统肯定不会采用数据库记录、核对ip地址防作弊手段。因为大多数投票的学生都是在教室机房或网吧进行的,而这些地方通常只有一个公网ip地址。我觉得学校网站采用cookies验证可能性要大得多。
  cookies验证是对用户的cookies文件中特殊ip地址进行判断的,用户在投票时cookies文件会被网站加入一个特殊的ip地址且时间设为无限长。但是一旦用户关闭了浏览器的cookies功能或将cookies清空后再一次投票,这种验证方法就会失效。
  于是我决定验证一下,我首先将系统中的cookies清空,然后重新打开ie浏览器,将“internet选项”中的“隐私”设为“阻止所有cookies”。修改完成后,我又一次进行了重复投票,而此时浏览器并没有弹出重复投票的警告提示,而是顺利地认为我投票成功了,显然我的判断是正确的,网站采用的就是cookies验证防作弊。
  选票我要“疯”投
  如果我有大量的空闲时间,并且不在乎手腕局部抽筋的话,此时我可以一直在浏览器中重复刚才的投票动作,用体力换来大量的“有效票”。但是这样似乎并不符合黑客精神的本质,而且她如果知道我为了留下她点击鼠标点到手抽筋,估计会笑破肚子的,必须采用一个简单易行的办法。
  网络投票判断投票成功的条件,往往是根据投票系统接收到的回馈数据进行判断的,根据这个特性,我决定调出抓包工具winsock expert,重复一次投票动作,并点击软件中的“打开进程”按钮,在弹出对话框中选择“iexplore.exe”就可以抓取cookies中的敏感数据,查找投票的关键代码(图1)。
   校园网络投票的作弊和反作弊技术
  从抓包数据的分析中,我发现了“choice=137&submit22.x=74&submit22.y=31”这段代码。随后我选择了投票系统另外一个地区,重复投票抓包。根据反馈的数据我发现“choice=137“是控制投票选项选择的关键数据,而其他数据则没有任何意义。
  分析出关键数据之后,我决定利用大名鼎鼎的网络瑞士军刀nc完成批量投票的工作。首先,我复制粘贴“长安区”投票抓包分析中的有用代码到记事本中(图2),并保存为shuapiao.txt文件。
   校园网络投票的作弊和反作弊技术
  然后,我把shuapiao.txt和nc放到同一个目录中,在dos命令提示符下输入“nc toupiao.edu.cn 80
  虽然用nc直接发送数据省去了许多环节,但是发送1000票需要连续点击1000次也是我无法忍受的,bat批处理文件再一次成为了我制胜的武器(图3)。通过编写bat批处理文件,我可以精确地控制投票数。毕竟只有1000多人的一个学院,如果出现上百万的投票就会露马脚。
   校园网络投票的作弊和反作弊技术
  最后的时刻,我将txt文本、nc和bat文件复制在一个目录中完成运行(图4),20分钟后,我得到了1000票的完美结果。我希望我的黑客技术此时能够留住我的爱情……
   校园网络投票的作弊和反作弊技术
  清理虚假的民意
  针对越来越多的网络刷票,有两个比较好的防范办法。一是用session技术。与常用cookies防作弊方法基本一样,它是将数据写入用户电脑的session中,时间设置为无限长(相对来说,session比cookies安全,因为session是保存在服务器上的,而cookies是保存在客户端上的)。
  另外一个方法就是用验证码技术,在投票前要先手工输入验证码。这个方法较为流行,通过随机产生的验证码,就可以防止别有用心的人使用刷票工具了。