Anmelden Registrieren

Einloggen

Username *
Password *

Neuen Account anlegen

Die mit einem Sternchen (*) gekennzeichneten Felder sind Pflichtfelder.
Name *
Username *
Password *
Verify password *
Email *
Verify email *
Captcha *

Sicherheitslücke in XT-Commerce 3.xx

Rate this item
(0 votes)

Es gibt mal wieder etwas Aufregung um eine "alte", neue Sicherheitslücke im XT:Commerce Shop. Betroffen sind alle ab der Version 3.xx.

Das ganze wird hier sehr interessant diskutiert: http://stoffline.com/golb/sicherheitslucke-in-xtcommerce/

Zusammenfassend ist zu sagen, das die folgenden Punkte erledigt werden müssen:

1. in der admin/includes/application_top.php

$current_page = split('?', basename($_SERVER['PHP_SELF'])); 

gegen

$current_page = split('?', basename($_SERVER['SCRIPT_FILENAME']));

tauschen

2. ebenfalls in der application_top.php

nach

require('../' . DIR_WS_INCLUDES . 'write_customers_status.php');

folgendes einfügen:

if(file_exists($current_page) == false   || $_SESSION['customers_status']['customers_status_id'] !== '0') {     

xtc_redirect(xtc_href_link(FILENAME_LOGIN));

}

3. in der Datei admin/includes/functions/general.php

die Funtion: xtc_check_permissions(); suchen und:

Hier einfach in der Datenbank Query:
$access_permission_query = xtc_db_query("select ".$pagename." from ".TABLE_ADMIN_ACCESS." where customers_id = '".$_SESSION['customer_id']."'");
Noch eine zusätzliche Funktion einbauen:
$access_permission_query = xtc_db_query("select ".xtc_db_input($pagename)." from ".TABLE_ADMIN_ACCESS." where customers_id = '".$_SESSION['customer_id']."'");

Dann sollte diese Lücke zumindest dicht sein.

Beste Grüße

Michael Opre

Last modified on Donnerstag, 02 August 2012 13:36