elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
20 Marzo 2010, 19:01  


Temas destacados: ¡Aprende hacking con práctica! - WarZone, el wargame de elhacker.net


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits
| | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | |-+  Falla en el mod Seo4SMF para SMF
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Imprimir
Autor Tema: Falla en el mod Seo4SMF para SMF  (Leído 5119 veces)
WHK
吴阿卡
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.718


The Hacktivism is not a crime


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #15 en: 12 Enero 2009, 14:07 »

Bueno ya salió en milw0rm  :P
http://milw0rm.com/exploits/7723
En línea

sirdarckcat
Absolutamente no es (por ningun motivo):
Moderador
*****
Conectado Conectado

Mensajes: 6.376


xDDD


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #16 en: 12 Enero 2009, 14:54 »

wtf con tu spanglish xD
En línea

WHK
吴阿卡
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.718


The Hacktivism is not a crime


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #17 en: 13 Enero 2009, 07:41 »

Citar
wtf con tu spanglish xD
jajaja y eso que hize un esfuerzo para tratar de explicar todo con la menor cantidad de palabras posibles jajaja.

La solución y futuro parche o versión desatendida XD la estamos viendo con ing_amc ya que varias personas me han pedido una solución, mientras tanto para evitar la sql inyección en seo4smf-redirect.php hize estas modificaciones:
Código
	// Pasamos a integer para evitar procesar datos no solicitados
$topic = (int)$_GET['t'];
$board = (int)$_GET['b'];
$user = (int)$_GET['u'];
$tpage = (int)$_GET['p'];
 
// Filtramos solo carácteres válidos por SMF con expresiones regulares
$other = preg_replace('|[^a-z0-9_=,;/\-.]|i', '', $_GET['o']);
$action = preg_replace('|[^a-z0-9_=,;/\-.]|i', '', $_GET['a']);
$param = preg_replace('|[^a-z0-9_=,;/\-.]|i', '', $_GET['param']);

Deben haber otras páginas en que puedas inyectar código sql debo verlo todabía, falta muchisimo por revisar pero entre los dos lo terminamos luego.

Alguien me preguntó por privado si estaba bién poner (int) directamente en la query del mysql y la verdad es mejor no hacerlo ya que antes de eso hay un if que verifica si hay contenido para procesar y si alguien ingresa letras o algo que no sea numérico lo pasará como válido y procesará la query incompleta causando un error de sintaxis asi que por eso es mas seguro ponerlo en la declaración de arriba para anticiparse. La expresión regular hace posible que puedas ingresar solo números, letras y los simbolos "_=,;/-." para que puedan ser procesados los links sin tener problemas de tener que procesar algo inesperado en alguna parte del script.
Con esto ya no necesitamos modificar las queryes de la consulta a la base de datos pero de todas formas lo haremos mañana para continuar con el parche, también queda ver todas las demás fallas pero eso lo hacemos de volada  :P

Hasta mañana.
« Última modificación: 13 Enero 2009, 07:45 por WHK » En línea

berz3k
Colaborador

Desconectado Desconectado

Mensajes: 1.015



Ver Perfil
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #18 en: 13 Enero 2009, 09:45 »

XDDD ese Spanglish r0x XDDD

-berz3k.
En línea
aristides_03

Desconectado Desconectado

Mensajes: 32



Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #19 en: 14 Enero 2009, 22:10 »

bueno si hay una forma de ayudar  dispongo de todo por que el seo es una gran utilidad para smf y es una gran las tima que el creador  dejo  abandonado su obra  :-X
En línea

WHK
吴阿卡
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.718


The Hacktivism is not a crime


Ver Perfil WWW
Parche para Seo4SMF 0.2.2.9 para SMF
« Respuesta #20 en: 16 Enero 2009, 05:42 »

