Privilege Escalation – еще один тип недостатка, который достаточно часто можно встретить в бизнес-логике приложений.
Повышение привилегий принято разделять на 2 части:
1. Вертикальное повышение привилегий – это когда мы с правами юзера, можем получить доступ к правам админа.
2. Горизонтальное повышение привилегий – это когда мы с правами пользователя, можем получить доступ к объектам другого пользователя. Но я такое поведение обычно называю Improper Access. Сейчас нам больше интересен первый пункт.
Почему такое вообще происходит? Причин несколько, по крайней мере те, которые знаю я:
- Всему виной Mass Assignment,
- Кривая реализация ролевой модели
С кривой реализацией ролевой модели на проектах сталкиваемся очень часто. Чаще всего это довольно простые и примитивные баги. Из всех таких простых багов можно выделить некоторые по крутому импакту, например, под сессией обычного пользователя можем создавать новых пользователей, в том числе админских или повышать себя до админа. Но встречаются и интересные кейсы, где для достижения цели нужно выполнить несколько шагов. Про некоторые подробнее расскажу позже.
А можно это как-то автоматизировать?
Да, можно, не полностью конечно, но время на поиск простых багов можно сократить в несколько раз. Мне для этого почти везде вполне хватает бурпового плагина Autorize
#logic #privilege #pentest
Повышение привилегий принято разделять на 2 части:
1. Вертикальное повышение привилегий – это когда мы с правами юзера, можем получить доступ к правам админа.
2. Горизонтальное повышение привилегий – это когда мы с правами пользователя, можем получить доступ к объектам другого пользователя. Но я такое поведение обычно называю Improper Access. Сейчас нам больше интересен первый пункт.
Почему такое вообще происходит? Причин несколько, по крайней мере те, которые знаю я:
- Всему виной Mass Assignment,
- Кривая реализация ролевой модели
С кривой реализацией ролевой модели на проектах сталкиваемся очень часто. Чаще всего это довольно простые и примитивные баги. Из всех таких простых багов можно выделить некоторые по крутому импакту, например, под сессией обычного пользователя можем создавать новых пользователей, в том числе админских или повышать себя до админа. Но встречаются и интересные кейсы, где для достижения цели нужно выполнить несколько шагов. Про некоторые подробнее расскажу позже.
А можно это как-то автоматизировать?
Да, можно, не полностью конечно, но время на поиск простых багов можно сократить в несколько раз. Мне для этого почти везде вполне хватает бурпового плагина Autorize
#logic #privilege #pentest