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

[MajorSecurity Advisory #48]eggblog - Session fixation Issue



[MajorSecurity Advisory #48]eggblog - Session fixation Issue

Details
=======
Product: eggblog 
Affected version: 3.1.0 and prior
Remote-Exploit: yes
Vendor-URL: http://www.eggblog.net
Vendor-Status: informed
Advisory-Status: published

Credits
============
Discovered by: David Vieira-Kurz
http://www.majorsecurity.de

Original Advisory:
============
http://www.majorsecurity.de/index_2.php?major_rls=major_rls48

Introduction
============
"eggblog is a free php & mysql package, 
 allowing you to create your own online website, journal or weblog (blog)." 
-from eggblog.net

More Details
============
1. Session fixation:
The "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;


History/Timeline
================
25.05.2007 discovery of the vulnerability
27.05.2007 contacted the vendor
27.05.2007 working patch sent to the vendor
29.05.2007 advisory is written
29.05.2007 advisory released

MajorSecurity
=======
MajorSecurity is a non-profit German penetration testing and security research 
project
which consists of only one person at the present time.
http://www.majorsecurity.de/