Acá una función que hize para verificar el acceso a la visualización de títulos de temas o boards (==)
Código
	function seo_verifica_permisos($id, $tipo){
global $user_info, $db_prefix;
if(!$id = (int)$id){
return false;
}
if($user_info['is_admin'] == '1'){
return true; // Si es administrador entonces tiene permisos por defecto.
}
if($tipo == 'board'){ // Procesa Board
if($request = @db_query("
SELECT memberGroups
FROM {$db_prefix}boards
WHERE ID_BOARD = {$id}
LIMIT 1"
, __FILE__, __LINE__)){
if($row = @mysql_fetch_assoc($request)){
mysql_free_result($request);
}
}
if(!$permisos = @explode(',', $row['memberGroups'])){
if(!$permisos = (int)$row['memberGroups']){ // Hay permiso solo para un tipo de usuario
return false; // No hay permisos preestablecidos
}
}
foreach($permisos as $valor){
if($valor == $user_info['groups'][0]){
return true; // Tiene permisos
}
}
return false; // No tiene permisos
}elseif($tipo == 'topic'){
if($request = @db_query("
SELECT ID_BOARD
FROM {$db_prefix}topics
WHERE ID_TOPIC = {$id} LIMIT 1"
, __FILE__, __LINE__)){
if($row = @mysql_fetch_assoc($request)){
mysql_free_result($request);
}
}
if(seo_verifica_permisos((int)$row['ID_BOARD'], 'board')){
return true; // Tiene permisos
}else{
return false; // No tiene permisos
}
}else{
return false; // No hay tipos para procesar
}
}

Entre muchisimos cambios para evitar una multitud de fallas que no habia contemplado pero por el camino fuí viendo y parchando al mismo tiempo, en algunos casos algunas funciones retornan y otros no ya que en algunos casos es necesario mostrar retornos válidos y en otros casos no, no hize un texto para describir todos los cambios o hubiese quedado mas grande que el mismo script.

Este parche parcha todas las fallas antes mencionadas y mas.
Si alguien utiliza este mod modificado por mano propia tendrá que volver a crear esos cambios.
Este parche consta de 3 archivos solamente:
  • Themes/{$THEME}/Seo4SMFAdmin.template.php
  • Sources/Seo4SMFAdmin.php
  • seo4smf-redirect.php

    Los archivos a reemplazar están acá, en la primera linea de cada archivo está la localización.

    Dudas, sugerencias, propuesas, reclamos, demandas?¿?¿?
    Si quieres ver específicamente los cambios puedes utilizar el comando diff en linux o busquen el programa windiff de windows.
« Última modificación: 16 Enero 2009, 05:52 por WHK » En línea

aristides_03

Desconectado Desconectado

Mensajes: 32



Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #21 en: 16 Enero 2009, 07:51 »

hey felicidades  y que bueno que compartas el parche ya que el seo es una gran utilidad en los foros de smf y esperamos que salga tambien para la versión 2..smf  en que falta mucho seria un agrado

y bueno si necesitan ayuda  estoy dispuesto en ayudar y asi aprendemos todo que ese es el objetivo de la vida ;D
En línea

sirdarckcat
Absolutamente no es (por ningun motivo):
Moderador
*****
Conectado Conectado

Mensajes: 6.376


xDDD


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #22 en: 16 Enero 2009, 22:02 »

WHK, si sabes que se puede hacer todo ese codigo de permisos en una query a SQL? consumes menos recursos.. ve el parche que puse en el foro de lo de privado-privado

Saludos!!
En línea

Nakp
Colaborador

Desconectado Desconectado

Mensajes: 4.777


Perfect roundness ñ_ñ


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #23 en: 16 Enero 2009, 22:16 »

WHK, si sabes que se puede hacer todo ese codigo de permisos en una query a SQL? consumes menos recursos.. ve el parche que puse en el foro de lo de privado-privado

Saludos!!

eso me dijo cuando lo descubrió xD

"sdc hace modificando un par de lineas lo que yo haría creando una funcion para verificar permisos..."

@sdc: y los parches aplicados anteriormente? están el foro privado-privado? sería bueno que los incluyan todos :P
En línea

click-><-click
WHK
吴阿卡
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.718


The Hacktivism is not a crime


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #24 en: 17 Enero 2009, 02:37 »

Citar
WHK, si sabes que se puede hacer todo ese codigo de permisos en una query a SQL? consumes menos recursos.. ve el parche que puse en el foro de lo de privado-privado

