Capítulo 13. Inyección

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Uno de los tipos de ataques más conocidos contra una aplicación web es la inyección SQL. La inyección SQL es un tipo de ataque de inyección que se dirige específicamente a bases de datos SQL, permitiendo a un usuario malintencionado proporcionar sus propios parámetros a una consulta SQL existente, o escapar de una consulta SQL y proporcionar su propia consulta. Naturalmente, esto suele resultar en una base de datos comprometida debido a los permisos escalados que el intérprete SQL recibe por defecto.

La inyección SQL es la forma más común de inyección, pero no la única. Los ataques de inyección tienen dos componentes principales: un intérprete y una carga útil de un usuario que se lee de algún modo en el intérprete. Esto significa que pueden producirse ataques de inyección contra utilidades de línea de comandos como FFMPEG (un compresor de vídeo), así como contra bases de datos (como el caso tradicional de inyección SQL).

Echemos un vistazo a varias formas de ataques de inyección para que podamos comprender bien qué tipo de arquitectura de aplicación se requiere para que funcione un ataque de este tipo, y cómo podría formarse y entregarse una carga útil contra una API vulnerable.

Inyección SQL

La inyección SQL es la forma más clásica de inyección (ver Figura 13-1). Se escapa una cadena SQL en una carga útil HTTP, lo que provoca que se ejecuten ...

Get Seguridad de las aplicaciones web now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.