本程序基于php的curl扩展,如果运行失败,请先检查您的php环境是否正常!
这个函数的功能包括,自动生成ip,以及ip自定义,自动生成人名(附带函数),自定义浏览器agent(默认为IE8),当然,你想循环多次运行的话, 你可以for嘛...
需要视情况修改的代码我都增加了注释.
在这里,我要声明:
本程序代码仅供学习交流,除此之外,作者无任何目的,任何用于非法目的,以及违背道德及法律的行为,均与作者无关!
请尊重作者的劳动成果,复制粘贴请附带版权信息!
 
话说投票,那么第一反应就是抓包,某url发来一看,无验证码,就是后台需要管理员验证,这个好办,提交上去即可,服务器返回一句提交成功.
程序的思路为:
1,访问目的页面,获取cookies
2,处理并构造发包内容
3,Posting!!!!!
 
当然,这里涉及到ip伪装,ip伪装的方式有多种,可以参考诸如:代理,vpn,adsl断线换ip等等,具体方法可以咨询baidu或google,这里并不多谈.
但是,本函数中使用的ip伪装,来源于php的curl扩展,CURLOPT_HTTPHEADER方法, 具体使用方法参见代码.
另外,根据每个投票系统都不同,需要有针对性的对发包内容构造.
 
废话不说,我们先来做第一件事,抓包!
抓包工具有很多,在此我们不做复述,不过推荐大家可以考虑Fiddler 至少我用的很顺手
出于隐私考虑,包内部分内容用'*'代替
*/
 
/*
http://**************/*****.asp
POST /*******.asp HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/msword, application/vnd.ms-powerpoint, application/vnd.ms-excel, */
Referer: http://**********/?
Accept-Language: zh-cn
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; InfoPath.2)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: ***************
Content-Length: 206
Connection: Keep-Alive
Pragma: no-cache
Cookie: ASPSESSIONIDCCDTQQDQ=JEFPLGIAIDAEHAAJBGIIBKJF
 
memberNO=********&id=5&re=***********&imageField.x=46&imageField.y=11
 
从包的内容中可以看出,对方网站采用了Session的机制,Session的会话有效期通常认为是,浏览器的进程访问期,也就是说,你关闭浏览器,再次访问,那么session的内容就要换新的了.
这个包的最下面一行则是我们需要提交的内容.
其中,memberNO和re这两项的值,就是我们自己填写的内容.
程序及调用方法如下:
(调用例子)
 
include_once("./name.php");
$url="http://www.baidu.com/";
$posturl="http://www.baidu/toupiao.asp";
//$postmsg为一个数组,需要准备一个array
$postmsg= array("投票1","投票2","投票3","投票4");
$agent="";
 
MadVotePost($url,$posturl,$postmsg,$agent);
/*
这样,它的默认的运行次数,为你的$postmsg的行数,当然,每次运行的ip,以及姓名都不同,相同的只是你的post信息
个人建议在这个调用页面前增加一行 set_time_limit(0); 以防程序运行时间不足被php强制终止.
 
来吧,comeon~~ 上程序
*/
/************************
*                       *
*  MadVotePost          *
*           ver 1.0     *
*    Code by @feng@     *
* Email:                *
* zhufeng16#Gmail.com   *
*************************/
 
function MadVotePost($url,$posturl,$postmsg,$agent=""){
    if($url == "")||(!ereg("^http(s)*://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $url){
        return "地址不存在或为非法地址!,大哥,您应当先访问下看看呀!";
        exit();
    }
 
    if($posturl == "")||(!ereg("^http(s)*://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $posturl){
        return "这地方我提交不过去,麻烦看看?";
        exit();
    }
 
        $ip = rand(1,254).".".rand(0,255).".".rand(0,255).".".rand(0,255); //如需修改ip,请修改本行
 
    if ($agent == ""){
        $agent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)";
    }else{
        $agent = $agent
    }
 
    $vote_num = 0; //计数器
 
    foreach ($postmsg as $msg){
        $vote_num = $vote_num + 1;
 
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 1);
        preg_match('/^Set-Cookie: (.*?);/m',curl_exec($ch), $m);
        $cookies = parse_url($m[1]);
        curl_exec($ch);
 
        foreach ($cookies as $ck){
            $cookies = null;
            $cookies = $ck;
        }
 
        $post_data  = "memberNO=".$names."&id=5&re=".$msg."&imageField.x=46&imageField.y=11"; //本行需根据具体情况修改
 
        curl_setopt($ch,CURLOPT_URL,$posturl);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.$ip.'', 'CLIENT-IP:'.$ip.''));
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt ($ch, CURLOPT_COOKIE , $cookies );
        curl_setopt($ch,CURLOPT_REFERER,($url));
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
        $output = curl_exec($ch);
        curl_close($ch);
 
        echo "第".$vote_num."次投票成功,投票内容:".$msg.",本次使用ip:".$ip."
