| № п/п | Стек изученных уязвимостей | Краткое описание | Эксплуатация/точки входа | Нагрузки, примеры атак | Программы/утилиты/фреймфорки для скана/эксплуатации | Защита | Тинькофф софт ctf |
|---|---|---|---|---|---|---|---|
| Клиентская часть | 010 Editor (Хекс редактор фото) скачать | ||||||
| 1 | XSS (cross site scripting) Хранимые (постоянные) Stored | Такой сохраненный скрипт будет активироваться каждый раз, когда пользователь заходит на зараженную страницу. Часто хранимые XSS-уязвимости можно найти на различных форумах, а также в соцсетях, имиджбордах, блогах и других представителях Веб 2.0. Для их внедрения на ресурс злоумышленники могут использовать обычный текст (например, в виде комментариев), рисунки, гифки и другой размещаемый контент. | Адресная строка URL, поля ввода - форма обратной связи, Поисковая форма и т.п. Видео обзор | Посмотреть TXT Посмотреть PDF | BeEF, Xenotix Мобильная версия: Xenotix Сайт http://xss-scanner.com - автоматический поиск уязвимостей | Экранировать любой пользовательский ввод! Подмена кодировки в заголовке страницы. Ошибки в браузере. | XnView (Просмотр фото) Скачать |
| 2 | XSS (cross site scripting) Отраженные (непостоянные) Reflected | Это наиболее распространенный сегодня тип XSS-атак. Их смысл в том, что злоумышленник прячет вредоносный код в заранее подготовленной ссылке, которую потом передает пользователям-жертвам в почтовой рассылке или размещает на веб-странице. Когда пользователь переходит по зараженной ссылке, серверные скрипты исполняют ее код без обработки и возвращают его в виде ответа. Браузер пользователя исполняет зараженный скрипт, а злоумышленник получает cookies жертвы | Адресная строка URL, поля ввода - форма обратной связи, Поисковая форма и т.п. Видео обзор | Посмотреть TXT Посмотреть PDF | BeEF, Xenotix Мобильная версия: Xenotix Сайт http://xss-scanner.com - автоматический поиск уязвимостей | Экранировать любой пользовательский ввод! Подмена кодировки в заголовке страницы. Ошибки в браузере. | Windows 64 bit Download Notepad++ v8.5.5 Скачать Ссылка на сайт Посмотреть |
| 3 | DOM based XSS (DOM-модель) | Суть этой уязвимости — в использовании злоумышленником Document Object Model, объектной модели документа. Это программный интерфейс, дающий программам и сценариям доступ к контенту HTML-, XHTML- и XML-документов и возможность этим содержанием (а также структурой и оформлением) управлять. XSS-уязвимости на основе DOM-модели могут быть как отраженными, так и хранимыми. Их главная особенность — сама страница сайта или веб-приложения не меняется, но меняется ее отображение в браузере пользователя из-за вредоносных модификаций DOM | Адресная строка URL, поля ввода - форма обратной связи, Поисковая форма и т.п. Видео обзор | Посмотреть TXT Посмотреть PDF | BeEF, Xenotix Мобильная версия: Xenotix Сайт http://xss-scanner.com - автоматический поиск уязвимостей | Экранировать любой пользовательский ввод! Подмена кодировки в заголовке страницы. Ошибки в браузере. | |
| 4 | SQL-инъекции на основе ошибок Error Based SQL-injection | SQL-инъекции на основе ошибок получают информацию о структуре базы данных из сообщений об ошибках, выдаваемых сервером базы данных. В редких случаях злоумышленник может перечислить всю базу данных, используя только SQL-инъекцию на основе ошибок. | Если вы введете ?id=1 в URL-адрес и нажмете enter, вам будут предоставлены имя пользователя и пароль. Но если мы введем ?id=1’, это выдаст ошибку Теперь эта ошибка поможет нам определить местонахождение внутреннего запроса. Если мы удалим первую и последнюю кавычки из "1" LIMIT 0,1', то она станет '1" LIMIT 0,1. 1' - это наши входные данные, и одинарная кавычка после этого ввода указывает, что наши входные данные заключены в одинарные кавычки. Это означает, что запрос, который был выполнен обратно в базе данных, был следующим: Запрос: select * from table_name where id='1 что синтаксически неверно. Теперь мы исправим этот запрос, указав входные данные ?id=1' –+. –+ закомментирует все, что последует за этим. Итак, наш внутренний запрос будет: Запрос: select * from table_name where id='1' --+' и снова мы получаем имя пользователя и пароль. | Посмотреть TXT Посмотреть PDF | Sqlmap | ||
| 5 | SQL-инъекции на основе объединения SQL-injection Union Based | SQL-инъекции на основе объединения используют оператор UNION SQL для объединения результатов двух или более запросов SELECT в единый результат, который впоследствии возвращается как часть HTTP-ответа. | Запрос: SELECT EMP_ID, EMP_DOJ FROM EMP UNION SELECT dept_ID, dept_Name FROM dept; Этот SQL-запрос выдаст единый результирующий набор из двух столбцов, включающий значения из столбцов EMP EMP_ID и EMP_DOJ, а также столбцов dept dept_ID и dept_Name. Для функционирования запроса ОБЪЕДИНЕНИЯ должны быть выполнены две важные потребности: Каждый запрос должен возвращать одинаковое количество столбцов. Типы данных должны быть одинаковыми, т.Е. они не изменяются после выполнения запроса. Чтобы определить количество столбцов, требуемых при атаке объединения SQL-инъекций, мы введем последовательность предложений ORDER BY и увеличим предоставленный индекс столбца до тех пор, пока не будет обнаружена ошибка. ?id=1' order by 1 --+ no error ?id=1' order by 2 --+ no error ?id=1' order by 3 --+ no error ?id=1' order by 4 --+ we get error | Посмотреть TXT Посмотреть PDF | Sqlmap | ||
| 6 | Слепые SQL-инъекции на основе логических значений SQL-injection Blind | SQL-инъекция на основе логических значений работает путем отправки SQL запроса в базу данных и принуждения приложения выдавать различный ответ в зависимости от того, возвращает запрос TRUE или FALSE. | Когда запрос на внедрение возвращает результат true или false. ?id=1' AND 1=1 --+ Теперь база данных проверяет, равно ли 1 для заданного условия. Если запрос является допустимым, он возвращает значение TRUE; как видно на скриншоте, у нас есть текст желтого цвета “вы находитесь в”, указывающий, что наш запрос действителен. | Посмотреть TXT Посмотреть PDF | Sqlmap | ||
| 7 | Слепые SQL-инъекции на основе времени SQL-injection time based | Основанная на времени SQL-инъекция работает путем отправки SQL-запроса в базу данных и принудительного ожидания в течение заранее определенного периода времени (в секундах) перед ответом. Время отклика подскажет злоумышленнику, является ли результат запроса ИСТИННЫМ или ЛОЖНЫМ. | And SLEEP(10) if sleep then Vulnerable OR SLEEP(10) if sleep then vulnerable | Посмотреть TXT Посмотреть PDF | Sqlmap | ||
| 8 | |||||||
| 9 | |||||||
| 10 | |||||||