VULNERABILIDADES DE APLICACIONES WEB: VERB TAMPERING

05.01.2018 21:08
Esta vulnerabilidad, supuestamente muy bien conocida pero que nadie se atreve a dejar de mencionar, permite eludir (hacer el "bypass" de) la necesidad de ingresar una combinación de usuario/contraseña pedidos por - por ejemplo - un archivo .htacces. En rigor la vulnerabilidad se origina en un error de configuaración, o en un concepto erróneo de cómo se manejan algunas restricciones.
 
Supongamos un servidor Apache con el siguiente archivo .htaccess:
 
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /xampp/.htpasswd
<Limit GET>
require valid-user
</Limit>
 
El contenido del .htaccess de arriba implica que cuando se mande una solicitud de HTTP (HTTP request) con el verbo GET, será necesario autenticarse para acceder al archivo de destino. Lo que lamentablemente algunas personas ignoran es que el verdadero significado de <Limit GET> es que la autenticación será requerida SOLAMENTE cuando la solicitud sea enviada con el verbo GET. Si, por ejemplo, se envía la solicitud con el verbo POST, se accederá al archivo deseado sin necesidad de ingresar la combinación usuario/contraseña. El pirata informático simplemente interceptará el request (se puede usar algún otro método en lugar de la interceptación) y cambiará el verbo de la solicitud, burlando la necesidad de autenticarse. No tiene sentido entonces, al menos en este caso, usar el <Limit VERBO>, mucho menos con un solo verbo. 
 
Lo invitamos a hacernos llegar sus comentarios, dudas y/o inquietudes a nuestra dirección de contacto: luis_lavric@hotmail.com. ¡Muchas gracias!