> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/ejpt-notes/pruebas-de-penetracion-de-aplicaciones-web/aplicaciones-web/introduccion-a-las-pruebas-de-seguridad-de-aplicaciones-web/pruebas-de-seguridad-de-aplicaciones-web.md).

# Pruebas de seguridad de aplicaciones web

## 📋 ¿Qué es?

* Las pruebas de seguridad en aplicaciones web consisten en evaluar y analizar los aspectos de seguridad de las aplicaciones web para **identificar vulnerabilidades, debilidades y riesgos potenciales**.
* Implican la realización de diversas pruebas y evaluaciones para asegurar que las aplicaciones web sean **resistentes a amenazas** y puedan **proteger datos y funcionalidades sensibles** frente a accesos no autorizados o actividades maliciosas.
* **Objetivo principal**: descubrir fallos de seguridad **antes de que sean explotados** por atacantes.
* Identificar y corregir vulnerabilidades mejora la postura de seguridad general, reduce riesgos de brechas de datos y protege tanto a los usuarios como la información sensible.

***

## 🔍 Tipos de Pruebas de Seguridad en Aplicaciones Web

* Se utilizan **herramientas automáticas** y **técnicas manuales** combinadas.

Tipos comunes:

* **Escaneo de Vulnerabilidades**: Uso de herramientas automatizadas para detectar vulnerabilidades conocidas como:
  * Inyección SQL
  * Cross-Site Scripting (XSS)
  * Configuraciones inseguras
  * Versiones de software desactualizadas
* **Pruebas de Penetración**: Simulación de ataques reales para evaluar las defensas de la aplicación y descubrir debilidades mediante **hacking ético**.
* **Revisión de Código y Análisis Estático**: Examen manual del código fuente para identificar errores de programación, configuraciones inseguras y riesgos de seguridad.

***

## 📖 Otros tipos específicos

* **Pruebas de Autenticación y Autorización**: Verificar la efectividad de mecanismos de acceso, garantizando que solo los usuarios autorizados accedan a los niveles correctos.
* **Validación de Entradas y Codificación de Salidas**: Comprobar cómo maneja la aplicación los datos de entrada para prevenir XSS, inyección SQL, etc.
* **Pruebas de Gestión de Sesiones**: Verificar cómo se gestionan las sesiones de usuario y los tokens para prevenir ataques relacionados.
* **Pruebas de Seguridad de APIs**: Evaluar la seguridad de las APIs que usa la aplicación para intercambiar o integrar datos.

***

## ⚔️ Pruebas de Penetración en Aplicaciones Web (Web App Pentesting)

* Es una **subcategoría** de las pruebas de seguridad, centrada **específicamente en explotar vulnerabilidades** identificadas.
* Involucra realizar ataques simulados por profesionales de seguridad como **pentesters**, **cazadores de bugs** o **hackers éticos**.
* Se lleva a cabo de manera **sistemática y controlada**, intentando explotar vulnerabilidades conocidas para evaluar la seguridad.

***

## 🆚 Diferencias: Web App Security Testing vs Web App Pentesting

| Aspecto            | Web App Security Testing                                        | Web App Pentesting                                                                         |
| ------------------ | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| **Objetivo**       | Identificar vulnerabilidades y debilidades **sin explotarlas**. | Intentar **explotar vulnerabilidades** y evaluar la respuesta de la organización.          |
| **Enfoque**        | Más amplio, incluye pruebas manuales y automáticas.             | Específico en identificar y explotar vulnerabilidades, mayormente manual.                  |
| **Metodología**    | Evaluaciones como SAST, DAST, IAST, SCA, etc.                   | Pruebas manuales usando herramientas y técnicas de ataque.                                 |
| **Explotación**    | No se explotan las vulnerabilidades.                            | Se explotan vulnerabilidades de manera controlada y autorizada.                            |
| **Impacto**        | No intrusivo, enfocado en identificación de fallos.             | Puede ser intrusivo, riesgo de causar interrupciones en la aplicación durante las pruebas. |
| **Informe**        | Lista vulnerabilidades y recomendaciones de corrección.         | Documenta vulnerabilidades explotadas y propone medidas correctivas.                       |
| **Automatización** | Puede incluir escaneos automáticos.                             | Principalmente manual, simula ataques reales.                                              |
| **Meta final**     | Mejorar la postura de seguridad general de la aplicación web.   | Validar la efectividad de los controles de seguridad e incident response.                  |