Si me acordé y eso fue lo primero que hize en el parche pero después me arrepentí porque el tuyo solo indica si el foro es público entonces se muestra y si es privado no se muestra pero.. que pasa si yo tengo permisos para ver foros privados y accedo? se verá privado/privado y la idea en esa función que hice fue que cada usuario pueda ver los temas que le permiten ver, si tu puedes ver solo 2 foros privados de 3 en total solo podrás ver esos dos, esa es la idea.. ajustarse un poco a las reglas de smf ahora que alex lo quiera así para evitar el copy paste de links es otra cosa  :P
En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist

Desconectado Desconectado

Mensajes: 5.048


Mtz De C.


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #25 en: 17 Enero 2009, 22:50 »

 ;D ;D thanks
En línea



Con sangre andaluza :)
sirdarckcat
Absolutamente no es (por ningun motivo):
Moderador
*****
Conectado Conectado

Mensajes: 6.376


xDDD


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #26 en: 18 Enero 2009, 07:37 »

mmmm fuera de que eso tambien se hace en una sola linea, no estoy de acuerdo en que se muestren topics no-publicos... independientemente de su tienes permiso o no de ver el foro, solo se deberian de redirigir temas que son publicos, por el simple motivo de que si no se hace asi, que tal que alguien con privilegios, manda un MP con un enlace a un tema privado... seo4smf va a cambiar la URL por la del tema en privado..
En línea

mer77

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #27 en: 23 Marzo 2009, 19:54 »

Hola, muchisimas gracias por compartir el patch y pido disculpas por revivir este tema.

Mi pregunta es muy sencilla, en algunos foros smf luego de aplicar el patch se encuentran errores como estos:

Citar
Notice: Undefined index: t in /home/exkanka/public_html/seo4smf-redirect.php on line 7

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 7

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 7

Notice: Undefined index: b in /home/exkanka/public_html/seo4smf-redirect.php on line 8

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 8

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 8

Notice: Undefined index: o in /home/exkanka/public_html/seo4smf-redirect.php on line 9

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 9

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 9

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 10

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 10

Notice: Undefined index: p in /home/exkanka/public_html/seo4smf-redirect.php on line 11

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 11

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 11

Notice: Undefined index: a in /home/exkanka/public_html/seo4smf-redirect.php on line 12

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 12

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 12

Notice: Undefined index: param in /home/exkanka/public_html/seo4smf-redirect.php on line 13

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 13

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 13

Justamente las lineas de la 7 a la 13 corresponden a estas lineas de codigo:

Citar
        $topic = mysql_real_escape_string($_GET['t']);
        $board = mysql_real_escape_string($_GET['b']);
        $other = mysql_real_escape_string($_GET['o']);
        $user =  mysql_real_escape_string($_GET['u']);
        $tpage = mysql_real_escape_string($_GET['p']);
        $action = mysql_real_escape_string($_GET['a']);
        $param = mysql_real_escape_string($_GET['param']);

Dichos errores quedan registrados en el error_log del smf tambien.

Que significa ese problema, tiene alguna solucion? representa algun peligro?

saludos y gracias mer77.
En línea
Anon
Estudiante y
Colaborador

Conectado Conectado

Mensajes: 1.895


Anonymous & Paranoid


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #28 en: 23 Marzo 2009, 20:02 »

Pues es muy raro que te salga, este toma los datos de conexión desde el SMF, no deberia te dener problemas para conectarse a la base de datos.

Saludos
En línea

En la escuela "Temporada Baja"

Blog stack and heap
Mi Windows Live Space
Mi Twitter
Mi Canal Youtube

no free software, no free bugs
WHK
吴阿卡
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.718


The Hacktivism is not a crime


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #29 en: 24 Marzo 2009, 03:36 »

Citar
Access denied for user 'exkanka'@'localhost'
Ese error es porque la conexión hacia la base de datos no ha sido realizada, revisa tu servidor o tus datos de conexión.
En línea

Páginas: 1 [2] 3 Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

Yashira.org    Videojuegos    indetectables.net    Seguridad Informatica Colombia    Indejuegos    Internet móvil

Noticias Informatica    Seguridad Informática    ADSL    eNYe Sec    Seguridad Wireless    Underground México    Biblioteca de Seguridad

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC