Resultados 1 al 13 de 13

SQL Injection

  1. #1 SQL Injection 
    Avanzado
    Fecha de ingreso
    Sep 2006
    Ubicación
    online
    Mensajes
    789
    Descargas
    5
    Uploads
    0
    Un server tiene la vulnerabilidad SQL Injection, en las paginas: /1/1_6.asp, /2/2_1.asp ..etc
    Como se podria resolver esta vulnerabilidad ? Muchas gracias
    Citar  
     

  2. #2  
    Avanzado
    Fecha de ingreso
    Jun 2006
    Mensajes
    538
    Descargas
    3
    Uploads
    0
    Creo que no tienes muy claro el que es una vulnerabilidad del tipo SQL Injection.

    SQL Injection no es una vulnerabilidad, sino un tipo de vulnerabilidad, por lo que el metodo no siempre es el mismo. Es como decir, mi lampara tiene el fallo de que no enciende la bombilla, pero donde está el fallo?, en el enchufe? cable? bombilla?, hay que investigar para saber como atajarlo.

    Este tipo de vulnerabilidades, como dice su título, corresponde a inyectar sentencias SQL al servidor a través de fallos en la programacion/control de errores de la página:
    Ejemplo:
    Para un formulario de usuario (campousuario) y contraseña (campopass). Si la pagina está preparada para dejarte pasar si encuentra un registro en la siguiente sentencia:

    SELECT * FROM usuarios WHERE usuario='<valor campousuario>' AND pass='<valor campopass>'

    Si no hay ningun tipo de control en los valores introducidos, podemos poner en el campousuario por ejemplo "paco" y en el campopass "lalalala' OR '1'='1'" de tal manera, que al final, hemos construido la siguiente sentencia:

    SELECT * FROM usuarios WHERE usuario='paco' AND pass='lalala' OR '1'='1'

    esta sentecia que hemos "inyectado" es la que nos dará el acceso a la pagina sin conocer ningun usuario/pass , ya que 1 siempre es igual a 1 y la sentencia devolvería todos los registros de la tabla (mas de uno, por lo que deja pasar)

    Así para saber como aprovechar estas vulnerabilidades, no es suficiente con saber la URL, tienes que conocer el código... o tener suerte XD

    Salu2
    Última edición por Ktorce; 05-07-2007 a las 14:45
    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Sep 2006
    Ubicación
    online
    Mensajes
    789
    Descargas
    5
    Uploads
    0
    muchas gracias para la explicacion pero no quiero defacear la pagina solo habalr con la persoan que tiene esta pagina y decile como tiene que resolver el bug.


    Salud
    Citar  
     

  4. #4  
    Avanzado
    Fecha de ingreso
    Jun 2006
    Mensajes
    538
    Descargas
    3
    Uploads
    0
    defacear?? xD, no he dicho nada de eso!

    Dificilmente le puedes decir que arregle un bug, que no sabes donde está.

    Salu2
    Citar  
     

  5. #5  
    Avanzado
    Fecha de ingreso
    Sep 2006
    Ubicación
    online
    Mensajes
    789
    Descargas
    5
    Uploads
    0
    Pues mira yo diria que el bug esta en esta parte:
    This vulnerability affects: /1/1_6.asp.
    The GET variable idEvento has been set to '.

    Espero que se ha entendido
    Citar  
     

  6. #6  
    Avanzado
    Fecha de ingreso
    Jun 2006
    Mensajes
    538
    Descargas
    3
    Uploads
    0
    Vamos a ver. Por lo que veo, lo de la vulnerabilidad lo sabes por un scaneador, pero no sabes mas. Que aplicacion es? un foro? un blog?, que marca comercial?, por ejemplo, este foro es vBulletin, cual es esa?. La variable idEvento, para que se usa?, en que momento se para en la url?, que sentencia SQL se está ejecutando con el valor de esa variable?.

    Con lo datos que tienes no se puede saber nada.

    Salu2
    Citar  
     

  7. #7  
    Moderador Global
    Fecha de ingreso
    Aug 2005
    Mensajes
    6.279
    Descargas
    7
    Uploads
    0
    Claro, como dice Ktorce se sabe que se puede incluir algo en esa variable, pero no se sabe qué se puede incluir para conseguir algo determinado. Es ir a ciegas.

    Salu2


    Keep on Rollin'

    . . . . . . . . . . . . . . . . . . . .
    [[ NORMAS DEL FORO ]]
    . . . . . . . . . . . . . . . . . . . .
    __________
    Citar  
     

  8. #8  
    Avanzado
    Fecha de ingreso
    Sep 2006
    Ubicación
    online
    Mensajes
    789
    Descargas
    5
    Uploads
    0
    Cita Iniciado por Ktorce Ver mensaje
    Vamos a ver. Por lo que veo, lo de la vulnerabilidad lo sabes por un scaneador, pero no sabes mas. Que aplicacion es? un foro? un blog?, que marca comercial?, por ejemplo, este foro es vBulletin, cual es esa?. La variable idEvento, para que se usa?, en que momento se para en la url?, que sentencia SQL se está ejecutando con el valor de esa variable?.

    Con lo datos que tienes no se puede saber nada.

    Salu2

    intento contestarte a las preguntas que se:
    no es un foro. Como me doy cuenta si es un blog, o otra cosa he entendido que si es un foro esvBulletin (no todos los foros son vBulletin?).
    la variable idEvent me dice que: GET /1/1_6.asp?idEvento=' HTTP/1.0, pero como me doy cuenta para que se usa el idEvent ?
    tampoco lo se que sentencia SQL se esta ejecuntado con el valor de la variable. Estoy en este foro para aprender si me podeis aclarar las dudas ?

    Muchas gracias
    Citar  
     

  9. #9  
    Moderador Global
    Fecha de ingreso
    Aug 2005
    Mensajes
    6.279
    Descargas
    7
    Uploads
    0
    Cita Iniciado por chico1988 Ver mensaje
    he entendido que si es un foro esvBulletin (no todos los foros son vBulletin?
    No, desde luego que no, con unos pocos elementos puedes programarte tu propio foro, vBulletin es uno de los más populares (dentro de los más competentes, porque hay más populares pero que en mi opinión no dan la talla), pero hay muchos más.

    la variable idEvent me dice que: GET /1/1_6.asp?idEvento=' HTTP/1.0, pero como me doy cuenta para que se usa el idEvent ?
    Si te dice eso ya estás viendo al menos uno de los usos. Se usa para almacenar una petición web.

    tampoco lo se que sentencia SQL se esta ejecuntado con el valor de la variable
    Por eso mismo sería conveniente conocer el funcionamiento del sitio en cuestión, por ahorrar mucho tiempo viendo cuáles son las peticiones relacionadas, hacer pruebas en local y luego probarlas en el servidor si procede.

    Salu2


    Keep on Rollin'

    . . . . . . . . . . . . . . . . . . . .
    [[ NORMAS DEL FORO ]]
    . . . . . . . . . . . . . . . . . . . .
    __________
    Citar  
     

  10. #10  
    Avanzado
    Fecha de ingreso
    Sep 2006
    Ubicación
    online
    Mensajes
    789
    Descargas
    5
    Uploads
    0
    tampoco lo se que sentencia SQL se esta ejecuntado con el valor de la variableme podrias dejar un ejemplo para que tengo una ideea mas clara, de que sentencia podria ser ? muchas gracias

    Saludos
    Citar  
     

  11. #11  
    Avanzado
    Fecha de ingreso
    Jun 2006
    Mensajes
    538
    Descargas
    3
    Uploads
    0
    Por el nombre de la variable (contiene la palabra "id"), lo más seguro es que sea un parámetro numérico. Y al decir la vulnerabilidad que es GET, el parametro se pasa por URL. Por lo que en alguna parte de la aplicacion (todavía no has dicho que tipo de aplicacion es) se generará una url parecida a esta, por ejemplo para el evento "7".

    http://www.eldominiodelsitio.com/1/1_6.asp?idEvento=7

    La sentencia SQL que podría estarse ejecutando es, por ejemplo

    SELECT dato1, dato2, dato3 FROM eventos WHERE idEvento=7

    Esta sentencia, devolvería el dato1...3, de la tabla eventos, que están clasificados como tipo de evento 7. Para probar que se puede inyectar SQL, por ejemplo yo probaría, cambiar la url por esta:

    http://www.eldominiodelsitio.com/1/1_6.asp?idEvento=7%20or%201=1

    Por lo que la sentencia SQL que resultaría sería la siguiente:

    SELECT dato1, dato2, dato3 FROM eventos WHERE idEvento=7 OR 1=1

    Con esto, la pagina, tal vez, muestre todos los eventos (no solo el 7), y con esto demuestras que es vulnerable a la inyeccion SQL

    PD: Todo esto son supuestos, no tiene el por que funcionar, y aunque esto no funcione, no quiere decir que no sea vulnerable. Todo depende de la cantidad/calidad de controles que tenga la pagina a la hora de tratar los parámetros que se le pasen.


    Salu2
    Última edición por Ktorce; 10-07-2007 a las 12:08
    Citar  
     

  12. #12  
    Avanzado
    Fecha de ingreso
    Sep 2006
    Ubicación
    online
    Mensajes
    789
    Descargas
    5
    Uploads
    0
    para aprender todo esto es necesario saber el MYSQL tambien HTML ?
    Citar  
     

  13. #13  
    Moderador Global
    Fecha de ingreso
    Aug 2005
    Mensajes
    6.279
    Descargas
    7
    Uploads
    0
    Y también los lenguajes en los que esten programados las páginas, ya que no sólo por la url se puede hacer la inyección, sino también en otros lugares, como por ejemplo los formularios.

    Salu2


    Keep on Rollin'

    . . . . . . . . . . . . . . . . . . . .
    [[ NORMAS DEL FORO ]]
    . . . . . . . . . . . . . . . . . . . .
    __________
    Citar  
     

Temas similares

  1. XPath Injection
    Por LUK en el foro INTRUSION
    Respuestas: 0
    Último mensaje: 22-07-2010, 18:55
  2. sql injection
    Por chico1988 en el foro VULNERABILIDADES
    Respuestas: 2
    Último mensaje: 09-06-2009, 00:24
  3. SQL Injection - SMF 1.0 RC2
    Por JØK en el foro VULNERABILIDADES
    Respuestas: 4
    Último mensaje: 09-08-2006, 16:05
  4. Injection SQL
    Por The_chacal en el foro VULNERABILIDADES
    Respuestas: 1
    Último mensaje: 15-06-2004, 21:25
  5. SQL injection con ACCESS
    Por __BoKeN__ en el foro INTRUSION
    Respuestas: 26
    Último mensaje: 25-01-2004, 01:28

Marcadores

Marcadores