Full Disclosure mailing list archives
Re: Wordpress 2.3 Cross Domain Content Insertion- New vulnerability + exploit - xssworm.com
From: dave-san <dave () subverted org>
Date: Tue, 13 Nov 2007 23:51:58 -0700
Comments inline.. XSS Worm XSS Security Information Portal wrote:
*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>
Hmm.. XSS shellcode? That's a new one for me. I'll take this to mean the injected script. From your post, I don't think you mean "shellcode" in the traditional sense.
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>';
It's late, and I might have missed something, but from the above, I don't see where the vulnerable parameter is being written back to the HTML response. Therefore, I don't think there is enough code in the lines above to locate the entire issue (though it looks like other parameters are vulnerable too). You mentioned: ft=<xss shellcode> So, in this example, "ft" is the vulnerable parameter. Trace what happens in code with that parameter after it receives input. I'd guess that there is something like.. echo '<maybe some HTML crap here>'. $myFilterType .' more... or echo '<ditto>'.$_GET["ft"].'<ditto>.. Perhaps take a look at where they missed the output formatting/encoding for HTML. I may be so bold as to suggest that the lack of output encoding is the major reason that XSS exists.
–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. Many thanks for your comments on this vulnerability in wordpress 2.4
..edit
Thanks 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:
- Wordpress 2.3 Cross Domain Content Insertion- New vulnerability + exploit - xssworm.com XSS Worm XSS Security Information Portal (Nov 13)
- Re: Wordpress 2.3 Cross Domain Content Insertion- New vulnerability + exploit - xssworm.com Andrew Farmer (Nov 13)
- Re: Wordpress 2.3 Cross Domain Content Insertion- New vulnerability + exploit - xssworm.com dave-san (Nov 13)
- Re: Wordpress 2.3 Cross Domain Content Insertion- New vulnerability + exploit - xssworm.com XSS Worm XSS Security Information Portal (Nov 13)