Wichtiges Update der Download MOD bis Version 6.4.18

Support zu den Modifikationen (MODs) von Entwickler OXPUS für das phpBB 3.0.x
Antworten
Benutzeravatar
oxpus
Chief handy-man
Beiträge: 2660
Registriert: Do 13. Dez 2007, 23:06
Wohnort: Irgendwo im I-Net
Kontaktdaten:

Wichtiges Update der Download MOD bis Version 6.4.18

Beitrag von oxpus »

Die Download MOD weist seit einigen Versionen eine kritische Lücke im Moderator Panel auf, so dass selbst Gäste Downloads manipulieren oder gar löschen können.
Es wird dringend empfohlen, die MOD auf die aktuelle Version zu bringen, um diese Lücke zu schließen, da sie bereits ausgenutzt wird!!

Für all diejenigen, die aktuell keine Zeit für ein Komplett-Update haben oder viele Zwischen-Updates machen müssten, hier die nötigen Änderungen, um manuell die Lücke zu bereinigen:

Datei /dl_mod/includes/dl_modcp.php öffnen

Code finden:

Code: Alles auswählen

$deny_modcp = 0;

if (($action == 'edit' || $action == 'save') && $config['dl_edit_own_downloads'])
{
	$sql = 'SELECT add_user FROM ' . DOWNLOADS_TABLE . '
		WHERE id = ' . (int) $df_id;
	$result = $db->sql_query($sql);
	$add_user = $db->sql_fetchfield('add_user');
	$db->sql_freeresult($result);

	if ($add_user == $user->data['user_id'])
	{
		$own_edit = true;
	}
	else
	{
		$own_edit = false;
	}
}
else
{
	$own_edit = false;
}

if (isset($own_edit) && $own_edit == true)
{
	$access_cat[0] = $cat_id;
	$deny_modcp = 0;
}
else
{
	$access_cat = array();
	$access_cat = dl_main::full_index(0, 0, 0, 2);
}

$cat_auth = array();
$cat_auth = dl_auth::dl_cat_auth($cat_id);

if (!$cat_id && !$cat_auth['auth_mod'] && !isset($index[$cat_id]['auth_mod']) && !$auth->acl_get('a_') && !$access_cat)
{
	$deny_modcp = true;
}

if ($deny_modcp)
{
	$view = '';
	$action = '';
}
else
Code ersetzen mit:

Code: Alles auswählen

$own_edit = false;
$deny_modcp = true;

if (($action == 'edit' || $action == 'save') && $config['dl_edit_own_downloads'])
{
	$sql = 'SELECT add_user FROM ' . DOWNLOADS_TABLE . '
		WHERE id = ' . (int) $df_id;
	$result = $db->sql_query($sql);
	$add_user = $db->sql_fetchfield('add_user');
	$db->sql_freeresult($result);

	if ($add_user == $user->data['user_id'])
	{
		$own_edit = true;
	}
	else
	{
		$own_edit = false;
	}
}
else
{
	$own_edit = false;
}

if ($own_edit == true)
{
	$access_cat[0] = $cat_id;
	$deny_modcp = false;
}
else
{
	$access_cat = array();
	$access_cat = dl_main::full_index(0, 0, 0, 2);
}

$cat_auth = array();
$cat_auth = dl_auth::dl_cat_auth($cat_id);

if (sizeof($access_cat) || $auth->acl_get('a_'))
{
	$deny_modcp = false;
}

if (isset($index[$cat_id]['auth_mod']) && $index[$cat_id]['auth_mod'])
{
	$deny_modcp = false;
}

if ($cat_id && $cat_auth['auth_mod'])
{
	$deny_modcp = false;
}

if ($deny_modcp)
{
	trigger_error($user->lang['DL_NO_PERMISSION']);
}
else
Damit ist es ab sofort Gästen komplett und nur erlaubten Benutzern erlaubt, Downloads zu ändern, bzw. zu löschen.

Solte es dennoch jemanden gelingen, das Moderator Panel der MOD unberechtigter Weise zu öffnen, bitte ich um Rückmeldung mit Beschreibung der Vorgehensweise, damit die Lücke auch für diese Möglichkeiten geschlossen werden kann.
Karsten Ude
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten