He encontrado lo siguiente en el «e-mail» de campo de mi suscriptor del boletín de noticias de la base de datos: ‘ or 1=1/*

Sé que es una inyección de SQL, pero eso es todo. He buscado en google un poco, pero todavía estoy en claro qué es exactamente lo que está tratando de lograr. Esto ocurrió a principios de Noviembre, y a mi conocimiento que se tenía ningún interrupciones alrededor de ese tiempo. Puede alguno de ustedes almas bondadosas dime lo que este hombre fue, probablemente, y tratando de hacer? Hay alguna forma de saber si había logrado lo que él estaba tratando de hacer?

Sé prácticamente nada acerca de este y estoy preocupado. 🙁

Que alguien estaba sondeo los formularios para la posible vulnerabilidad de inyección sql.
Así que, en busca de puntos débiles?

OriginalEl autor NotMuchOfAProgrammer | 2012-12-13

4 Comentarios

  1. 22

    'OR 1=1 es un intento de hacer una consulta a triunfar no importa qué

    El /* es un intento de comenzar un comentario de varias líneas para que el resto de la consulta es ignorado.

    Un ejemplo sería

    SELECT userid 
    FROM users 
    WHERE username = ''OR 1=1/*' 
        AND password = ''
        AND domain = ''

    Como se puede ver si se va a rellenar el campo nombre de usuario, sin escapar de la ' no importa qué credenciales que el usuario pasa en la consulta devolverá todos los identificaciones del usuario en el sistema probabilidad de conceder el acceso a la atacante (posiblemente el acceso de administrador admin si es tu primer usuario). Usted también notará que el resto de la consulta sería comentada debido a la /* como la real '.

    El hecho de que usted puede ver el valor en la base de datos significa que se había escapado y que en particular el ataque no tuvo éxito. Sin embargo, usted debe investigar si otros intentos se hicieron.

    Perdona mi ignorancia, pero ¿qué significa eso en estúpido-persona-hablar? :/
    Echa un vistazo al ejemplo anterior, en mi edición.
    tal vez un mejor ejemplo que el ORDER BY sería más condicionales como AND verifiedUser = true para mostrar cómo el comentario deshabilitar cualquier posterior cláusulas where.
    queridos @Joe no 1=1-- también sirven para el mismo propósito, se destacan los -- parte que es reemplazable con la /* ?
    Sí, -- no sirven para el mismo propósito. Solo funciona en una sola línea de consulta en lugar de multi-línea.

    OriginalEl autor Joe

  2. 7

    Probablemente tenía como objetivo seleccionar todas las informaciones en su mesa. Si utiliza este tipo de consulta (por ejemplo en PHP) :

    mysql_query("SELECT * FROM newsletter WHERE email = '$email'");

    El correo ‘ or 1=1/* se dan este tipo de consulta :

    mysql_query("SELECT * FROM newsletter WHERE email = '' OR 1=1/*");

    Por lo que selecciona todas las filas (porque 1=1 es siempre verdadera y el resto de la consulta es», comentó’). Pero no tuvo éxito

    • si las cadenas de caracteres que en las consultas se escapó
    • si no mostrar todos los resultados de búsquedas en una página…
    Una manera de averiguar si era un éxito sería probar a mí mismo en mi propia forma? Si hago esto, ¿hay alguna posibilidad de que me va a hacer daño a mi propia base de datos?
    Sí, creo que se debe tratar de usted mismo en sus formas o el aspecto (o pida a un desarrollador de para buscar) en su código, buscando posiblemente vulnerables de consultas/páginas.
    No se preocupe si usted pruebe por sí mismo, para no alterar su base de datos.

    OriginalEl autor berty

  3. 5

    El valor específico en la base de datos no es lo que usted debe centrarse en. Este es probablemente el resultado de un atacante fuzzing su sistema para ver si es vulnerable a un conjunto de ataques estándar, en lugar de un ataque dirigido de la explotación de una vulnerabilidad conocida.

    En su lugar usted debe centrarse en garantizar que su aplicación es segura contra estos tipos de ataques; OWASP es un buen recurso para este.

    Si usted está usando consultas con parámetros para acceder a la base de datos, entonces usted está seguro en contra de la inyección de Sql, a menos que usted está utilizando Sql dinámico en el backend así.

    Si usted no está haciendo esto, usted es vulnerable y debe resolver de inmediato.

    También, usted debe considerar la realización de algún tipo de validación de direcciones de correo electrónico.

    OriginalEl autor Michael Fredrickson

  4. 1

    Su mejor si usted utiliza código de validación para la entrada de los usuarios por lo que es restringido el uso de símbolos y la parte de código en el formulario de entrada. Si usted embeed php en código html con el código de php tienen que quedar en la parte superior para asegurarse de que no se omite comentar si un hacker editar la página y agregar /* en el código html

    OriginalEl autor Eyosias Sahlu

Dejar respuesta

Please enter your comment!
Please enter your name here