Playbook: autorización, IDOR y multitenancy
Uso autorizado. Ejecuta estas comprobaciones únicamente sobre activos incluidos expresamente en el alcance. Sustituye las variables por cuentas, objetos y sistemas de prueba. Comienza con una sola solicitud y detente cuando obtengas la evidencia mínima necesaria.
Regla de decisión. El fallo de un payload no permite declarar
NO-APLICA. Para descartarlo debe demostrarse que no existe la capacidad, el flujo, el componente o el intérprete necesario. Si existe pero no puede probarse, registraBLOQUEADOoAPLICA-PENDIENTE.
Activar si
Existen objetos, funciones, roles, organizaciones, tenants o recursos pertenecientes a usuarios.
Matriz mínima
Cruza listar, leer, crear, modificar, borrar, exportar y compartir con propietario, no propietario, otro tenant y rol superior. Incluye objetos activos, archivados, borrados y compartidos.
1
2
3
curl -isk "$BASE_URL/api/objects/$ID_A" -H "Authorization: Bearer $TOKEN_A"
curl -isk "$BASE_URL/api/objects/$ID_B" -H "Authorization: Bearer $TOKEN_A"
curl -isk -X PATCH "$BASE_URL/api/objects/$ID_A" -H "Authorization: Bearer $TOKEN_A" -H 'Content-Type: application/json' --data '{"displayName":"control-autorizado"}'
Utiliza exclusivamente objetos de las cuentas de prueba. Sustituye un identificador cada vez en URL, cuerpo, cabecera y estructuras anidadas.
Ampliación
Comprueba mass assignment, endpoints versionados, miniaturas, exportaciones, búsquedas, WebSockets, trabajos asíncronos, enlaces compartidos y cachés tras cambiar membresías.
Señales y decisión
Confirma si se devuelve información cruzada, se modifica un objeto ajeno, se accede a una función privilegiada o la separación solo existe en la interfaz. Un 404 no basta para descartar si otras operaciones o identificadores no se probaron.
Referencias locales
hacktricks/src/pentesting-web/idor.mdhacktricks/src/pentesting-web/mass-assignment-cwe-915.md