H1RD SECURITY

Ataque por referencia insegura de objetos

Este ataque referencia directa a objetos (“direct object reference”) ocurre cuando un desarrollador expone una referencia hacia un objeto interno de la aplicación, (parametro web, formulario, fichero, base de datos). Un atacante podría cambiar estas referencias y acceder a otros recursos de la aplicacion sin autorización

Según la Open Web Application Security Project (Owasp), el ataque por referencia insegura de objetos forma parte de su top diez.

Como funciona este ataque

Al entrar en nuestra pagina de datos personales de la web vulnerable aparecen nuestros datos correctamente, y mediante Fiddler, vemos que la llamada al server es:

Url enviada al servidor
1
www.webvulnerable.com/usuario?user=testUser

Asi que con Fiddler cambiamos la peticion HTTP y probamos diferentes opciones:

Url enviadas al servidor
1
2
3
www.webvulnerable.com/usuario?user=admin
www.webvulnerable.com/usuario?user=usuario1
www.webvulnerable.com/usuario?user=50002

Y con alguna de esas peticiones, si en alguna de esas peticiones recibieramos los datos del usario es que la web es vulnerable a un ataque por referencia insegura de objetos.

¿Porque sucede?

Este ataque sucede porque en la aplicación web no se controla el control de acceso, es decir controlar que de verdad el usuario que pide algo, tiene de verdad permisos para verlo. Es decir no puedes ver los datos personales de otro usuario, si no eres ese usuario (O eres un administrador…)