Skip to main content

¿Qué es una prueba de penetración de aplicaciones web?

Una prueba de penetración de aplicaciones web es una actividad diseñada para evaluar cómo se comportaría un programa basado en Internet durante un ataque o explotación. Estas pruebas hacen uso de una variedad de programas de software para escanear una aplicación y luego realizar diferentes acciones que pueden ocurrir durante un ataque real. Un equipo de desarrollo o un proveedor de servicios externo puede realizar una prueba de penetración de aplicaciones web. Si se utiliza un proveedor externo, el equipo de desarrollo o el personal de tecnología de la información (TI) a veces no serán notificados de la prueba por la administración. Esto puede permitir que una prueba de penetración de la aplicación web descubra fallas que de otro modo habrían pasado desapercibidas, lo que puede permitir que esos problemas se solucionen antes del lanzamiento del software.

Las aplicaciones web son paquetes de software a los que se puede acceder y ejecutar a través de Internet. Estas aplicaciones pueden realizar muchas funciones, y en algunos casos son responsables de manejar datos que se consideran privados o incluso valiosos. Para evitar ataques comprometedores, las pruebas de penetración generalmente se realizan para localizar cualquier debilidad o áreas fácilmente explotadas en el código.

Las pruebas típicas de penetración de aplicaciones web comienzan con una fase de recopilación de información. El propósito de este paso es determinar la mayor cantidad de información posible sobre la aplicación. Al enviar solicitudes a la aplicación y al usar herramientas como escáneres y motores de búsqueda, a menudo es posible obtener información como números de versión de software y mensajes de error que a menudo se utilizan para encontrar vulnerabilidades más adelante.

Después de que se haya acumulado una cantidad suficiente de información, el siguiente objetivo de una prueba de penetración de aplicaciones web es realizar una serie de ataques y exploits diferentes. En algunos casos, la información recopilada durante la primera fase identificará vulnerabilidades a las que la aplicación podría ser vulnerable. Si no se detectaron vulnerabilidades obvias, se puede intentar una gama completa de ataques y exploits.

Una prueba de penetración de aplicaciones web puede localizar muchas vulnerabilidades técnicas diferentes. Estas pruebas generalmente intentarán usar métodos como la manipulación del localizador universal de recursos (URL), el secuestro de sesión y la inyección de lenguaje de consulta estructurado (SQL) para entrar en una aplicación. También puede haber un intento de iniciar un desbordamiento del búfer u otras acciones similares que pueden hacer que una aplicación se comporte de manera anormal. Si alguno de estos ataques o exploits hace que la aplicación revele datos confidenciales al probador de penetración, los defectos generalmente se informan junto con un curso de acción sugerido.