Writeup Web | Просто найди его | HackerLab (WriteUp)

justfindhimhackerlab.webp

Название: Просто найди его
Категория: Web
Уровень: лёгкий
Ссылка на задание: https://hackerlab.pro/en/categories/web/722714c7-d357-4680-b389-44ca6a1d89ee
Баллы: 50


Reconnaissance

Первое что я увидел, так это кнопка при нажатии которой выводится "совет".
1780483627752.webp

Первая мысль которая меня посетила это Fuzzing Directory и запустил ffuf в фоне, а пока начал склоняться к SQL injection (Так как подумал что фразы берутся из БД), чтобы точно поставить диагноз нужно изучить как сервер вообще обрабатывает нажатие кнопки и что он передаёт. Запускаем Burp и отслеживаем запросы.
Отлично, видим что есть POST запрос с json форматом, давайте перекинем его в Repeater и попробуем привести его в нормальный вид для удобства.
1780483802642.webp

Давайте разберёмся, что такое graphQL?
GraphQL — это язык запросов с открытым исходным кодом для API и среда выполнения на стороне сервера. Он предоставляет строго типизированную схему для определения связей между данными, что делает API более гибкими и предсказуемыми. И он не привязан к конкретной базе данных или механизму хранения — он работает с вашим существующим кодом и данными, что упрощает развитие API с течением времени.
Кажется, я догадываюсь... Здесь GraphQL API vulnerabilities.

Exploitation

Давайте изучим полностью схему:
JSON:
    {
        "query": "{__schema{queryType{name}}}"
    }
Видим, что есть "столбец" getFlag, он нам инетерсен, давайте попробуем до него достучаться.
1780484916868.webp

Из текста ошибки понимаем, что getFlag хранит в себе значение isAdmin которое может быть либо True или False, давайте установим его на true.
JSON:
{
    "query":"{ getFlag(isAdmin: true)}"
}
46536534465465465465654.webp

Флаг у нас!
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →

Популярный контент

🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab