[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[HACKATTACK Advisory 25012009]ConPresso CMS 4.07 - Session Fixation, XFS, XSS



[HACKATTACK Advisory 25012009]ConPresso CMS 4.07 - Session Fixation, XFS, XSS

Details
************************
Product: ConPresso CMS 4.07
Security-Risk: moderated
Remote-Exploit: yes
Vendor-URL: http://www.conpresso.de/
Vendor-Status: informed
Advisory-Status: not yet published

Credits
************************
Discovered by: David Vieira-Kurz
http://www.HACKATTACK.at 

Affected Products:
----------------------------
ConPresso CMS 4.07 and prior

Original Advisory:
************************
http://www.HACKATTACK.at/

Introduction
************************
ConPresso CMS is a PHP-based Content Management System.

More Details
************************
1. Cookie_Manipulation:
---------------------
The cookie variable "PHPSESSID" parameter can be set to a malicious and 
arbitrary value.

1.1 Description:
In a session fixation attack, the attacker fixes the user's session ID before 
the user even logs into the target server.
After a user's session ID has been fixed, the attacker will wait for them to 
login.
Once the user does so, the attacker uses the predefined session ID value to 
assume their online identity.

Workaround:
************************
1. Do not accept session identifiers from GET / POST variables.
2.Regenerate SID on each request.
3. Accept only server generated SID:
One way to improve security is to not accept session identifiers not generated 
by server.

if ( ! isset( $_SESSION['SERVER_GENERATED_SID'] ) ) {
session_destroy(); // destroy all data in session
}
session_regenerate_id(); // generate a new session identifier
$_SESSION['SERVER_GENERATED_SID'] = true;


2. Cross-Site-Scripting
************************
Input passed directly to the "/conpresso407/_admin/frame_titel.php" file in not 
proberly sanitized before being used and returned to the user.
This can be exploited to inject arbitrary html and javascript code.

3. Cross-Frame-Scripting
************************
A frame containing malicious code or a redirection to an opponents' site can be 
embedded using the cross-frame-scripting techniques.

Affected: "/conpresso407/_manual/index.php?ref=http://www.evil-hacker-site.com";

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. 

Example:
# clean = array();
# $html = array();
# $html['username'] = htmlentities($clean['username'],ENT_QUOTES,UTF-8'); 
?>

About HACKATTACK
================
HACKATTACK IT SECURITY GmbH is a Penetrationtest and security Auditinf company 
located in Austria and Germany.

Hotline Germany +49 (0)800 20 60 900
Hotline Austria +43 (0)06223 20 6210
More Information about HACKATTACK at
http://www.HACKATTACK.at || http://www.HACKATTACK.eu