Descarga inmediata tras la compraPDF sin DRM: léelo en cualquier dispositivoGarantía de Calidad y Atención 24/7Pago cifrado y 100% seguroEbooks gratis para probar antes de comprarDescarga inmediata tras la compraPDF sin DRM: léelo en cualquier dispositivoGarantía de Calidad y Atención 24/7Pago cifrado y 100% seguroEbooks gratis para probar antes de comprar

Domina SELECT, INSERT, UPDATE y DELETE en SQL

  • 1 min de lectura
  • Gratis
Vídeo de esta pieza: en producción. Mientras tanto, todo el contenido está aquí en texto.
Para empezar

Cualquier auditor de seguridad o atacante necesita hablar el idioma de las bases de datos para entender dónde fallan.

Concepto

El lenguaje de los datos

SQL, o Structured Query Language, es el lenguaje estándar utilizado para interactuar con bases de datos relacionales. Nos permite consultar información, introducir nuevos registros, modificar datos existentes y borrarlos por completo de forma estructurada.

Practica

La instrucción SELECT

La sentencia SELECT es la más utilizada en auditorías y explotación web. Se emplea para extraer información de una o varias tablas según los criterios de filtrado que definamos mediante la cláusula WHERE.

terminal
$ sqlite3 db.sqlite
sqlite> SELECT username, role FROM users WHERE id = 1;
admin | administrator
sqlite>
Paso a paso

Insertar y modificar datos

Para alterar el estado de la base de datos utilizamos comandos de escritura que requieren privilegios específicos y una sintaxis rigurosa para no corromper la integridad de la información almacenada.

Marca cada paso al entenderlo · 0/4

Practica

La instrucción DELETE

DELETE elimina registros específicos de una tabla de manera permanente si no existen restricciones de integridad referencial. Un borrado mal ejecutado puede destruir una aplicación por completo.

terminal
$ sqlite3 db.sqlite
sqlite> DELETE FROM sessions WHERE expired = 1;
sqlite> Changes made: 14 rows deleted.
Cuidado

El peligro del WHERE ausente

Olvidar la cláusula WHERE en un UPDATE o un DELETE es uno de los errores más críticos y comunes en administración de sistemas. En un entorno de pentesting, entender esta lógica permite dimensionar el impacto de una inyección SQL maliciosa.

Dato clave

El núcleo del riesgo web

La gran mayoría de las vulnerabilidades críticas en aplicaciones web derivan de una mala gestión de estas cuatro operaciones SQL básicas al concatenar entradas de usuario directamente en las consultas sin sanitización.

Atajos: ← → para cambiar de pieza · / para buscar