";
 
    }
}
 
//这个函数中调用了一个自动生成人名的函数,来源于网络,这里一并附上
 
function name(){
    static $ex,$em;
 $x = "赵,钱,孙,李,周,吴,郑,王,冯,陈,褚,卫,蒋,沈,韩,杨,朱,秦,尤,许,何,吕,施,张,孔,曹,严,华,金,魏,陶,姜,戚,谢,邹,喻,柏,水,窦,章,云,苏,潘,葛,奚,范,彭,郎,鲁,韦,昌,马,苗,凤,花,方,俞,任,袁,柳,酆,鲍,史,唐,费,廉,岑,薛,雷,贺,倪,汤,滕,殷,罗,毕,郝,邬,安,常,乐,于,时,傅,皮,卞,齐,康,伍,余,元,卜,顾,孟,平,黄,和,穆,萧,尹,姚,邵,湛,汪,祁,毛,禹,狄,米,贝,明,臧,计,伏,成,戴,谈,宋,茅,庞,熊,纪,舒,屈,项,祝,董,梁,杜,阮,蓝,闵,席,季,麻,强,贾,路,娄,危,江,童,颜,郭,梅,盛,林,刁,锺,徐,邱,骆,高,夏,蔡,田,樊,胡,凌,霍,虞,万,支,柯,昝,管,卢,莫,经,房,裘,缪,干,解,应,宗,丁,宣,贲,邓,郁,单,杭,洪,包,诸,左,石,崔,吉,钮,龚,程,嵇,邢,滑,裴,陆,荣,翁,荀,羊,於,惠,甄,麴,家,封,芮,羿,储,靳,汲,邴,糜,松,井,段,富,巫,乌,焦,巴,弓,牧,隗,山,谷,车,侯,宓,蓬,全,郗,班,仰,秋,仲,伊,宫,宁,仇,栾,暴,甘,钭,历,戎,祖,武,符,刘,景,詹,束,龙,叶,幸,司,韶,郜,黎,蓟,溥,印,宿,白,怀,蒲,邰,从,鄂,索,咸,籍,赖,卓,蔺,屠,蒙,池,乔,阳,郁,胥,能,苍,双,闻,莘,党,翟,谭,贡,劳,逄,姬,申,扶,堵,冉,宰,郦,雍,却,璩,桑,桂,濮,牛,寿,通,边,扈,燕,冀,僪,浦,尚,农,温,别,庄,晏,柴,瞿,阎,充,慕,连,茹,习,宦,艾,鱼,容,向,古,易,慎,戈,廖,庾,终,暨,居,衡,步,都,耿,满,弘,匡,国,文,寇,广,禄,阙,东,欧,殳,沃,利,蔚,越,夔,隆,师,巩,厍,聂,晁,勾,敖,融,冷,訾,辛,阚,那,简,饶,空,曾,毋,沙,乜,养,鞠,须,丰,巢,关,蒯,相,查,后,荆,红,游,竺,权,逮,盍,益,桓,公,万俟,司马,上官,欧阳,夏侯,诸葛,闻人,东方,赫连,皇甫,尉迟,公羊,澹台,公冶,宗政,濮阳,淳于,单于,太叔,申屠,公孙,仲孙,轩辕,令狐,钟离,宇文,长孙,慕容,司徒,司空,召,有,舜,丛,岳,寸,贰,皇,侨,彤,竭,端,赫,实,甫,集,象,翠,狂,辟,典,良,函,芒,苦,其,京,中,夕,之,章佳,那拉,冠,宾,香,果,纳喇,乌雅,范姜,碧鲁,张廖,张简,图门,太史,公叔,乌孙,完颜,马佳,佟佳,富察,费莫,蹇,称,诺,来,多,繁,戊,朴,回,毓,税,荤,靖,绪,愈,硕,牢,买,但,巧,枚,撒,泰,秘,亥,绍,以,壬,森,斋,释,奕,姒,朋,求,羽,用,占,真,穰,翦,闾,漆,贵,代,贯,旁,崇,栋,告,休,褒,谏,锐,皋,闳,在,歧,禾,示,是,委,钊,频,嬴,呼,大,威,昂,律,冒,保,系,抄,定,化,莱,校,么,抗,祢,綦,悟,宏,功,庚,务,敏,捷,拱,兆,丑,丙,畅,苟,随,类,卯,俟,友,答,乙,允,甲,留,尾,佼,玄,乘,裔,延,植,环,矫,赛,昔,侍,度,旷,遇,偶,前,由,咎,塞,敛,受,泷,袭,衅,叔,圣,御,夫,仆,镇,藩,邸,府,掌,首,员,焉,戏,可,智,尔,凭,悉,进,笃,厚,仁,业,肇,资,合,仍,九,衷,哀,刑,俎,仵,圭,夷,徭,蛮,汗,孛,乾,帖,罕,洛,淦,洋,邶,郸,郯,邗,邛,剑,虢,隋,蒿,茆,菅,苌,树,桐,锁,钟,机,盘,铎,斛,玉,线,针,箕,庹,绳,磨,蒉,瓮,弭,刀,疏,牵,浑,恽,势,世,仝,同,蚁,止,戢,睢,冼,种,涂,肖,己,泣,潜,卷,脱,谬,蹉,赧,浮,顿,说,次,错,念,夙,斯,完,丹,表,聊,源,姓,吾,寻,展,出,不,户,闭,才,无,书,学,愚,本,性,雪,霜,烟,寒,少,字,桥,板,斐,独,千,诗,嘉,扬,善,揭,祈,析,赤,紫,青,柔,刚,奇,拜,佛,陀,弥,阿,素,长,僧,隐,仙,隽,宇,祭,酒,淡,塔,琦,闪,始,星,南,天,接,波,碧,速,禚,腾,潮,镜,似,澄,潭,謇,纵,渠,奈,风,春,濯,沐,茂,英,兰,檀,藤,枝,检,生,折,登,驹,骑,貊,虎,肥,鹿,雀,野,禽,飞,节,宜,鲜,粟,栗,豆,帛,官,布,衣,藏,宝,钞,银,门,盈,庆,喜,及,普,建,营,巨,望,希,道,载,声,漫,犁,力,贸,勤,革,改,兴,亓,睦,修,信,闽,北,守,坚,勇,汉,练,尉,士,旅,五,令,将,旗,军,行,奉,敬,恭,仪,母,堂,丘,义,礼,慈,孝,理,伦,卿,问,永,辉,位,让,尧,依,犹,介,承,市,所,苑,杞,剧,第,零,谌,招,续,达,忻,六,鄞,战,迟,候,宛,励,粘,萨,邝,覃,辜,初,楼,城,区,局,台,原,考,妫,纳,泉,老,清,德,卑,过,麦,曲,竹,百,福,言,第五,佟,爱,年,笪,谯,哈,墨,南宫,赏,伯,佴,佘,牟,商,西门,东门,左丘,梁丘,琴,后,况,亢,缑,帅,微生,羊舌,海,归,呼延,南门,东郭,百里,钦,鄢,汝,法,闫,楚,晋,谷梁,宰父,夹谷,拓跋,壤驷,乐正,漆雕,公西,巫马,端木,颛孙,子车,督,仉,司寇,亓官,鲜于,锺离,盖,逯,库,郏,逢,阴,薄,厉,稽,闾丘,公良,段干,开,光,操,瑞,眭,泥,运,摩,伟,铁,迮";
    // 名,自己追加吧
 $m = "明娣,兰芳,照捷,科捷,慧清,帅成,云彪,彪,佁,稹,隆,正顺,冰,牡丹,皓,璋,媛,昊,青荷,和堂,,涛,俊博,晨伍,寺院,世星,云支,宇峰,月,尔,源,伟成,晓凤,瑞敏,雪,航,军胜,振华,材治,可意,千亦,冰巧,书文,映阳,高飞,雪卉,依玉,灵凡,若涵,乐意,乐晨,雨灵,山彤,念梦,曼卉,曼青,若晗,冬儿,梦琪,含玉,含巧,晓蕾,思真,书竹,友卉,笑晴,有余,萌飞,猛飞,孟飞,萌迪,晓卉,灵卉,晓涵,书亦,一,文言,吉钟,钟吉,亘,博,菲,华,茹霞,昕燕,昕雁,帅,睿瑶,滓,子裕,子淳,云宝,豪雨,豪宇,好雨,好宇,浩雨,浩宇,一鸣,婷,红,圣熙,传军,戎,熙宸,妮,学而,晨程,君健,颖,岩,秋,程程,圆,园,艺,泉,荃,力,蠡,筌,璨,洁,瑛,肜絮,肜,肜瑛,正光,纲,平,绍晨,奕,涛荣,涛宁,腾富,继富,涛华,涛鸣,动力,丽芳,琳,超,坤,成美,熙真,英超,海贤,振国,靖,子,生,君,少,中方,苑,光,成日,成学,聪,强,福,峰,纪,星明,晓蓉,金淳,哲先,智成,绍丽,艺璇,宏,佳,绍娟,虹,中伟,震国,正国,政国,贞国,镇国,桢国,钲,景秀,惠青,才人,升,瑞祥,奕冰,阳,飞,磊,志红,政宇,政旭,家乐,紫涵,紫寒,子寒,思寒,思伊,修勇,思涵,志霞,曙嵘,峥,小云,悦,欣然,然,灵,洋,颖颖,彤,逸轩,宇,一诺,冬,大贵,小丫,争然,争,韩悦,韩,澎男,大赢,赢,澎楠,刚林,异凡,忠乐,彦飞,贤,保柱,靖雄,彦鹏,彦新,亚宁,言欣,子昂,子平,之平,小娟,娟,娟平,娟萍,鑫,鑫平,鑫萍,心平,馨平,辛平,新平,昕平,新,心,鑫成,功成,岷,玟,黾,民,闽,铭,敏,皿,智卓,蔚蓝,梓穹,淋,辰淋,修军,森,驿镐,鑫琳,霖,雯,良万,山清,辰琳,爽琳,一琳,逸琳,中仕,伟良,黎,晓东,明雪,超南,铭雪,莹,志杰,海龙,秀云,簇新,增霞,增侠,泽文,文韬,家俊,东升,哲文,程文,孟只,梅,辉,广斌,鹏,御景,娥,淑艳,军霞,红梅,勇,林泉,朵一,灵泉,灵欣,棂镳,棂泉,棂,雅婷,灿婷,仙婷,婷婷,兀,鞒,琴,佳乐,萌,唐古,唐朱,柯江,柯朱,杨焦,巾帼,鹏翔,浩然,瑞丽,丽,根群,彦辉,震,振,章,之尧,妍伊,然染,冰染,依妍,妍依,璐染,染然,盈颖,新锁,小梅,莉,朝玮,朝霞,自恩,爱红,漫,欣童,欣桐,子健,靖桐,靖童,蕊,蕊蕊,新童,新桐,新蕊,欣颜,心颜,嫣然,新然,梓潼,子桐,子童,子瞳,紫童,紫桐,紫瞳,如意,宝,细细,颜,玄庚,荣胜,畅,容胜,舒,扬,飞飞,承贤,昀烨,蒙蒙,微,文文,莹莹,明强,彦旭,玲,慧玲,韬,润国,玉梁,嘉盛,嘉欣,家隆,佳隆,加隆,嘉隆,佳盛,嘉强,嘉龙,嘉力,森琦,琦森,亚洲,贤洋,伟,远勋,远练,嘉昌,嘉泰,浩臻,骑琥,琦琥,琢杭,高玺,建华,令惠,淩,晴,翎惠,翎妍,羚盈,玲漪,玲翡,玲婞,玲幸,玲沁,羚滢,羚漪,翰,苗苗,苗,红娜,影,艳楠,明英,鹤,营泽,佳一,一佳,宏图,国新,欣雨,欣阳,忠义,晓乐,小乐,忠,贺,龙,羽,晔,付元,俊丽,柄辰,麟,致远,静远,泊宁,修杰,彩仓,乐,尚真,雨桐,素同,腮羽,缌羽,帜晗,孜晗,孜西,孜娴,思娴,利,芳巧,风光,非,翼,易梦,傲云,秋柳,国梁,国良,非吟,云龙,根,力达,易达,顺达,雯艳,瞻,汝钰,健,蛋,旦,贝儿,贝,世俊,丰,衡,仁霞,甜甜,任安,晓杰,仁娟,家仪,鸿,星慰,星达,寒,尘,辰,玉一,玉二,玉,玉嘉,玉霖,宏一,宏丹,宏星,宏恒,宏博,宏嘉,宏霖,宏韩,星二,星丹,星,星宏,星博,星嘉,星瑶,星霖,星韩,恒一,恒三,恒玉,恒宏,恒浩,恒靳,恒嘉,恒瑶,恒韩,浩二,浩丹,浩,浩宏,浩恒,浩嘉,浩瑶,浩韩,博一,博丹,博玉,博宏,博靳,博博,博嘉,瑶一,瑶二,瑶恒,瑶博,瑶瑶,瑶霖,瑶韩,霖一,韩一,韩丹,韩宏,韩恒,韩博,韩嘉,韩瑶,韩霖,韩韩,翻三,翻恒,翻博,翻嘉,翻瑶,文娟,仁涛,儒岚,朋,音霞,果,淼,洪果,艳玲,恒,丽文,恒霖,启,红艳,晓梅,安守,詹,渝豫,烟,德彬,十用,桓,沐阳,通,博文,文博,小青,小倩,涵,贝康";
 if (!is_array($ex)) $ex = explode(',',$x);
    if (!is_array($em)) $em = explode(',',$m);
 $xi = mt_rand(1,count($ex));
 $mi = mt_rand(1,count($em));
 return $ex[$xi].$em[$mi];
}