<<< Date Index >>>     <<< Thread Index >>>

[MajorSecurity #17] SixCMS <= 6 - Multiple XSS and directory traversal vulnerabilities



[MajorSecurity #17] SixCMS <= 6 - Multiple XSS and directory traversal 
vulnerabilities
----------------------------------------------

Software: SixCMS

Version: <=6

Type: Cross site scripting

Date: June, 12th 2006

Vendor: Six Offene Systeme GmbH

Page: http://www.sixcms.de


Credits:
----------------------------------------------

Discovered by: David "Aesthetico" Vieira-Kurz
http://www.majorsecurity.de

Original Advisory:
----------------------------------------------
http://www.majorsecurity.de/advisory/major_rls17.txt

Affected Products:
----------------------------------------------

SixCMS 6 and prior

Description:
----------------------------------------------

SixCMS is a well known and commercial enterprise Content Management System.

Requirements:
----------------------------------------------

register_globals = On

Vulnerability:
----------------------------------------------

Input passed to the "template" parameter in "detail.php" is not
properly verified, before it is used to execute the given arguments.

Acquiring access to known files outside of the web root and current directory
is possible through directory traversal techniques.
This is made possible through the use of "../../" in a HTTP request.

Input passes to the "page" parameter in "list.php" is not properly sanitised,
before it is used to execute the given arguments.
This can be exploited to execute arbitrary HTML and script code in context of 
an affected site.


Solution:
----------------------------------------------
Edit the source code to ensure that input is properly sanitised.
You should work with "htmlspecialchars()" or "strip_tags()" php-function to 
ensure that html tags
are not going to be executed.

Example:
<?php
  echo htmlspecialchars("<script");
?>

Set "register_globals" to "Off".

Examples:
----------------------------------------------
/detail.php?template=../../../../../../etc/passwd%00
/list.php?page=<script>alert("MajorSecurity")</script>