Cada petición y respuesta HTTP tiene una estructura con tres elementos clave: el método (qué acción se pide), el código de estado (qué resultado dio) y las cabeceras (información adicional). Saber leerlos es esencial para analizar y atacar aplicaciones web.
Métodos HTTP principales:
| Método | Acción | Nota |
|---|---|---|
| GET | Pedir/leer un recurso | Datos en la URL (visibles) |
| POST | Enviar datos | Datos en el cuerpo (ocultos) |
| PUT | Crear/actualizar | |
| DELETE | Eliminar | |
| HEAD | Como GET pero solo cabeceras | Útil en reconocimiento |
| OPTIONS | Consultar métodos permitidos |
⚠️ Nunca enviar datos sensibles (contraseñas, tokens) por GET: quedan en la URL, en el historial y en logs.
Códigos de estado (por familia):
| Familia | Significado | Ejemplos |
|---|---|---|
| 1xx | Informativo | 100 Continue |
| 2xx | Éxito | 200 OK, 201 Created |
| 3xx | Redirección | 301, 302 |
| 4xx | Error del cliente | 404 Not Found, 403 Forbidden, 401 Unauthorized |
| 5xx | Error del servidor | 500 Internal Error, 502, 503 |
En seguridad, los códigos orientan: un 403 indica un recurso que existe pero está restringido; un 401 pide autenticación; las diferencias en respuestas pueden revelar información (enumeración).
Cabeceras (headers) relevantes:
- Petición:
User-Agent(navegador),Cookie,Authorization,Referer,Host. - Respuesta:
Content-Type,Set-Cookie,Server(revela tecnología). - Seguridad:
Strict-Transport-Security(HSTS),Content-Security-Policy(CSP),X-Frame-Options.
Uso en seguridad:
- Las cabeceras del servidor pueden filtrar tecnología y versiones (útil en reconocimiento).
- Manipular cabeceras puede permitir evadir controles o explotar fallos.
- Las cabeceras de seguridad protegen frente a XSS, clickjacking y downgrade.
Este tema profundiza en la estructura de HTTP y prepara para cookies/sesiones, CORS/CSP y los ataques del pilar de Hacking Web. La herramienta para verlo todo es un proxy (Burp) o las DevTools.