Saltar al contenido

Próxima edición 7 de septiembre de 2026

Manipulación de métodos HTTP

La manipulación de métodos HTTP, también llamada manipulación de verbos, es una técnica de ataque en la que se cambia el método HTTP de una petición (GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE) para evadir controles de seguridad que solo protegen métodos concretos. Un resultado habitual es sortear la autenticación o los controles de acceso que un desarrollador configuró solo para GET y POST.

Autor
Unihackers Team
Tiempo de lectura
3 min de lectura
Última actualización

Por qué importa

Los controles de acceso a menudo vigilan solo las puertas por las que los desarrolladores esperan que entren los atacantes. Un muro de login colocado delante de GET y POST puede dejar HEAD, OPTIONS, PUT y TRACE de par en par, y un atacante que simplemente cambia el verbo entra sin más. Como el control sigue pareciendo correcto en un navegador normal, donde cada petición es un GET o un POST, este fallo puede sobrevivir en producción durante años.

La manipulación de métodos HTTP es una forma de manual de control de acceso roto, el riesgo número uno del OWASP Top 10, y es trivial de probar en cuanto interceptas una petición con un proxy como Burp Suite.

Cómo funciona

Una ruta de administración protegida devuelve 401 en el navegador. Quien audita captura la petición y la reenvía con distintos métodos, sin cambiar nada más:

code
GET     /admin   ->  401 Unauthorized
POST    /admin   ->  401 Unauthorized
HEAD    /admin   ->  200 OK
OPTIONS /admin   ->  200 OK

El 200 en HEAD significa que el servidor procesó la petición como válida. La mala configuración subyacente suele tener la pinta de un bloque de Apache que solo enumera dos métodos:

apache
<Limit GET POST>
  require valid-user
</Limit>

Todo lo que no se nombra, HEAD, OPTIONS, TRACE y PUT, se salta por completo la comprobación de autenticación. Una variante relacionada abusa de los frameworks que enrutan un método inesperado al mismo manejador pero aplican una ruta de autorización distinta y más débil.

Por qué persiste

El bug sobrevive porque los desarrolladores razonan sobre los dos métodos que un navegador usa de verdad y olvidan el resto de la especificación HTTP. La lista de permitidos da sensación de seguridad, pero cualquier método que se quede fuera de la lista no hereda ninguna protección. Los balanceadores de carga, las reglas heredadas de mod_auth y los fragmentos de configuración copiados propagan el mismo patrón por muchas aplicaciones.

Cómo probarla

Para cada endpoint protegido, reenvía la petición con el conjunto completo de métodos: GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH y TRACE. Vigila cualquier método que devuelva un 200 o un cuerpo distinto, y compara los códigos de estado con cuidado, ya que un 405 es sano mientras que un 200 en un verbo inesperado es un hallazgo. Los métodos arbitrarios o inventados a veces revelan una gestión aún más laxa.

Prevención

Impón autorización en todos los métodos por defecto y permite solo los verbos que un endpoint realmente necesita. Reemplaza los bloques de configuración específicos de un método por una política de denegación por defecto, devuelve 405 para los métodos no soportados, desactiva TRACE y prueba cada endpoint restringido con el conjunto completo de métodos para verificar que el control no se puede sortear.

En el Bootcamp

Cómo enseñamos Manipulación de métodos HTTP

En nuestro Cybersecurity Bootcamp, no solo aprenderás sobre Manipulación de métodos HTTP en teoría. Practicarás con herramientas reales en laboratorios prácticos, guiado por profesionales de la industria que usan estos conceptos a diario.

Cubierto en:

Módulo 10: Pentesting y Hacking Ético

Temas relacionados que dominarás:MetasploitNmapBurp SuiteEscalada de Privilegios
Ver Cómo enseñamos esto

360+ horas de formación experta • CompTIA Security+ incluido