Inyecciones SQL: Ataques al corazón tus sitio

Tobias Schüring Última actualización 15.01.2020
6 min.
Inyecciones SQL

Al lado de Brute Force ataques hay una y otra vez WordPress Inyecciones SQL aparecen en la lista de los mayores peligros para los sitios WordPress . Se trata de manipulaciones relativamente fáciles de la base de datos de las páginas tus . Así es como los piratas informáticos se apoderan de datos sensibles o crean cuentas de administrador para sí mismos y pueden manipular tu sitio a voluntad. Mostramos cómo funciona el ataque y por qué es tan peligroso.

Marzo de 2008: los piratas informáticos (entre los que se encuentra un verdadero cerebro, por cierto) obtienen 134 millones de datos de tarjetas de crédito de la empresa estadounidense Heartland Payment Systems. Mediados de 2016: Presuntos hackers rusos acceden a la base de datos de votantes registrados de la Junta Electoral del Estado de Illinois. Algo similar ocurre en Arizona. Febrero de 2017: Roban los datos de 65.000 cuentas de usuarios del vendedor de armas estadounidense Airsoft GI. Marzo de 2017: Presuntos hackers chinos obtienen los datos personales de 4.000 clientes de una app coreana y envían mensajes de texto, algunos de ellos obscenos, a las víctimas.

Todos estos ataques tienen algo en común: detrás de ellos hay un hack relativamente fácil de ejecutar llamado inyección SQL. En este ataque, los hackers acceden a la base de datos y, por tanto, a todos los datos de los usuarios de un sitio. De hecho, las inyecciones SQL se consideran uno de los mayores peligros para los operadores de sitios web. También y especialmente para los webmasters que trabajan principalmente con WordPress .

Y como, a más tardar, desde WooCommerce , especialmente las tiendas más grandes y complejas pueden funcionar sin problemas con WordPress , es importante entender el riesgo de WordPress SQL Injection y cómo funciona.

¿Qué tan "peligrosas" son las inyecciones SQL de WordPress ?

La cuestión de la "peligrosidad" de un pirata informático de WordPress no puede responderse con un único indicador. Más bien hay que tener en cuenta al menos dos aspectos: Por un lado, la probabilidad con la que el propio proyecto WordPress -WordPress - puede ser víctima de un ataque de este tipo, así como el daño que puede causar un hack.

En el caso de los ataques aBrute Force , por ejemplo, el número de ataques al mes es tan elevado (en algunos casos más de mil millones de ataques medidos + el número estimado de casos no denunciados) que se puede decir que cada proyecto de WordPress -WordPress - es tarde o temprano objeto de un ataque de este tipo. Los daños que puede causar un hackeo exitoso son múltiples. En la mayoría de los casos, los ataques de Brute Force también sirven para secuestrar sitios web e integrarlos en una red de bots. Por otro lado, el cross-site scripting ocurre con mucha menos frecuencia, pero se utiliza principalmente para infectar sitios web con código malicioso.

La organización sin ánimo de lucro Open Web Application Security Project (OWASP) publica regularmente una lista de los 10 mayores riesgos de seguridad para las aplicaciones web. Y las inyecciones SQL ocupan sistemáticamente el primer lugar aquí, incluso en la lista(aunque preliminar) de 2017.

Este es un gráfico de la lista de los 10 mayores riesgos de seguridad para las aplicaciones web que publica regularmente la organización sin ánimo de lucro OWASP. Las inyecciones SQL ocupan el primer lugar aquí.
La organización sin ánimo de lucro OWASP publica regularmente una lista de los 10 mayores riesgos de seguridad para las aplicaciones web. Las inyecciones SQL ocupan regularmente el primer lugar aquí.

De hecho, las inyecciones SQL están aquí para quedarse. El hackeo lleva más de 15 años en marcha. Y según el Informe sobre el Estado de la Seguridad en Internet de 2017 de Akamai, la frecuencia de los ataques SQL ha aumentado un 28% desde el primer trimestre de 2016. En el primer trimestre de 2017, las inyecciones SQL representaron el hackeo más común, representando el 44% de los ataques. 

Esto ilustra que en el primer trimestre de 2017, la inyección SQL fue el hack más común, representando el 44% de los ataques.
En el primer trimestre de 2017, la inyección SQL representó el hackeo más común, representando el 44% de los ataques, según el Informe sobre el Estado de la Seguridad en Internet 2017 de Akamai.

Wordfence, Fabricante de un software de seguridad para WordPress , llega a la conclusión de que las inyecciones SQL suponen un gran peligro especialmente para los usuarios de WordPress . Un análisis de casi 1.600 vulnerabilidades de seguridad en Plugins, de las que se informó durante un periodo de 14 meses, muestra claramente que las inyecciones SQL son el segundo riesgo de seguridad más frecuente de todos para los sitios WordPress .

El gráfico muestra claramente que las inyecciones SQL son el segundo riesgo de seguridad más común para los sitios WordPress .
El gráfico muestra que las inyecciones SQL son el segundo riesgo de seguridad más común para los sitios WordPress .

Con todas estas cifras hay que tener en cuenta que el número de casos no denunciados es mucho mayor: los ataques SQL a menudo ni siquiera se perciben y no aparecen en ninguna estadística.

