Server-side authorization на всяка object/function request

Authorization се проверява на trusted backend за всяка операция.

Приоритет P0свързана с 7 атаки

Какво е

Authorization се проверява на trusted backend за всяка операция.

Как работи

Server-ът не приема, че object ID, role или UI state означават право на достъп.

Най-простият BOLA пример

API: GET /api/invoices/4812

Потребителят сменя 4812 на 4813. Ако backend-ът проверява само „user logged in“, но не и „има ли този user право върху invoice 4813“, имаме BOLA/IDOR.

Важното

Скриването на ID в UI, UUID вместо integer или WAF signature не решават authorization.

Как да проверим

Автоматизирайте negative tests:

  • user A чете object на user B;
  • basic user извиква admin function;
  • user променя server-controlled fields;
  • tenant A достъпва tenant B.

Практическа имплементация

  • Central authorization layer.
  • Object ownership checks.
  • Function-level policy.
  • Negative authorization tests.
  • Default deny.

Какво НЕ решава

Лошо проектирани permission models остават уязвими дори при наличие на checks.

Предпазва най-силно от

Други в Сигурност на приложения и API