На странице
apsyleg1 мин
#portswigger #access-control #web-security
Роль пользователя контролируется параметром запроса
Лаборатория
User role controlled by request parameter · Apprentice
Решение
Дано
This lab has an admin panel at /admin, which identifies administrators using a forgeable cookie.
Solve the lab by accessing the admin panel and using it to delete the user `carlos`.
You can log in to your own account using the following credentials: `wiener:peter`
Анализ задания
У админки простая защита — проверяет наличие определённой куки. Нужно зайти в неё и удалить пользователя.
Разведка
Залогинимся на сайте и посмотрим, что происходит.
POST /login ставит интересную куку:
Set-Cookie: Admin=false; Secure; HttpOnly
Попробуем очевидный шаг — заменим на Admin=true. И правда, появляется ссылка на админку.
Удаляем пользователя. Лаба решена!
Ещё в этой категории
Web Shell Upload через обход блек-листа расширений (PortSwigger Lab)
.php в блек-листе, но .htaccess заливается без вопросов — подсовываем свой конфиг Apache и заставляем сервер исполнять shell.bug как PHP.
Web Shell Upload через обфускацию расширения (PortSwigger Lab)
Блек-лист расширений не пускает .php, двойное расширение shell.php.jpg отдаётся как картинка — null-byte shell.php%00.jpg обходит обе проверки.
Remote Code Execution через загрузку web shell (PortSwigger Lab)
Загрузка аватарки без валидации — заливаем PHP web shell и читаем /home/carlos/secret.