Перейти к содержимому
← Каталог nodejs IDOR

IDOR: Вертикальная эскалация привилегий в Express

Админ-эндпоинты Express проверяют наличие сессии, но не роль пользователя. Любой залогиненный demo-пользователь может открыть /admin/stats и забрать флаг.

easynodejsPro
Задача
# Вертикальная эскалация привилегий (Broken Access Control) ## Сценарий Перед вами интернет-магазин SecureShop. В приложении есть административная панель с несколькими разделами — управление пользователями, статистика, действия над учётными записями. Эти страницы должны быть доступны только пользователям с ролью администратора, и **на первый взгляд** они закрыты для обычного пользователя. В реальности же закрыт только один уровень контроля доступа — **аутентификация** (вошёл ли пользователь в систему). Второй, более важный для администраторских функций уровень — **авторизация** (имеет ли вошедший пользователь право на эту конкретную операцию) — реализован не везде. Это классическая вертикальная эскалация привилегий из категории Broken Access Control (OWASP A01:2021). В одном из административных разделов виден CTF-флаг. Ваша задача — найти, какие именно административные эндпоинты не проверяют роль, и через них получить флаг под обычным пользователем. ## Цели 1. Авторизуйтесь как `demo` / `demo` и осмотрите доступный для обычного пользователя функционал. 2. Эмпирически проверьте, какие административные пути приложения отвергают обычного пользователя, а какие — нет. 3. Через найденный канал доберитесь до раздела с CTF-флагом и получите его значение. ## Данные | Параметр | Значение | |----------|----------| | Обычный пользователь | `demo` / `demo` |

Похожие лабораторные

Ещё лабораторные по этому типу уязвимости

IDOR

IDOR: Доступ к чужому счёту в Express

Эндпоинт просмотра счёта в Express + better-sqlite3 не проверяет владельца ресурса. Получи доступ к счёту администратора и извлеки флаг.

+30 XP ~20 минут
nodejseasyPro
Exploit Fix
IDOR

IDOR: предсказание UUID v1 по таймстампу

Заказы интернет-магазина идентифицируются UUID v1 (timestamp + MAC + clock_seq). Все заказы созданы внутри одного процесса, поэтому делят те же node/clock_seq биты — отличаются только по timestamp. Эндпоинт /order/:uuid не проверяет владельца, и атакующий, имея один свой UUID, угадывает UUID соседних заказов и получает чужие данные, включая CTF-флаг.

+90 XP ~75 минут
nodejshardPro
Exploit Fix
IDOR

IDOR: Доступ к чужому счету

Эндпоинт просмотра счета не проверяет владельца. Получи флаг из счета другого пользователя.

+30 XP ~20 минут
golangeasyPro
Exploit Fix
🚧 Сайт в разработке. Полный функционал пока недоступен. Все вопросы — support@hackandfix.ru