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:
1
www.webvulnerable.com/usuario?user=testUser
Asi que con Fiddler cambiamos la peticion HTTP y probamos diferentes opciones:
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…)