Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Как обычно, добавляем IP-адрес машины в /
, чтобы дальше обращаться по названию:
10.10.11.105 horizontall.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
).
На хосте открыты два стандартных порта: 22 (служба SSH) и 80 (веб‑сервер Nginx 1.14.0). SSH пока что пропустим и направимся смотреть, что есть на веб‑сервере.
Там находим одностраничный сайт, который, на первый взгляд, использует какую‑то готовую технологию (то есть сайт не самописный).
Пока что работать не с чем — нужно дальше искать точки входа. А ищут их в таких случаях при помощи перебора каталогов по словарю.
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB.
Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:
-w
— словарь (я использую словари из набора SecLists);-t
— количество потоков;-u
— URL;-fc
— исключить из результата ответы с кодом 403.Набираем:
ffuf -uhttp://horizontall.htb/FUZZ -fc 403 -t 300 -wdirectory_2.3_medium.txt
Результат сканирования каталогов с помощью ffufНо ничего интересного не находим.
Если не нашли каталоги и страницы, то стоит еще поискать поддомены. Чтобы обратиться к виртуальному хосту, нужно указать этот виртуальный хост в заголовке Host
протокола HTTP. Именно это место мы и пометим для перебора с помощью того же ffuf. Словарь subdomains-top1million-110000.
также берем из набора SecLists.
ffuf -uhttp://horizontall.htb/-H 'Host: FUZZ.horizontall.htb' -t 300 -wsubdomains-top1million-110000.txt
Результат сканирования поддоменов с помощью ffufВ выводе отражаются вообще все варианты. Обратим внимание на код ответа 301 — перенаправление на другую страницу. Исключим его из вывода (опция -fc
).
ffuf -uhttp://horizontall.htb/-H 'Host: FUZZ.horizontall.htb' -fc 301 -t 300 -wsubdomains-top1million-110000.txt
Результат сканирования поддоменов с помощью ffufТеперь в ответе находим всего два варианта: www
и api-prod
. Добавляем их в файл /
.
10.10.11.105 www.horizontall.htb api-prod.horizontall.htb
Первый ведет на прежний сайт, а вот при обращении к api-prod.
получаем пустую страницу с надписью Welcome. На сайте есть файл robots.
, но он тоже не раскрывает никакой информации.
Снова просканируем директории с ffuf, и на этот раз мы наконец находим дополнительный контент.
ffuf -uhttp://api-prod.horizontall.htb/FUZZ -fc 403 -t 300 -wdirectory_2.3_medium.txt
Результат сканирования каталогов с помощью ffuf Отметим, что мы заодно нашли имена пользователей. Сканирование директорий на новом сайте дало две страницы. При обращении к reviews
получим какой‑то список комментариев в формате JSON.
При обращении к странице admin
никаких полезных данных мы не получим. Но в исходном коде упоминается strapi
.
Strapi — это фреймворк для управления контентом, работающий на Node.js. Это так называемая headless CMS, она отвечает только за бэкенд (данные) и может взаимодействовать с любыми платформами представления, будь то сайты или приложения. Эта технология широко применяется, а значит, для нее будет несложно найти хорошо задокументированные эксплоиты, причем не в одном варианте. Искать можно при помощи Google, написав, к примеру, strapi exploit.
Первые же ссылки дают нам эксплоиты для удаленного выполнения кода (RCE) и установки произвольного пароля. Пометка Unauthenticated сообщает о том, что баг сработает даже без авторизации.
Эксплоит для установки пароля использует уязвимость CVE-2019-18818 — запросы на сброс пароля обрабатываются неправильно, что позволяет без авторизации изменить пароль пользователя. В коде эксплоита находим запрос проверки версии.
|
|