Las cifras muestran que WordPress Inyecciones SQL después de los ataques deBrute Force y vulnerabilidades XSS están entre los tipos de ataque más frecuentes. Además, las inyecciones SQL se dirigen a un área especialmente sensible tus sitio : la base de datos tu . Por lo tanto, estos hackeos son una amenaza existencial, especialmente para los operadores de las tiendas. Por lo tanto, es importante entender cómo funcionan y qué se puede hacer contra ellos.

WordPress Las inyecciones SQL apuntan al corazón tus sitio : La base de datos

Para entender cómo funciona la inyección de SQL, hay que entender cómo se construye fundamentalmente WordPress . Si ya lo sabe, puede saltarse esta sección.

La base de datos es la base de toda instalación de WordPress : todo el contenido se almacena aquí. El propio CMS permite entonces mostrar y editar este contenido. WordPress es una base de datos MySQL. SQL son las siglas de Structured Query Language (Lenguaje de Consulta Estructurado), un lenguaje de programación completo que permite crear estructuras en una base de datos e insertar, modificar y eliminar datos.

Cada vez que se escribe un artículo, se crea una nueva categoría, se cambia la contraseña de tu o incluso cuando los usuarios de tu escriben un comentario, estos nuevos datos se almacenan en la base de datos. Así que aquí es donde se encuentran todos los sitios web de contenido tus .

Cada vez que un usuario visita tu sitio y solicita un determinado contenido,WordPress extrae los datos adecuados de la base de datos, los reúne con PHP y crea un documento HTML que finalmente se transfiere al navegador del usuario. El usuario no es consciente de todos los procesos que tienen lugar hasta ese momento.

Las inyecciones SQL inyectan código externo en la base de datos

Aunque nunca trabaje directamente con la base de datos, sino sólo con el backend WordPress : La base de datos es el corazón del sitio web tus .

Pero como he dicho: los usuarios también pueden introducir datos en la base de datos. Escribir un comentario, crear una cuenta de usuario, rellenar y enviar un formulario de contacto: todas estas acciones generan datos que se almacenan en la base de datos.

¿Pero qué pasa si alguien utiliza este acceso indirecto a la base de datos tus para introducir código malicioso en la base de datos? Esto se llama inyección SQL.

La idea que hay detrás no es especialmente complicada: Si no hay medidas de seguridad, el hacker sólo tiene que introducir el código SQL en un campo del formulario (por ejemplo, al escribir un comentario). Este código contiene caracteres que tienen una función especial para el intérprete de SQL, que se encarga de ejecutar los comandos SQL en la base de datos. Estos caracteres especiales, denominados metacaracteres, son por ejemplo ; " ' y \N los que no se pueden utilizar.

El CMS cree que se trata de datos inofensivos y pasa la entrada a la base de datos como siempre con la orden de guardarlos. El intérprete de SQL reconoce el código como una solicitud de acción basada en los metacaracteres y ejecuta el comando de la base de datos.

Por cierto, a las inyecciones SQL se les aplica lo mismo que a los ataques de Brute Force: casi nunca se da el caso de que un hacker se siente solo ante el ordenador e introduzca manualmente los códigos en los formularios. Estos ataques también se llevan a cabo a través de redes de bots automatizadas que escanean miles de sitios web simultáneamente en busca de vulnerabilidades y atacan cuando descubren una.

¿Qué puede pasar ahora?

  • El pirata informático se salta cualquier mecanismo de autenticación o se esconde tras la identidad de un usuario existente para obtener acceso. Si un hacker crea una nueva cuenta de administrador, por ejemplo, esto también se conoce como un exploit de escalada de privilegios.
  • Puede espiar, cambiar o borrar datos de esta manera. Esto es especialmente crítico si tiene una tienda online y dispone de los datos de pago de los clientes de tus .
  • Puede tomar el control de todo el sitio web tu y de su espacio web, por ejemplo, entrando él mismo como administrador y obteniendo así acceso al backend de tu . De este modo, un hacker tiene el control total de tu sitio y puede abusar de él como generador de spam, inyectar código malicioso o insertarlo en una red de bots.

Conclusión: Especialmente debido a la automatización WordPress Las inyecciones SQL son muy peligrosas.

WordPress Las inyecciones SQL están entre los hacks más peligrosos de todos. Son fáciles de realizar, en su mayoría automatizados y pueden causar daños masivos: Especialmente para los operadores de tiendas, el peligro de las inyecciones SQL es existencial.

Por lo tanto, es importante proteger tu sitio en consecuencia: La entrada del usuario debe ser revisada y desinfectada. También debe enmascarar los datos para evitar la ejecución de código malicioso. Este proceso se denomina saneamiento y validación de datos y se trata con detalle en el códiceWordPress , por ejemplo. Sin embargo, en uno de los siguientes artículos profundizaremos en este tema y le mostraremos cómo puede evitar que el código malicioso se active en la base de datos tus .

Básicamente, la seguridad integralPlugins también ayuda aquí: porque son especialmente capaces de bloquear los ataques automatizados a las páginas tu , que son la base de muchos hacks.

Como administrador de sistemas, Tobias vigila nuestra infraestructura y encuentra cada tornillo para optimizar el rendimiento de nuestros servidores. Debido a sus incansables esfuerzos, a menudo se le puede encontrar por la noche en Slack.

Artículos relacionados

Comentarios sobre este artículo

Escribe un comentario

Tu dirección de correo electrónico no se publicará. Los campos obligatorios están marcados con *.