Sugerencia para configurar un honeypot de inyección SQL

9

Acabo de encontrar un sitio web vulnerable a un ataque de inyección SQL por error ( enlace ).

Eso me hizo sentir curiosidad por lo que se intentó y la frecuencia con la que se produce un intento de ataque en algún sitio web.

Así que estoy pensando que sería genial configurar un honeypot en mi servidor para ver si / con qué frecuencia / usar qué técnicas 'crackers' intentan obtener acceso a mis datos SQL.

Hay algunas cosas básicas que se me ocurren para atraerlas, como:

/login.php / asp url

/adminlogin.php / asp url

Un formulario de búsqueda

? id = 111 url

con algunos errores de SQL falsos al intentar inyectar algo de SQL.

¿Alguien tiene más / mejores sugerencias / ideas / lo que sea para configurar un honeypot para inyección SQL?

    
pregunta PeeHaa 31.05.2011 - 16:31
fuente

3 respuestas

9

¿Puedo sugerir algunos honeypots diseñados para cosas exactamente como lo que usted describe:

respondido por el john 31.05.2011 - 22:57
fuente
4

La mejor manera de abordar el problema de la inyección de sql es usar consultas parametrizadas, que se pueden hacer con una biblioteca como PDO o MySQLi. Usted debe en realidad parchar vulnerabilidades en su aplicación web. Recomiendo usar un servicio gratuito como Sitewatch o una herramienta de código abierto como wapiti . Estas soluciones detectarán mucho más que la inyección de SQL en su aplicación.

Si desea bloquear una aplicación web potencialmente insegura, debe utilizar un Firewall de aplicación web o WAF. Mod_Security es una excelente opción, es de código abierto y gratuito. Pero esto no es una sustitución de las vulnerabilidades conocidas, es solo otra capa.

Los WAF están compuestos por miles de expresiones regulares y buscan información desagradable. Se pueden configurar para registrar ataques o eliminar la solicitud antes de que toque su aplicación web. Esto va más allá de solo SQL Injection y XSS y examina diferentes tipos de ataques de aplicaciones web, como los que se tratan en OWASP top 10 .

    
respondido por el rook 31.05.2011 - 22:56
fuente
2

Encontré un ejemplo muy divertido de un honeypot aquí.
enlace

No utiliza SQL ni ningún servidor SQL, solo este código php:

// SQL Injection 'TEST'
if( strpos($username,"'") !== false || strpos($password,"'") !== false )
{
    $sqlInjectionError = "
            <p><font size=2>Microsoft ODBC MySQL Drivers Message:</font></p>
            <p><B>Error in the query:</B></p>
            <p>[Microsoft:ODBC 1045] SELECT UlluKaPatha FROM UlluKePathay WHERE
            GadhayKaRollNo = '".$_POST['username']."' 
            AND GadhayKaPassword = '".$_POST['password']."'
            ";
}
// End SQL Injection 'TEST'

por ejemplo si alguien proporcionó el nombre de usuario admin y la contraseña x' OR '1'='1 , él obtuvo la respuesta:

  

Mensaje de los controladores de Microsoft ODBC MySQL:

     

Error en la consulta: [Microsoft: ODBC 1045] SELECCIONE UlluKaPatha FROM UlluKePathay DONDE GadhayKaRollNo = 'admin' Y GadhayKaPassword = 'x' O '1' = '1'

Si registra la entrada (de forma segura) en una base de datos, podría generar estadísticas interesantes sobre qué ataques se utilizan en un sistema no seguro.

    
respondido por el Johan 31.05.2011 - 22:24
fuente

Lea otras preguntas en las etiquetas