Search
Write a publication
Pull to refresh

Накрутка денег, SSRF через аватарку и простые уязвимости: таски с конкурса для начинающих багхантеров

Reading time3 min
Views263

Однажды мы со Standoff 365 договорились сделать крутой конкурс для начинающих багхантеров и представить его на PHDays Fest. Каково же было наше удивление, когда за первые 5 минут в конкурсе зарегистрировались 17 человек, всего же было 74 участника и 10 победителей. Еще больше удивило то, что багхантеры были вовсе не начинающие: в конкурсе участвовали сильнейшие хакеры страны. В этой статье разберем, какие были задания.

Статья носит исключительно информационный характер и не является инструкцией или призывом к совершению противоправных действий. Наша цель — рассказать о существующих уязвимостях, которыми могут воспользоваться злоумышленники, предостеречь пользователей и дать рекомендации по защите личной информации в интернете. Авторы не несут ответственности за использование информации. Помните, что не стоит забывать о безопасности своих данных.

Мы приняли решение сделать конкурс в формате CTF. Для этого с нуля в ChatGPT была разработана платформа. Как показала практика, код, который написала нейросеть, оказался неидеальным в плане безопасности, но в целом после исправления некоторых проблем все стало работать стабильно.

Первое, что нужно было сделать, — это зарегистрировать аккаунт. Затем включался таймер и начиналась игра, состоящая из пяти легких таcков.

Таск 1: XSS 

Решение было невероятно простое. Необходимо было прочитать описание и найти параметр comment — именно в нем не было никакой фильтрации. Он выводился в код страницы, получалась reflected XSS, которая автоматически детектировалась на уровне JavaScript, и задание наконец-то считалось выполненным. Индикатором правильного выполнения задания, как и в других тасках, являлся наш коллега и гуру багхантинга Анатолий Иванов. С представленным заданием все легко справились, поэтому пойдем дальше.

Таск 2: ошибка округления

Здесь чуть-чуть сложнее, но все равно легко. Задача была накрутить себе немного денег, перейти планку в 0,10 USD, и тогда задание считалось бы выполненным. Суть заключалась в том, что 0,01 USD мы могли поменять на 0,01 EUR, а 0,01 EUR обратно в 0,02 USD. И да, гоняя деньги по кругу, мы могли накручивать баланс.

Таcк 3: SSRF в подгрузке аватарки

Чем занималась форма, которую вы видите ниже на экране? Правильно! Она подгружала какую-то информацию с внешних источников. Мы знаем, что часто в таких местах появляются критически опасные server-side-уязвимости, например SSRF. Здесь так и было: вместо внешнего адреса можно было написать, например, file:///etc/hosts и дернуть локальный файл. Снизу на скриншоте видно, как это выглядело.

Решение задачи заключалось в том, что нужно было таким образом получить файл file:///etc/flag — и потом этот флаг активировать. В целом у участников это легко получилось сделать, поэтому идем дальше.

Таск 4: утечка флага

Перед нами красивая страничка блога. Где же здесь искать флаг и есть ли он вообще? Часто разработчики прячут какие-то секреты прямо в коде страницы. Как показывает практика специалиста по информационной безопасности, в коде страницы можно найти вообще все что угодно — начиная от API-токенов и заканчивая паролями от тестовых аккаунтов. В любом случае вся такая информация будет полезна белым хакерам. Мы подумали, а почему бы не спрятать где-то в коде страницы флаг. В итоге вот он, на скриншоте снизу.

Таск 5: мессенджер

В нашем мессенджере есть уязвимости — IDOR в параметре chat. Этот параметр можно было обнаружить, создав чат с любым из пользователей. В чате с id=5 можно было найти флаг. Сложность заключалась в том, что, даже если участники нашли IDOR, нужно было найти еще и чат. Но ребята справились.

Мы благодарны всем участникам конкурса и с радостью ждем всех на следующем PHDays Fest. Будет еще интереснее!

Tags:
Hubs:
+10
Comments0

Articles

Information

Website
www.ptsecurity.com
Registered
Founded
2002
Employees
1,001–5,000 employees
Location
Россия