elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  Sistema de quote en SMF querys
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sistema de quote en SMF querys  (Leído 2,530 veces)
yasión

Desconectado Desconectado

Mensajes: 48

‮‮


Ver Perfil WWW
Sistema de quote en SMF querys
« en: 25 Noviembre 2009, 23:30 pm »

Pues con la excusa de la búsqueda del XSS he estado mirando algunas líneas de código de SMF2.0, y resulta que de PHP se más bién poco así que si alguien me puede explicar esto lo agradeceré.
En la Wiki del smf2-review dice:

Citar
Es dificil hacer inyecciones SQL porque ahora ya usan un sistema de quote...

¿A que se refiere esto? Lo que yo he visto en las consultas es que usan las funciones de $smcFunc. Por ejemplo:

$smcFunc['db_query'] (identifier, query, values, connection)
Código:
$where = 'member_name = {string:member_name}';
$where_params['member_name'] = $_POST['user'];
$request = $smcFunc['db_query']('', '
     SELECT id_member, real_name, member_name, email_address, is_activated, validation_code, lngfile, openid_uri, secret_question
     FROM {db_prefix}members
     WHERE ' . $where . '
     LIMIT 1',
     array_merge($where_params, array())
);

Que hace {string:member_name}? Supongo que convertirá a string $_POST['user'], digo yo que equivaldrá a algo así:

Código:
WHERE member_name='.$_POST['user']

El caso es que no veo que mire el contenido en ningún sitio, con que supongo que lo estará haciendo en la parte de {string:variable}...  Cualquier cosa que me cuenten me sirve porqué tengo muy poca idea...  :huh:

Bueno, y luego pasa $request a otra función de $smcFunc, realiza la consulta y etcétera...

Gracias por adelantado!!  ;D
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Sistema de quote en SMF querys
« Respuesta #1 en: 26 Noviembre 2009, 00:09 am »

Lo que quiere decir es que antes de procesar cada query lo pasa por quotes (no siempre)

Código
  1. $where = 'member_name = {string:member_name}';
  2. $where_params['member_name'] = $_POST['user'];
  3. echo '
  4.     SELECT id_member, real_name, member_name, email_address, is_activated, validation_code, lngfile, openid_uri, secret_question
  5.     FROM {db_prefix}members
  6.     WHERE ' . $where . '
  7.     LIMIT 1'.array_merge($where_params, array());

Prueba con eso y verás como queda la query.

Hay algunos casos en que el filtro de quotes no se respeta como en dos casos de dos inyecciones sql que tiene smf actualmente.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Querys curiosas... [aporten =P]
Bases de Datos
Kase 8 5,130 Último mensaje 8 Junio 2011, 00:31 am
por Novlucker
versiones php , declarando y ejecutando querys
PHP
Pirat3net 2 1,862 Último mensaje 6 Diciembre 2012, 01:20 am
por RevangelyonX
Linq y querys dinámicas?
.NET (C#, VB.NET, ASP)
WHK 2 4,567 Último mensaje 15 Octubre 2013, 18:57 pm
por WHK
querys que no se comunican con la bd
PHP
elbrujo20 1 2,615 Último mensaje 25 Noviembre 2016, 07:28 am
por engel lex
mysql php y relaciones querys muy cargadas
PHP
Yorshdelaselva 3 2,395 Último mensaje 18 Febrero 2017, 01:28 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines