[MajorSecurity #22] Top XL <=1.1 - XSS and cookie disclosure
-----------------------------------------------------------------
Software: Top XL
Version: <=1.1
Type: Cross site scripting and cookie disclosure
Made public: July, 20th 2006
Vendor: http://www.paddelberg.de
Page: http://www.paddelberg.de
Rated as: Low Risk
Credits:
----------------------------------------------
Discovered by: David "Aesthetico" Vieira-Kurz
http://www.majorsecurity.de
Original Advisory:
----------------------------------------------
http://www.majorsecurity.de/advisory/major_rls22.txt
Affected Products:
----------------------------------------------
Top XL 1.1 and prior
Description:
----------------------------------------------
Top XL is a toplist script working with static links.
Requirements:
----------------------------------------------
register_globals = On
Vulnerability:
----------------------------------------------
Input passed directly to the "pass" and "pass2" parameter in "add.php" and the "id" parameter in Members Area("/members/index.php")
is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of an affected site.
It works with a script code like this:
>'><script>alert('MajorSecurity')</script><!--
Solution:
----------------------------------------------
Edit the source code to ensure that input is properly sanitised.
You should work with "htmlspecialchars()" or "htmlentities()" php-function to ensure that html tags
are not going to be executed. You should also work with the "intval()" php-function to ensure that the input
is numeric.
Example:
<?php
$pass = htmlentities($_POST['pass']);
echo htmlspecialchars("<script");
$id = intval($_POST['id']);
?>
Set "register_globals" to "Off".