Anticipo ataques de inyección SQL

  • cancer10
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Jun 29, 2006
  • Mensajes: 268
  • Status: Offline

Nota Octubre 28th, 2008, 10:47 pm

Hola,

Iba a través de las estadísticas de mi sitio y encontró algunas inyecciones SQL han pasado a través de la cadena de consulta mis sitios.

Este fue el pasado en una cadena de consulta de la página. (Nota: Por razones de seguridad he reemplazado mi mesa original y nombres de columna en el código de abajo.)

Código: [ Select ]
?action=show&id=88 union select 1,2,3,concat_ws(0x3a3a,xuser,xpass),5,6,7,8,9,10,11,12,13 from mytbl_login--



Me he tomado el cuidado de los ataques de inyección de SQL y, por tanto usando la siguiente función en mi código por todas partes para evitar cualquier inyección de SQL.

Código: [ Select ]
    function antisql($data){
        if(get_magic_quotes_gpc){
        $data1 = stripslashes($data);
        }else{
        $data1 = $data;
        }
        return mysql_real_escape_string($data1);
    }
  1.     function antisql($data){
  2.         if(get_magic_quotes_gpc){
  3.         $data1 = stripslashes($data);
  4.         }else{
  5.         $data1 = $data;
  6.         }
  7.         return mysql_real_escape_string($data1);
  8.     }




No estoy publicación de este hilo para saber qué es la inyección de SQL. Yo sé lo que es. :)

Pocas cosas que quiero saber son los siguientes:

1) ¿Cómo sabe mi nombre de las columnas (xuser y xpass) y el nombre de tabla (mytbl_login)?

2) ¿Por qué no la antisql () la función de evitar que el ataque de inyección SQL?

3) ¿Cuál es la cadena de consulta por encima de realidad?


Algunas informaciones:
Mi sitio está hecho en PHP MySQL y se ejecuta en CentOS.


Muchas gracias por su ayuda por adelantado.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Octubre 28th, 2008, 10:47 pm

  • Don2007
  • Web Master
  • Web Master
  • No Avatar
  • Registrado: Nov 21, 2006
  • Mensajes: 4924
  • Loc: NY
  • Status: Offline

Nota Octubre 29th, 2008, 6:40 am

Veo que todas sus preguntas ya fueron respondidas en el otro foro. Ellos siempre buena información.

http://www.webdeveloper.com/forum/showt ... p?t=194396
How do you know when a politician is lying? His mouth is moving.
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Octubre 29th, 2008, 7:51 am

Quote:
1) ¿Cómo saben los nombres de mi columna (xuser y xpass) y el nombre de tabla (mytbl_login)?

Podría ser cualquier número de maneras, de prestar atención a la solicitud de ayuda foro hilos youve hecho real usando nombres de tabla a una suposición sobre la base de conocimiento de una biblioteca de código abierto que utiliza, tal vez a un / a amigo / Que familiarizado con su proyecto sólo viendo su espalda.

Una de las tareas involucradas en runing un sitio web es poder determinar que mirando logs / etc y sin preguntar a nadie. :)

Quote:
2) ¿Por qué no la antisql () la función de evitar que ataque de inyección SQL?

Debido a que todos sus haciendo es quitar las comillas.

Lo que tiene que hacer dos cosas para evitar inyección de SQL.

1) Asegúrese de que cada pieza de la solicitud de datos se obtiene a partir de $ _GET / $ _POST / etc se verifica contra el formato de espera antes de hacer cualquier cosa con ella. Esto es lo más importante.

2) Asegúrese de que las comillas en los datos destinados a las columnas de texto están debidamente escapó.

Quote:
3) ¿Cuál es la realidad, por encima de QueryString haciendo?

Sin ver el código que trabaja con él, su difícil de decir. Sin embargo, a primera vista parece algo a anexar el nombre de usuario / contraseña a los resultados de una consulta ya que imprime los datos a la pantalla.
Strong with this one, the sudo is.

Publicar Información

  • Total de mensajes en este tema: 3 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC