HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 10.06.2025, 20:03
kovalyoff
Новичок
Регистрация: 09.06.2025
Сообщений: 0
С нами: 490942

Репутация: 0
По умолчанию



Честно, попыхтел над этой задачкой с hackerlab. Хотя, по сути, и пыхтеть-то было не над чем — лол.

Айпи переводит нас на сайт. На первый взгляд — ничего особенного, просто текст. Нас интересует вкладка "Контакты".





Первое, что приходит в голову — ввести рандомные данные в поля и нажать "отправить сообщение". Так и делаем. В ответ — привычное:
Цитата:

"Спасибо за ваше сообщение! Мы свяжемся с вами в ближайшее время."
А что же происходит в этот момент "под капотом"?



В поле response видим base64-код. Декодируем — получаем HTML-страницу с заглушкой Cloudflare. Я ввел сайт
Код:
lol.com
, видимо, сервер решил, что мы лезем куда не надо. Но раз появляется заглушка, значит, поле "ваш сайт" отправляет запрос на указанный URL. А что если попробовать направить его на самого себя?

Вводим
Код:
127.0.0.1
и...



Создатели явно предусмотрели такой вариант — защита сработала. Но мы не сдаемся. Попробуем обойти это ограничение.
Если
Код:
127.0.0.1
не работает, пробуем
Код:
127.1
и указываем порт. Сканирование показало, что порт 8000 открыт.

Вводим:
Код:
http://127.1:8000/


Опять сообщение:
Цитата:

"Спасибо за ваше сообщение".
Запрос сработал, а в ответ снова прилетает base64. Расшифровываем — и вот она, HTML главной страницы. Выходит, сервер возвращает содержимое запрашиваемой страницы.

На этом моменте я немного застопорился. Ну получил я HTML — и что дальше?

Но потом случилось буквально библейское чудо. Присел покурить, наблюдаю за птичками... случайно уронил сигарету на ногу — и тут меня осенило.

Если мы получаем главную страницу, то, возможно, можем получить и другие — например,
Код:
contacts
или
Код:
about
. Хотя они вряд ли что-то дадут. Значит, ищем скрытую директорию. Запускаем фаззер и получаем:



Есть директория
Код:
/secret
, но статус у неё — forbidden. Пробуем зайти туда:



Цитата:

"Access denied."
Ну, кто бы сомневался. Понятно, что именно там и лежит флаг. Но вряд ли он просто в HTML. Скорее, это отдельный файл.

Допустим, попробуем:
Код:
http://127.1:8000/secret/main.js
В ответ снова base64 → html, в котором написано:

PHP:


Код:
404
Not Found

Not Found

The requested
URL
was not found on the server
.
.
.
И вот это сообщение — ключевое! Оно генерируется Flask, а значит, логично искать
Код:
.py
файл!

Пробуем
Код:
main.py
— опять 404. Тупик? А может и нет...

Если бы мы хотели напрямую попросить файл у сервера, использовали бы
Код:
file:///
, но есть одно но: поле "ваш сайт" принимает только адреса, начинающиеся с
Код:
http://
или
Код:
https://
.

Тогда — хитрый ход. Делаем запрос вида:
Код:
http://127.1:8000/secret?url=file:///app/main.py
(логично предположить, что
Код:
main.py
— основной файл)

Отправляем. В ответ — снова base64. Декодируем... и внутри — флаг!

Возможно, райтап получился немного сумбурным, но это мой первый пост на форуме, так что не судите строго
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.