{% extends 'utils/_task.html' %} {% block content %} {% include 'utils/_websidenav.html' %}
IDOR(Insecure direct object references) - уязвимость, позволяющая пользователю получить доступ к объекту (к которому он доступ иметь не должен) напрямую, без проверок, например по ID
Как именно это работает? На сервере просто отсутствую проверки, которые не дают пользователю реализовать доступ к определённым объектам. На сервере это может выглядеть так: (привер кода ниже)
@app.route("/web/idor/user_id<int:id>")
def user(id):
return render_template(f'user_id{id}.html')
Грубо говоря, мы можем ввести ID в путь и получить приватную страницу пользователя(конкретно тут она не выглядит сильно приватной, но всё же), ID которого ввели
Для решения этого задания стоит посмотреть на путь, и заметить, что там есть id : ctf.codrs.ru/web/idor/user_id184. Можно попробовать поменять ID и обнаружить, что нас переносит на странички других пользователей.ID, на которых есть странички - Ваш ID и числа от 0 до 15
Походив поп рофилям пользователей можно увидеть, что у одного из них (ID 9) Имя пользователя - флаг.
Далее стоит вернуться на главную, используя стрелочку назад в самом браузере, и ввести флаг в соответствующее поле. Будьте вниметельны! После каждого нажатия кнопки Войти флаг перегенерируется.
скрыть{{ error }}