[MajorSecurity #23] BLOG:CMS <= 4.0.0j - XSS and cookie disclosure
[MajorSecurity #23] BLOG:CMS <= 4.0.0j - XSS and cookie disclosure
-------------------------------------------------------------------
Software: BLOG:CMS
Version: 4.0.0j
Type: Cross site scripting
Made public: July, 22th 2006 
Vendor: F-ART AGENCY, Ltd. - Radek Hulán
Page: http://blogcms.com/
Credits:
----------------------------------------------
Discovered by: David Vieira-Kurz
http://www.majorsecurity.de
Original Advisory:
----------------------------------------------
http://www.majorsecurity.de/advisory/major_rls23.txt
Affected Products:
----------------------------------------------
BLOG:CMS 4.0.0j and prior
Description:
----------------------------------------------
BLOG:CMS is the most complete, feature-packed, personal publishing system on 
the market, developed by Radek Hulán. It 
includes state-of-the-art weblog, forum, wiki engine, news aggregator (atom 
/rss), and photo gallery.
Requirements:
----------------------------------------------
register_globals = On
Vulnerability:
----------------------------------------------
Input passed directly to the "id" parameter 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".