Importante fallo de seguridad 15-09-2006
[ versión 1.7.3 / 1.7.2 ] Fallo de seguridad en global.php (para versiones 1.7 y 1.7.1 editar search.php )
Buscar:
$search_keywords = (isset($HTTP_POST_VARS['search_keywords'])) ? trim($HTTP_POST_VARS['search_keywords']) : urldecode(trim($HTTP_GET_VARS['search_keywords']));
reemplazar por:
$search_keywords = (isset($HTTP_POST_VARS['search_keywords'])) ? trim($HTTP_POST_VARS['search_keywords']) : trim($HTTP_GET_VARS['search_keywords']);
Buscar:
$search_user = (isset($HTTP_POST_VARS['search_user'])) ? trim($HTTP_POST_VARS['search_user']) : urldecode(trim($HTTP_GET_VARS['search_user']));
reemplazar por:
$search_user = (isset($HTTP_POST_VARS['search_user'])) ? trim($HTTP_POST_VARS['search_user']) : trim($HTTP_GET_VARS['search_user']);
Importante fallo de seguridad 03-05-2006
[ versión 1.7.1 / 1.7.2 ] Fallo de seguridad en session.php
en includes/sessions.php buscar:
$this->session_id = session_id();
reemplazar por:
$this->session_id = preg_replace('/[^a-z0-9]+/i', '', session_id());
============================================================
Importante fallo de seguridad 28-02-2006
[ versión 1.7 / 1.7.1 ] Fallo de seguridad en index.php
Buscar este código:
$template = (isset($HTTP_GET_VARS['template'])) ? stripslashes(trim($HTTP_GET_VARS['template'])) : stripslashes(trim($HTTP_POST_VARS['template']));
reemplazar por:
$template = (isset($HTTP_POST_VARS['template'])) ? basename(stripslashes($HTTP_POST_VARS['template'])) : basename(stripslashes($HTTP_GET_VARS['template']));
============================================================
[ versión 1.7 ] Fallo de seguridad en sessions.php
Editar includes/sessions.php y buscar la línea:
$user_id = ($this->read_cookie_data("userid")) ? $this->read_cookie_data("userid") : GUEST;
reemplazar por:
$user_id = ($this->read_cookie_data("userid")) ? intval($this->read_cookie_data("userid")) : GUEST;
[ Versiones 1.7 / 1.7.1] Fallo de seguridad en search.php y register.php
1) En search.php parte de código y variables están localizados debajo del copyright hasta:
$main_template = 'search';
(línea 76 si no has realizado modificaciones)
debe ser "desplazado" y quedar por debajo de:
include(ROOT_PATH.'global.php');
(línea 82 si no has realizado modificaciones)
2) En register.php encuentra el código:
if ($site_db->not_empty($sql)) {
$msg .= (($msg != "") ? "<br />" : "").$lang['username_exists'];
$error = 1;
}
inserta justo debajo:
elseif (preg_match("#[<>]#", $user_name))
{
$msg .= (($msg != "") ? "<br />" : "").$lang['username_bad_characters'];
$error = 1;
}
3) En lang/<tu idioma>/main.php al final antes de ?> añade esta línea:
$lang['username_bad_characters'] = "El nombre de usuario contiene caracteres no permitidos";