Ir al contenido principal

¡¡¡Felices 20 años SQL injection!!!


No muchos saben cuando se descubrió SQL injection, fue descubierto un 25 de diciembre de 1998 (día de navidad) por un paper de Jeff Forristal, más conocido con el alias Rain Forrest Puppy (Link paper). Si echamos cuentas sabemos qué hace 20 navidades.


¿Pero qué es SQL injecction?

SQL injection consiste en la inyección de consultas SQL, por medio de inputs, que puede hacer un cliente. ¿Suena complicado? Pues para un atacante es tan fácil como meter una comilla en esta URL www.dominio.com/informes.asp?numero=(Meta usted la comilla aquí).
               


¿Cómo ha sido el desarrollo de SQL Injection a lo largo de su historia?

Ante tanto ataque SQL los administradores y programadores perezosos, que no quisieron arreglar el problema, decidieron que era buena idea simplemente hacer que no apareciera ningún error cuando metas la comilla y otros trucos. Para que puedas programar como si fueras un mono. Esto dio la popularidad a las Blind SQL injection, porque decían que PHP era invulnerable a SQL injection porque quitaba las comillas.

El blind SQL injection se basaba en realizar preguntas lógicas al servidor y ver como respondía a los verdaderos y falso, para distinguir estos estados, deberemos saber que siempre contestara a las consultas verdaderas y a la falsas no responderá. Pero los ataques se siguieron innovando, en el 2002 salió un paper llamado Time-Based Blind SQL injection: Este paper explicaba que la mejor forma de identificar que nos estaba contestando la base de datos, en una petición de true o false era con el tiempo de respuesta.

Consultas SQL injection a la zurda (Chema Alonso): Una anécdota contada por Chema Alonso es que se encontraron una aplicación que hacia las consultas SQL al revés así que decidieron pasarlo por la mayoría de scanner de vulnerabilidades y ninguno lo detecto esto derivo a Arimetic blind SQL injection.

Y para solucionar todos estos tipos de inyecciones se les ocurrió la maravillosa idea de poner un WAF, pero esto no sirve de nada ya que con smuggling podemos saltarlo.


¿Es cosa del Pasado?

Pues desgraciadamente parece que no pues en 2013, Yahoo! tuvo que pagar una recompensa por un Time base blind SQL injection.
Además es el número 1 en las vulnerabilidades web según el informe de OWASP en 2017




¿Por qué debería preocuparme si soy vulnerable a este ataque?

Deberías preocuparte, porque SQL injection no solo vale para saltarse un login con el típico 'or '1'='1. Si no que le dejamos a nuestro atacante que muestre sus habilidades en el lenguaje SQL para poder atacarte a su gusto pudiendo realizar las siguientes acciones:
  • Extraer información.
  • Modificar datos.
  • Comprometer cuentas administrativas
  • Eliminar información

Esto se podría traducir a las siguientes amenazas
  1. Robar Información (usuarios, claves y otros datos).
  2. Subirte una Shell.
  3. Hacerte un deface.
  4. Infectar tu web con malware.
  5. Borrar todas las tablas.
  6. Y muchos más a gusto e imaginación del atacante.

¿Cómo puedo protegerme de SQL injection?

  • Deberemos de escapar caracteres utilizados en las consultas SQL
  • Delimitar los valores de las consultas.
  • Verificar en todo momento que valores nos introduce el usuario.
  • La última y más IMPORTANTE programar bien.

¿Es SQL inseguro?

Definitivamente SQL no es inseguro, ni el demonio. Las inyecciones se pueden hacer en todo tipo de lenguajes y debemos de vigilar no cometer estos errores porque como hemos visto en la imagen facilitada por OWASP siguen siendo el TOP y no todo el pastel es de SQL.


¡¡¡Saludos y suerte HACKERS!!!

Comentarios

Entradas populares de este blog

¿Cómo reportar una Vulnerabilidad Y No Acabar Picando Piedra?

Has encontrado una vulnerabilidad y quieres reportarla, pues debes saber que no es un proceso sencillo ya que pueden pasarte las siguientes cosas: Que lo reportes y ni te contesten. Que lo reportes, te contesten dándote las gracias y ni lo arreglen.   Que lo reportes, se cabreen y acabes demandado por la empresa, solo por querer ayudarles a mejorar su seguridad.  Que lo reportes, te contesten y lo solucionen (No suele ser la más común) Así que aquí van unos consejos para que consigas reportar la vulnerabilidad de forma efectiva y no acabes mal parado: 1º Comprueba si tienen un sistema de bug bounty : Son programas en los que se premian (económicos, Hall of fame ...

WriteUp Reto 12+1 del CTF #H4F

Los chicos de “Η a ϲ k е rs4 Ϝ un   ᏟᎢ F  Τе a ⅿ p ropusieron un CTF/reto, al que voy a dar la versión de cómo lo  resolví  a esto se le llama  Write Up. Para lo que no sepáis lo que es  un CTF son una serie de desafíos informáticos enfocados a la seguridad . Manos a la obra enunciado Descargamos desde el enlace el archivo. https://drive.google.com/file/d/1f0P_c6xwdt5a0Rg1fXRbEFzVjVDppY3d/view Nos encontraremos un archivo comprimido que contiene una imagen que si inspeccionamos más a fondo descubriremos que dentro de ella hay un .zip Así pues cambiamos la extensión a .zip para ver su contenido, dentro de este zip nos encontramos otro archivo .zip el cual se llama output.zip y está dañado por lo que  debemos repararlo , por ejemplo yo lo hice con la propia herramienta que trae winRaR. Después de repararlo encontramos tres archivos, hay 2 .wav   (estos con contraseña) y 1 txt. El txt se llama pas...

¿Cuándo acaba el ciclo de vida de Windows server 2012? y cómo gestionarlo

Una de las cosas que tiene que realizar un experto en seguridad informática es mantener los sistemas operativos actualizados, por lo que las empresas que tengan Windows server 2012 deberán saber que el soporte estándar de Windows server 2012, ya ha acabado que significa esto que todos los servidores que tengan este sistema operativo tendrán que pagar el soporte extendido que finalizara el 10 de octubre de 2023 . Windows server 2012 está muy extendido en las empresas, que solo se han pasado a la nueva versión cuando no les ha quedado más remedio. Además las empresas son muy reacias a cambiar la versión de sus servidores por ejemplo en la siguiente imagen vemos como Windows server 2008 sigue extendido en las empresas a pesar de que su soporte extendido finalizo en Julio de 2011 , es decir estas empresas no recibirán parches de seguridad ni pasando por caja. Fuente: https://www.computerprofile.com/wp-content/uploads/2017/07/Server-OS-by-segment.png ¿Entonces debería hacer?...