Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /
:
10.10.10.243 spider.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.
Первым делом открываем сайт. На нем можно зарегистрироваться — лучше сразу же это сделать, чтобы получить доступ к большему числу функций, которые можно тестировать.
На что стоит обратить внимание? Так как это интернет‑магазин, здесь можно добавлять товары в корзину. При этом используются cookie, но сделать с ними ничего интересного пока нельзя, поскольку они закодированы.
Еще на сайте есть форма поиска. Я попробовал скармливать ей разные интересные последовательности из своих словарей, но уязвимостей не нашел.
Сканирование поддоменов, директорий и другого контента тоже ничего не дало. Поэтому я решил вернуться к формам регистрации и авторизации.
Первое, на что натыкаемся, — это ограничение длины имени пользователя.
На любые кавычки и комментарии при регистрации имени пользователя admin;
форма никак не реагировала.
На остальные паттерны из списка тоже. Поэтому делаем вывод, что форма к SQL-инъекциям неуязвима. Однако получается добиться реакции при использовании в имени пользователя тегов HTML! Например, если ввести юзернейм <
/
, то на главной странице он отобразится жирным шрифтом, хоть на странице /
и остается без изменений.
В подобных случаях, когда работают теги HTML, стоит сразу проверить возможность внедрить шаблон (server-side template injection). Очень часто подобные уязвимости совместимы с SSTI. И при использовании имени пользователя {{
на странице /
обнаружим, что шаблон сработал!
Server-side template injection (SSTI) — это атака, при которой злоумышленник внедряет в шаблон вредоносный код. Шаблоны страниц придуманы для того, чтобы отделить верстку страниц от кода, но возможность вставлять в них динамические данные иногда открывает новые горизонты.
Если злоумышленнику удается отправить на сервер данные, которые будут распознаны шаблонизатором как директивы внутри шаблона, это позволит манипулировать данными и в некоторых случаях получить контроль над сервером.
|
|