El sitio web de OWASP recomienda esto :
- Utilice referencias de objetos indirectos por usuario o sesión. Esto evita que los atacantes se dirijan directamente a los recursos no autorizados. Por ejemplo, en lugar de usar la clave de la base de datos del recurso, una lista desplegable de seis recursos autorizados para el usuario actual podría usar los números del 1 al 6 para indicar qué valor seleccionó el usuario. [cursiva mía]
- Comprobar acceso. Cada uso de una referencia de objeto directo de una fuente no confiable debe incluir una verificación de control de acceso para asegurar que el usuario esté autorizado para el objeto solicitado. [cursiva mía]
Entonces, si un usuario no tiene acceso al recurso solicitado, , ¿de qué manera el ofuscado de la referencia directa de objetos mejora la seguridad?
Dada la complejidad creciente que, por ejemplo, se acumularía un sitio MVC de ASP.NET, ¿vale la pena el problema adicional para cualquier cosa que no sean los sitios bancarios?