Bug: Top XL <=1.1 - XSS and cookie disclosure (WLB-2006070104 Ascii Version)

English Version
WLB2

CVE WLB2

 Topic: Top XL <=1.1 - XSS and cookie disclosure
 Credit: David "Aesthetico" Vieira-Kurz
 Date: 2006.07.26
 CWE: CWE-79 (Show similar)
 CVE: CVE-2006-3769 (Show details)

Use CVE to see details like:
- CVSS2,
- Affected Software,
- References

Risk
Local
Remote
Low
No
Yes

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

[ ASCII VERSION ]

Copyright 2012, cxsecurity.com