Full Disclosure mailing list archives

Wordpress 2.3 Cross Domain Content Insertion- New vulnerability + exploit - xssworm.com


From: "XSS Worm XSS Security Information Portal" <cross-site-scripting-security () xssworm com>
Date: Wed, 14 Nov 2007 13:08:16 +1100

*0day XSS Exploit for Wordpress 2.3* – wp-slimstat 0.92 – [xssworm.com]

Source:
http://xssworm.blogvis.com/13/xssworm/0day-inject-exploit-for-wordpress-23-xsswormcom-all-version-vulnerable-with-no-patch/

There is a serious holes in wordpress 2.3 that can be used with XSS by a
blackhat hacker to attack the wordpress administrator and steal cookies from
blogmins. This attack is known as 0day because it has just been reported to
public and this is first day of public vulnerability, and *0day means
'published.*'
Proof of concept:

http://wordpress-web-blog.com/wp-admin/index.php?page=wp-slimstat/wp-slimstat.php?panel=1&fi=/feed/&ff=1&ft=<xss
shellcode>

This attack to be used against wordpress web blog blogmin to steal
blogosphere token to hack blogs. Of course we have included exploit code for
this bug at the below.

We have looked at coding for wp-slimstat but we cannot see any problem with
input validating. Maybe some of the xssworm.com readers can show us where
problem is in the php code because we cannot see any porblem here:

–snips:

C:\temp>findstr GET wp-slimstat.php
$myFilterField = intval( $_GET['ff'] );
$myFilterType = intval( $_GET['ft'] );
$myFilterString = $_GET['fi'];
$myFilterInterval = $_GET['fd'];
$myFilterField = intval( $_GET['ff'] );
$myFilterType = intval( $_GET['ft'] );
$myFilterString = $_GET['fi'];
$myFilterInterval = $_GET['fd'];
'.(!empty($myFilterString)?'— <a
href="?page='.$_GET['page'].'&panel='.$_GET["panel"].'">'.__('Reset
filters', 'wp-slimstat').'</a>':").'
<input type="hidden" name="page" value="'.$_GET['page'].'" />
<input type="hidden" name="panel" value="'.$_GET["panel"].'" />
<input type="hidden" name="fd" value="'.$_GET["fd"].'" /></form>';

–snips

With programmor using $_GET variable from user into echo into html output
maybe php automatic GET validation filtering is not working for security? We
are not programmers of php so we cannot see any porblems here as bug are too
complex to understand.

Exploit code for perl whitehats included here:

# Wordpress 2.3 0day exploit – http://xssworm.com
#
# A bug exist in wordpress 2.3 that allow hacker to
# steal blog cookie from wordpress blogmin.
#
# To exploit scripting bug the attacker make link
# to URL of slimstat with XSS shellcode and force
# blog admin to hit link by embedding into fish
# email or making blogmin follow interesting links.
# Also hacker can embed into refer or trackback
# to inject scripting into wordpress dashboard or
# make blogmin visit malicious resource when viewing
# he's blog.
#
#
# Status: not patched published 0day vulnerability
# Vendor: wordpress.org
# Credit: http://xssworm.com
# Discovery: 1st November 2007
# Exploit developer: Fracesco Vaj (vaj () xssworm com)
#
# Instruction:
# To execute exploit for wordpress you will need perl or linux
#
# Usage:
#
# Execute with perl or linux as:
# perl wordpress-2.3-0day-xss-injection-bug.pl
#
# Hacker will get prompts for target information.
# Please do not use for irresponsible hacking or to make money.
# Disclaimer: XSSWORM.COM is not responsible.
#
#

#use Net::DNS:Simple;
#use Math;
use Socket;

print "Welcome. What is target email address of wordpress blog admin : \n";
my $target = <STDIN>;
print "ok target is $target\n";
sleep(3);
print "ok What is address of wordpress blog : \n";
sleep(5); my $address = <STDIN>;
print "ok target is $target\n";
sleep(6);
# print "testing"
print "ok using /wp-admin/?page=wp-slimstat/wp-slimstat.php
?panel=1&ft=SHELLCODE\n";
print "\n\n — CUT OUTPUT HERE — \n\n";
print "HELO xssworm.com\n";
print "RSET\n";
PRINT "MAIL FROM: <xssworm () hotmail com>\n";
print "RCPT TO: <$target>\n";
print "DATA\n"; print "Free x pciture and movies at $address\n";
print "\r\n.\r\nquit\r\n";
print "\n\n — END OF OUTPUT CUT HERE –\n";
print "";
print "Ok now you neeed to cut the exploit above and paste it to:\n";
print "$address : 25 \n";
print "Shellcode by vaj () xssworm com c. 2007\n";
print "End of attack.\n";
print "";
#print "Debug mode on"
#print "XSS initialized"
#payload
sleep(1); return(0);
# snips
#

Please note that this wp-slimstat does not contain any code injection or
mysql injection bug vector that is opened to blackkhat attack via transport
of xss.

Many thanks for your comments on this vulnerability in wordpress 2.4

Thanks vaj

-- 
Francesco Vaj [CISSP - GIAC]
CSS Security Researcher
mailto:vaj () nospam xssworm com
aim: XSS Cross Site
------
XSS Cross Site Scripting Attacks
Web 2.0 Application Security Information Blog (tm) 2007
http://www.XSSworm.com/
------
"Vaj, bella vaj."
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Current thread: