Aprende cómo se construyen los servicios web, los tipos de arquitectura REST/SOAP/GraphQL/gRPC y cómo un atacante los explota — con simulaciones en vivo basadas en OWASP Top 10:2021.
Un servicio web es un sistema de software diseñado para soportar la interacción interoperable entre máquinas a través de una red (W3C, 2004). Expone funcionalidades mediante HTTP/HTTPS usando formatos estándar (JSON, XML) e interfaces descritas en contratos (OpenAPI, WSDL).
Se define la interfaz: URLs, métodos HTTP, esquemas de entrada/salida. Documentado con OpenAPI 3.x (REST) o WSDL 1.1 (SOAP) antes de implementar.
Controladores procesan peticiones: validan entrada, aplican reglas de negocio, coordinan acceso a datos con queries parametrizadas u ORM.
Autenticación (OAuth 2.0, JWT RFC 7519), autorización (RBAC/ABAC), rate-limiting, cifrado TLS 1.3 en tránsito y AES-256 en reposo.
Pruebas unitarias, de integración, análisis estático (SAST) y dinámico (DAST/IAST). Pruebas de penetración antes de producción.
Logging centralizado (ELK, Loki), alertas de anomalías, trazabilidad distribuida (OpenTelemetry) y dashboards de disponibilidad.
Cada paradigma responde a necesidades distintas de acoplamiento, rendimiento y contrato. Selecciona para ver características, ejemplo de petición real y cuándo usarlo.
| Criterio | REST | SOAP | GraphQL | gRPC | Webhook |
|---|---|---|---|---|---|
| Protocolo | HTTP/1.1, HTTP/2 | HTTP, SMTP, TCP | HTTP/1.1, HTTP/2 | HTTP/2 exclusivo | HTTP/1.1 POST |
| Formato | JSON (primario), XML | XML exclusivo | JSON | Protocol Buffers | JSON, form-encoded |
| Contrato | OpenAPI 3.x | WSDL 1.1/2.0 | Schema SDL | .proto files | AsyncAPI / docs |
| Tipado | Opcional | Estricto (XSD) | Fuertemente tipado | Estricto (proto) | Informal |
| Streaming | SSE / chunked | No nativo | Subscriptions (WS) | Bidi nativo | Push event-driven |
| Ideal para | APIs públicas, CRUD | Legado, transaccional | Datos complejos/anidados | Microservicios internos | Notificaciones async |
Basada en OWASP WSTG v4.2 y NIST SP 800-115. Las fases son secuenciales — cada una depende de la información obtenida en la anterior. Expande cada fase para ver técnicas y herramientas reales.
Las tácticas de ataque a servicios web mapean a: Reconnaissance → Resource Development → Initial Access → Execution → Persistence → Privilege Escalation → Defense Evasion → Credential Access → Discovery → Lateral Movement → Collection → Exfiltration → Impact. La simulación del tab 04 ilustra las fases Initial Access y Execution.
Selecciona un vector del catálogo OWASP Top 10:2021. Activa el toggle Vulnerable / Protegido y ejecuta el ataque para ver la diferencia. Ningún sistema real es contactado — todo ocurre en el cliente.
8 preguntas sobre arquitectura de servicios web, tipos y seguridad. Responde cada una y recibe retroalimentación inmediata basada en los estándares del módulo.