На странице
apsyleg1 мин
#portswigger #access-control #web-security
ID пользователя контролируется параметром запроса
Лаборатория
User ID controlled by request parameter · Apprentice
Решение
Дано
This lab has a horizontal privilege escalation vulnerability on the user account page.
To solve the lab, obtain the API key for the user carlos and submit it as the solution.
You can log in to your own account using the following credentials: wiener:peter
Анализ задания
Судя по всему, очень простая лаба. Нужно добыть API-ключ пользователя carlos. Для этого нужно просто поменять user id, передаваемый в роут.
Разведка
Логинимся под пользователем, смотрим запросы:
GET /my-account?id=wiener
Тут есть API-ключ. Меняем параметр на ?id=carlos:
GET /my-account?id=carlos
<div id=account-content>
<p>Your username is: carlos</p>
<div>Your API Key is: mxH4cyoguaAAuo3kCtqzv1ySjfORtagJ</div>
Лаба решена.
Ещё в этой категории
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.