[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".