HTTP Method Tampering (o HTTP Verb Tampering) es una técnica de ataque y/o pentesting que intenta explotar un recurso, que debería estar controlado y solo accesible a usuarios autenticados, ofrecido por el servidor Web. En este caso, el ataque se enfoca en acceder al recurso a través de un request con un método no controlado por el servidor.
Estos problemas suelen tener los servidores Apache 2.2/PHP, IIS 6.0, Apache 2.2.8, y TomCat 6.0. Puedes suponer este caso de una restricción en un archivo de configuración web.xml para una aplicación Java EE:
<security-constraint>
<web-resource-collection>
<url-pattern>/admin/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
Las reglas aseguran que cualquier GET o POST a un recurso dentro de admin/ será bloqueado para usuarios que no tengan el rol admin. Pero cualquier request que no sea un GET o POST, por ejemplo un HEAD, no será bloqueado.
http-method-tamper si mal no entiendo es un NSE (Nmap Scripting Engine) script para nmap que intenta acceder a recursos que respondan con un estado 401 (Unauthorized) a traves de requests con diferentes verbos o metodos. Si a cualquiera de estos requests se obtiene otro código de estado, entonces se supone que la URI es vulnerable.
http-method-tamper identifica una dirección con respuesta 401, y entonces envía un HEAD request, despues un POST request y por último un request con un método cuyo string es generado aleatoriamente.
Solucion: configurar bien el acceso a tus recursos (a traves de .htaccess en un servidor Apache) o configura tu Web server para filtrar todos los métodos con excepción de GET y POST, que suelen ser los más utilizados en back-end's que no son RESTful.
Fuentes:
Los enlaces son solo para miembros.
Registrate o
iniciá sesiónLos enlaces son solo para miembros.
Registrate o
iniciá sesiónLos enlaces son solo para miembros.
Registrate o
iniciá sesiónSaludos