AzkOsDev / write-ups / phishing-sqli

volver

hallazgo de seguridad

De un SMS de phishing a una SQL Injection en su propia infraestructura

Un SMS fraudulento suplantando a una entidad bancaria terminó exponiendo, por sus propias fallas, los datos que había recolectado de sus víctimas.

Origen
SMS de phishing
Técnica
SQLi time-based
WAF
Evadido manualmente
Registros expuestos
479
01

El origen: un SMS sospechoso

Hace unos días recibí un SMS que aparentaba provenir de una entidad bancaria y mencionaba un supuesto cobro de un seguro Cardif por $489.500 COP.

En lugar de interactuar con el mensaje, decidí analizar el sitio enlazado desde una perspectiva de pentesting.

02

Validación por User-Agent

El sitio utilizaba una validación basada en el User-Agent para diferenciar entre dispositivos móviles y computadores.

Al acceder desde un dispositivo móvil se mostraba el sitio de phishing, mientras que desde un computador se redirigía hacia una página aparentemente legítima — una técnica común para dificultar el análisis y la detección automatizada.

03

SQL Injection y evasión de WAF

Identifiqué un posible punto vulnerable relacionado con SQL Injection, debido a una validación insuficiente del parámetro id.

Las pruebas automatizadas eran bloqueadas por un WAF, así que continué el análisis de forma manual. La vulnerabilidad se confirmó mediante una prueba controlada de comportamiento temporal (time-based SQL injection).

Al continuar las pruebas, descubrí que la vulnerabilidad no solo permitía interactuar con la base de datos, sino que dejaba expuesta información asociada a los registros capturados por el propio sitio de phishing — en total, 479 registros almacenados en la plataforma.

Por razones de seguridad y privacidad, no se muestran credenciales ni información que pueda identificar a las víctimas.

04

Evidencia

SMS fraudulento suplantando a una entidad bancaria
01 · SMS recibido, suplantando a una entidad bancaria y usado como punto de partida del análisis
Página de phishing simulando el acceso a la sucursal virtual
02 · sitio de phishing servido al acceder desde un dispositivo móvil, replicando el flujo de acceso legítimo
Prueba time-based en Burp Suite Repeater, con retardo de 10 segundos en la respuesta
03 · confirmación de la SQLi mediante retardo temporal: la respuesta tarda 10 segundos frente al comportamiento normal del servidor
Extracción de esquema y columnas de la base de datos mediante UNION SELECT
04 · una vez confirmada, se extrae el esquema de la base de datos y las columnas de la tabla que almacenaba los registros capturados
05

Lecciones aprendidas

Para usuarios

  • No confiar únicamente en el contenido de un SMS o correo electrónico.
  • Verificar cuidadosamente el dominio antes de interactuar.
  • Evitar acceder a enlaces enviados mediante mensajes inesperados.

Para desarrolladores

  • Validar correctamente todos los parámetros recibidos.
  • Usar consultas parametrizadas u ORM para prevenir SQL Injection.
  • Un WAF no reemplaza una aplicación segura: bloquea la petición, no corrige la falla detrás de ella.
#cybersecurity #pentesting #ethicalhacking #websecurity #sqlinjection #phishing #appsec #informationsecurity