Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Hack The Box. Уровень ее сложности указан как средний.
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.11.118 devzat.htb
И запускаем сканирование портов.
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта.
ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A
).
Результат работы скрипта
Мы нашли три открытых порта:
Поскольку вначале у нас нет учетных данных, нет и смысла изучать службы, которые всегда требуют авторизации (например, SSH). Единственное, что мы можем делать здесь, — перебирать пароли брутфорсом, но машины с HTB почти всегда можно пройти другим способом. В жизни таких вариантов может не быть, к тому же есть шансы подобрать пароль или получить его при помощи социальной инженерии.
Поскольку на SSH нам делать нечего, будем изучать доступный веб‑сайт.
Главная страница сайта
На главной странице встречаем описание мессенджера Devzat, а пройдя чуть ниже — и описание способа подключения.
Инструкция, как подключиться к мессенджеру
ssh -lralf devzat.htb -p8000
Список доступных команд
Ни получение списка пользователей, ни какие‑либо сообщения ничего нам не дают. Поэтому перейдем к активному сканированию веба.
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB.
Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:
-w
— словарь (я использую словари из набора SecLists);-t
— количество потоков;-u
— URL;-fc
— исключить из результата ответы с кодом 403.Команда получается следующая:
ffuf -u 'http://devzat.htb/FUZZ' -t 256 -wdirectory_2.3_medium_lowercase.txt
Результат сканирования каталогов с помощью ffuf
И ничего интересного.
Помимо скрытых каталогов, нужно просканировать и виртуальные хосты (поддомены). Используем тот же ffuf
. Для этого мы будем перебирать HTTP-заголовок Host
(параметр -H
). Поскольку ответ на все запросы будет включать десять строк, отфильтруем их из результата (параметр -fl
)
ffuf -u 'http://devzat.htb' -t 256 -H 'Host: FUZZ.devzat.htb' -wsubdomains-top1million-110000.txt -fl 10
Результат сканирования поддоменов с помощью ffuf
И находим новый поддомен. Добавим его в файл /
.
10.10.11.118 devzat.htb pets.devzat.htb
Главная страница сайта pets.devzat.htb
На странице есть кое‑какие запросы серверных функций, но все равно стоит просканировать скрытые файлы и каталоги. При возникновении ошибки 404 каждый раз будет возвращаться кастомная страница, поэтому исключим эти ответы из конечного результата. Будем фильтровать по объему страницы (параметр -fs
).
ffuf -u 'http://pets.devzat.htb/FUZZ' -t 256 -wfiles_interesting.txt -fs 510
Результат сканирования каталогов с помощью ffuf
И находим каталог .
. Он должен открыть нам исходные коды. Чтобы загрузить его, используем утилиту Rip-Git из набора dvcs-ripper.
rip-git.pl -v -uhttp://pets.devzat.htb/.git/
Загрузка данных из репозитория Git
Открыв главный файл main.
, сразу находим уязвимую функцию loadCharacter
(строка 40).
Исходный код функции
В этой функции пользовательский ввод без дополнительной фильтрации подставляется в качестве аргумента командной строки, а это — уязвимость OS Command Injection.
Отправим запрос на добавление записи на сайте и перехватим его с помощью Burp.
|
|