onelook onebyone CMS - Session fixation Issue

Risk: Medium
Local: No
Remote: Yes
CWE: CWE-287

CVSS Base Score: 7.5/10
Impact Subscore: 6.4/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: Partial
Integrity impact: Partial
Availability impact: Partial

[MajorSecurity Advisory #39]onelook onebyone CMS - Session fixation Issue Details ======= Product: onebyone CMS Remote-Exploit: yes Vendor-URL: Vendor-Status: informed Advisory-Status: published Credits ============ Discovered by: David Vieira-Kurz Original Advisory: ============ Introduction ============ onebyone CMS is a Content Management System. More Details ============ 1. Session fixation: The Cookie variable "PHPSESSID" can be set to a malicious and arbitrary value. 1.1 Classification: Session Fixation is an attack technique that forces a user's session ID to an explicit value. Depending on the functionality of the target web site, a number of techniques can be utilized to "fix" the session ID value. These techniques range from Cross-site Scripting exploits to peppering the web site with previously made HTTP requests. 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: Session identifiers in URL (query string, GET variables) or POST variables are not recommended as it simplifies this attack - it is easy to make links or forms which sets GET / POST variables. 2.Regenerate SID on each request: A powerful countermeassure against session fixation is to "regenerate" session identifier (SID) on each request. This means that although attacker may trick a user into accepting a known SID, the SID will be invalid when attacker attempts to re-use the SID. 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; References: ------------------------------------------------- History/Timeline ================ 29.03.2007 discovery of the vulnerability 30.03.2007 additional tests with other versions 02.04.2007 contacted the vendor 05.04.2007 advisory is written 06.04.2007 advisory released MajorSecurity ======= MajorSecurity is a German penetration testing and security research project which consists of only one person at the present time. Currently looking for a site sponsor.

Vote for this issue:


Thanks for you vote!


Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.

(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2023,


Back to Top