На странице
apsyleg1 мин
#portswigger #access-control #web-security

Незащищённая админка с непредсказуемым URL

Лаборатория

Unprotected admin functionality with unpredictable URL · Apprentice

Решение

Дано

This lab has an unprotected admin panel. It's located at an unpredictable location, but the location is disclosed somewhere in the application.

Solve the lab by accessing the admin panel, and using it to delete the user carlos.

Анализ задания

Есть открытая админка по рандомному URL. Нужно найти адрес, войти и удалить пользователя. Сделаем разведку. Будем обращать внимание на JS-файлы и код — где-то должна быть логика отображения ссылок для админа. Возможно, где-то на странице товара — предположение.

Разведка

Походил по сайту: посмотрел товар, return to list, My account. Смотрим историю запросов в Burp. Явных загрузок JS-файлов не видно.

Посмотрим HTML GET /product?productId=2 — вижу интересный кусок кода:

<script>
var isAdmin = false;
if (isAdmin) {
   var topLinksTag = document.getElementsByClassName("top-links")[0];
   var adminPanelTag = document.createElement('a');
   adminPanelTag.setAttribute('href', '/admin-q4va6y');
   adminPanelTag.innerText = 'Admin panel';
   topLinksTag.append(adminPanelTag);
   var pTag = document.createElement('p');
   pTag.innerText = '|';
   topLinksTag.appendChild(pTag);
}
</script>

Нашли адрес админки — /admin-q4va6y.

Идём в админку, удаляем пользователя. Лаба решена!