Font size
WorksheetsТестовые вопросы по безопасности веб-приложений и систем
Total questions: 135
Worksheet time: 1hrs 8mins
Какая техника XSS позволяет модифицировать структуру DOM?
Header Injection
Reflected XSS
DOM-based XSS
Mixed Injection
Stored HTML Injection
Чем отличается Union-based SQLi?
Требует reverse shell
Работает через ARP
Использует оператор объединения для извлечения данных
Основана на ошибках в шаблонах HTML
Изменяет структуру DOM
Как скрыть вредоносный payload от антивирусов?
Уменьшить TTL пакетов
Установить атрибут SameSite для cookies
Увеличить сетевой ping
Применить Content Security Policy (CSP)
Использовать packers и обфускацию
Почему MITM может перехватывать логины?
Cookies закодированы
SQL‑сервер открыт для всех
XSS не активен на сайте
CSRF‑токены неверные
Передаются в нешифрованных HTTP‑запросах
Что делает backdoor, встроенный в веб‑сервер?
Шифрует HTML‑страницы
Устанавливает атрибут SameSite
Подменяет SQL‑схему базы данных
Выполняет команды через HTTP‑запросы
Изменяет ARP‑таблицы
Представьте, что setuid‑программа использует execlp() для запуска /bin/ls без полного пути. Какой вектор атаки наиболее вероятен?
Подмена программы ls в одном из путей переменной PATH, чтобы execlp() запустил злонамеренный бинарник
Создание символической ссылки на /bin/ls в текущем каталоге
Изменение umask перед вызовом execlp()
Инъекция через LD_PRELOAD для подмены функций ls
Почему переменные окружения считаются частью поверхности атаки?
Они формируются только ядром и не меняются пользователем
Они полностью контролируются пользователем и могут менять поведение программы
Они используются только для логирования событий
Они доступны лишь администраторам и потому безопасны
Почему сервисный подход более безопасен, чем Set‑UID программы?
Сервисы запускаются в браузере пользователя
Сервисы работают с root‑привилегиями централизованно и не зависят от переменных окружения пользователя
Set‑UID программы автоматически обновляются чаще
Сервисы запрещают сетевые соединения по умолчанию
Какое поведение ОС/библиотеки делает exploit через LD_PRELOAD/LD_LIBRARY_PATH менее вероятным в setuid‑контекстах, но не решает проблему Shellshock?
Запрет загрузки динамических библиотек для всех процессов
Динамический линкер игнорирует некоторые переменные LD_* в режиме secure execution (setuid)
Принудительное отключение bash в системных сервисах
Автоматическая очистка переменной PATH при каждом запуске
Почему проверка заголовка Referer/Origin может помочь в защите от CSRF?
Она шифрует тело запроса
Она блокирует повторные отправки формы
Она гарантирует, что запрос пришёл с доверенного домена
Она удаляет cookies перед отправкой
Что из перечисленного является слабостью метода проверки Referer как единственной защиты от CSRF?
Заголовок всегда присутствует и надёжен
Заголовок может отсутствовать из‑за настроек приватности, браузера или прокси
Заголовок автоматически подписывается HMAC
Заголовок недоступен серверу
Какие два условия необходимы для эксплуатации Shellshock?
Процесс должен запускать bash
Данные поступают через переменные окружения и не проверяются
Наличие XSS на сайте
Использование только статически связанного бинарника
Что такое стек процесса?
Область памяти для хранения файловой системы
Область памяти, где хранятся локальные переменные, адрес возврата и сохранённые регистрационные значения
Очередь задач в планировщике ядра
Раздел для хранения сетевых пакетов
Что может произойти при перезаписи адреса возврата на стеке?
Завершение процесса по SIGTERM
Передача управления на произвольный адрес
Очистка кеша процессора
Автоматическое восстановление стека ядром
Какой эффект даёт компиляция с «-z execstack» в учебной среде?
Делает стек только для чтения
Делает стек исполняемым и позволяет выполнять shellcode
Запрещает вызовы системных функций
Включает ASLR для стека
Какое поведение предотвращает защита «non‑executable stack (NX)»?
Чтение данных из области стека
Запись локальных переменных на стек
Выполнение кода, расположенного на стеке
Обращение к куче (heap) из стека
Какая команда GNU Debugger используется для получения адреса функции system()?
x/4x system
p system
info functions system
bt system
Как называется техника, которая связывает множество коротких фрагментов кода (gadgets)?
Code Reuse Attack (CRA)
Return‑Oriented Programming (ROP)
Heap Spraying
Integer Overflow Chaining
Что является основной целью пентестинга веб‑приложений?
Повышение производительности сервера
Выявление уязвимостей и оценка рисков
Разработка новых функций сайта
Оптимизация SEO
Какой инструмент чаще всего используется для тестирования безопасности HTTP‑запросов?
Wireshark
Burp Suite
Nmap
Metasploit Console
Что входит в первый этап веб‑пентеста?
Эксплуатация уязвимостей
Сбор информации (reconnaissance)
Отчётность и рекомендации
Установка веб‑серверов
Какой протокол является основной целью при проверке безопасности сайтов?
FTP
SMTP
HTTP
SSH
Что такое Remote Code Execution (RCE)?
Удаление файлов на локальной машине
Выполнение произвольного кода на удалённой системе
Перехват сетевого трафика
Эскалация привилегий без доступа к коду
В каком языке чаще всего встречаются RCE‑уязвимости из‑за динамической интерпретации?
C
Java
PHP
Go
Какое действие помогает снизить риск RCE?
Разрешение любых вложений в запросах
Строгая валидация, фильтрация и санитизация пользовательского ввода
Отключение журналирования на сервере
Использование только HTTP без шифрования
Что описывает обратное TCP‑соединение (Reverse TCP)?
Соединение, инициированное атакующим к жертве
Соединение, инициированное жертвой к атакующему
Соединение между двумя произвольными узлами без инициатора
Многоадресную рассылку пакетов без установления сессии
Какой инструмент используется для создания и управления обратными TCP‑сеансами?
Wireshark
Netcat
OpenSSL
Metasploit Framework Console без вспомогательных утилит
Что происходит после успешного установления обратного TCP‑сеанса?
Жертва получает доступ к панели администратора атакующего
Злоумышленник получает командную оболочку на целевой системе
Система автоматически перезагружается
Создаётся только туннель для передачи файлов без команд
Что представляет собой уязвимость загрузки файлов?
Возможность хранить резервные копии на сервере
Возможность загрузить и выполнить вредоносный файл на сервере
Возможность ограничить размер загружаемых изображений
Возможность принудительно использовать CDN
Какой файл чаще используется злоумышленником для эксплуатации уязвимости File Upload?
Конфигурационный YAML
Веб‑шелл (например, shell.php)
Статический SVG без скриптов
Текстовый README
Какой метод эффективнее предотвращает уязвимость загрузки файлов?
Чёрный список расширений без проверки содержимого
Белый список допустимых расширений + проверка содержимого + хранение вне веб‑директории
Отключение всех форм на сайте
Принудительное кеширование на уровне браузера
Что характеризует LFI (Local File Inclusion)?
Включение и чтение локальных файлов сервера
Включение файлов только с удалённых хостов
Шифрование локальных каталогов
Только удалённое выполнение команд
Что характеризует RFI (Remote File Inclusion)?
Включение и чтение локальных файлов сервера
Включение и выполнение удалённых файлов с чужого сервера
Только загрузку изображений с CDN
Только передачу файлов по SCP
Какова основная цель итогового отчёта пентеста?
Скрыть найденные уязвимости от заказчика
Документировать уязвимости, оценить риски и дать рекомендации по устранению
Опубликовать результаты в общедоступном блоге
Сфокусироваться только на технических метриках без рекомендаций
Какой шаг рекомендуется после завершения пентеста?
Сразу переходить к новому проекту без обратной связи
Повторное тестирование (Re‑testing)
Отключить систему мониторинга
Удалить все логи из инфраструктуры
Какая команда Netcat используется для запуска обратной оболочки в Windows?
nc.exe -lvp <порт>
nc.exe -e cmd.exe
nc -vz
nc.exe -k
Какой тип уязвимости чаще всего позволяет добиться RCE при неверной обработке пользовательских данных?
SQL Injection
XSS
Command Injection
CSRF
Какой набор инструментов чаще всего используется при веб‑пентестинге?
Nessus, Wireshark, Putty
Burp Suite, SQLMap, Nmap
curl, PowerShell, Git
Zabbix, Grafana, Prometheus
Какая из следующих практик не поможет предотвратить CSRF?
Метки анти‑CSRF (tokens)
Проверка Origin/Referer
Использование HTTPS
Синхронизация cookie и заголовков
Что такое SQL Injection?
Автоматическое оптимизирование запросов СУБД
Внедрение вредоносного SQL‑кода через непроверенный пользовательский ввод
Сжатие результатов запросов перед отправкой
Безопасная параметризация запросов
Что является основной причиной уязвимостей SQL Injection?
Использование подготовленных выражений
Конкатенация пользовательского ввода в SQL‑запрос без экранирования
Отключение индексов в базе
Слишком строгие права доступа к таблицам
Какой тип SQLi показывает подробную ошибку, помогающую атакующему?
Blind‑Based SQL Injection
Time‑Based SQL Injection
Error‑Based SQL Injection
Union‑Based SQL Injection
Что является примером Error‑Based SQL Injection?
Использование параметризованных запросов
Использование extractvalue() или updatexml() в MySQL для вызова ошибки
Использование LIMIT для постраничной выборки
Хеширование паролей перед вставкой
Blind‑Based SQLi обычно характеризуется:
Отсутствием прямого вывода данных
Мгновенным отображением подробной ошибки
Требованием наличия UNION SELECT
Необходимостью включённого TRACE в веб‑сервере
Какой подтип Blind SQL Injection основан на задержках?
Time-Based Blind SQLi
Boolean-Based Blind SQLi
Union-Based SQLi
Error-Based SQLi
Что такое CSRF-атака?
Эксплуатация ошибки сериализации
Атака, подменяющая DNS-запросы
Перехват трафика по ARP
Анализ SQL-запросов
Атака, в которой злоумышленник заставляет браузер жертвы выполнить нежелательный запрос
Основная цель XSS-атаки:
Внедрение и выполнение произвольного JavaScript-кода в браузере
Фильтрация IP-трафика
Модификация заголовков TCP
Взлом MAC-адресов
Перехват ARP-трафика
Какой тип SQL-инъекции показывает ошибки SQL-сервера?
Time-based SQLi
Boolean-based SQLi
Union-based SQLi
Error-based SQLi
Blind-based SQLi
Что такое Reverse Shell?
Локальный запуск команд
Инструмент фильтрации пакетов
Перехват ARP-пакетов
Подключение от атакуемой машины к атакующей системе
Утилита для логирования клавиш
Суть Race Condition уязвимости:
Неверная проверка входных данных
Два процесса обращаются к ресурсу одновременно
Утечка содержимого cookies
Неправильная настройка firewall
Что делает ARP Poison?
Сканирует порты
Перехватывает HTTP cookies
Проводит XSS-атаку
Подменяет MAC-адрес в таблицах ARP
Впрыскивает SQL-код
Основная цель SQLMap:
Перехват сетевых пакетов
Автоматизация SQL-инъекций
Создание ARP reply
Анализ XSS-скриптов
Брутфорс SSH
В чем опасность Stored XSS?
Код выполняется только на сервере
Код не выполняется без Cookies
Код сохраняется в базе и выполняется у всех пользователей
Код выполняется один раз у жертвы
Код искажается фильтрами
Что делает кейлоггер?
Записывает нажатия клавиш пользователя
Шифрует сетевой трафик
Создает резервные копии файлов
Блокирует выполнение JavaScript
Что делает backdoor?
Позволяет получить скрытый доступ к системе
Отображает заголовки ответов
Фильтрует ICMP-пакеты
Очищает ARP-таблицы
Проверяет права доступа
Что обозначает бит Set-UID у исполняемого файла в UNIX/Linux?
При запуске программа получает эффективный UID владельца файла
Файл нельзя выполнить пользователем
Файл копируется в каталог /usr/bin при запуске
Устанавливает приоритет процесса на максимум
Что такое EUID (effective UID) процесса?
Идентификатор, по которому система определяет привилегии процесса
Идентификатор группы процесса
Идентификатор пользователя, который вошел в систему последним
Хэш пароля пользователя
Что следует сделать перед понижением привилегий, чтобы избежать утечки возможностей?
Закрыть ненужные файловые дескрипторы
Открыть больше сетевых сокетов
Запустить сборщик мусора
Включить детальное журналирование
Изменить переменную PATH
Как новый процесс получает переменные окружения?
Наследует их от родителя при fork() и execve()
Читает их из /etc/hosts
Генерирует случайным образом при старте
Запрашивает у DNS-сервера
Загружает из файла .bash_history
Какой аргумент функции main в C содержит указатель на массив переменных окружения?
argc
argv
envp
errno
stdio
Какая разница между shell variables и environment variables?
Environment variables наследуются дочерними процессами, shell variables — нет
Shell variables наследуются дочерними процессами, environment variables — нет
Ни одна из них не наследуется дочерними процессами
Обе всегда наследуются
Обе определяются только в /etc/environment
Где можно увидеть переменные окружения процесса в Linux?
/proc/
/var/log/syslog
/etc/passwd
/home/
/proc/
Какая команда веб‑клиента используется, чтобы подставить произвольный User‑Agent?
curl -A "..."
wget --http-user
telnet -u
nc -U
httpie --auth
Какие запросы используются в Boolean‑Based Blind SQLi?
Условные запросы, вызывающие разный контент (True/False)
Полнотекстовые запросы
Запросы JOIN для агрегации
Геопространственные запросы
Вызовы хранимых процедур
Что означает «SQLi to System Access»?
Получение доступа к ОС сервера через SQL‑инъекцию
Только чтение содержимого таблиц
Сброс пароля пользователя базы данных
Выполнение кросс‑доменных запросов
Перенаправление HTTP‑трафика
Какой параметр SQLMap выводит список всех доступных баз данных?
--dbs
--tables
--columns
--schema
--dump
Какой параметр SQLMap используется для извлечения таблиц в конкретной БД?
-D <имя_БД> --tables
--dbs
-T <таблица> --dump
--os-shell
--users
Какой параметр SQLMap позволяет получить shell через SQLi?
--os-shell
--dump
--dbs
--risk
--level
Что делает команда SQLMap "--dump"?
Выгружает данные из выбранных таблиц
Создает резервную копию всей базы данных
Удаляет строки из таблицы
Загружает CSV‑файл в таблицу
Проверяет подключение к серверу
Какое действие является хорошей защитой от SQL Injection?
Использование параметризованных запросов (prepared statements)
Отключение журналирования БД
Увеличение сетевого таймаута
Сжатие HTTP‑ответа сервера
Перенос БД на другой порт
Какой основной признак атаки Man‑in‑the‑Middle на локальной сети?
ARP‑таблица содержит неверный MAC‑адрес для шлюза
Увеличение MTU на интерфейсе
Появление новых доменных зон в DNS
Рост утилизации CPU на сервере
Изменение цветовой темы браузера
Как браузер непреднамеренно выполняет CSRF‑запрос?
Через SQL‑инъекцию
Используя ранее сохраненные Cookies
Благодаря политике CSP
Через ARP‑таблицу
Из‑за ошибок DNS
Какой метод XSS не зависит от взаимодействия пользователя?
DOM‑based XSS
Stored XSS
Local XSS
Session XSS
Reflected XSS
Как определить Blind SQLi?
Сервер перенаправляет на новую страницу
Сервер возвращает явные SQL‑ошибки
Сервер закрывает соединение при каждом запросе
Ответ сервера не содержит ошибок, но изменяет поведение при разных условиях
Сервер отказывает в выполнении любого запроса
Что делает ARP Poisoning в рамках MITM?
Изменяет доменное имя сайта
Устанавливает TCP‑сессию между клиентом и сервером
Проводит XSS‑атаку на страницу
Связывает IP жертвы с MAC атакующего
Создает SQL‑туннель к базе данных
Как получить MAC-адрес жертвы для ARP Poison? Выберите все корректные способы.
Использовать утилиту arping
Выполнить команду arp -a на хосте
Просканировать сеть с помощью nmap
Изменить MAC-адрес своей сетевой карты вручную
Time-based Blind SQLi определяется по чему?
Изменению заголовков HTTP
Задержке ответа сервера при выполнении определённых условий
Перегенерации cookies
Отсутствию HTML в ответе
Появлению ошибок в логах
Какие cookies уязвимы при атаке типа Man-in-the-Middle (MITM)?
Cookies с SameSite=Strict
Cookies с HttpOnly
Шифрованные cookies
Cookies с Secure
Сессионные cookies без HTTPS
Для каких целей используется обратная оболочка (reverse shell)?
Для фильтрации сетевого трафика
Для защиты от XSS
Для удалённого выполнения команд атакующим на целевой системе
Для сниффинга ARP-пакетов
Для брутфорса паролей
Что делает кейлоггер уровня kernel?
Выполняет XSS-фильтрацию
Анализирует SQL-запросы
Подменяет DNS-записи
Шифрует трафик
Перехватывает нажатия клавиш до уровня пользователя
Что делает упаковщик (packer) вредоносного ПО?
Генерирует домены для командных серверов
Фильтрует SQL-запросы
Ускоряет выполнение программ
Скрывает сигнатуры, изменяя структуру файла
Меняет MAC-адрес узла
В чём отличие execve() от execvp() с точки зрения безопасности в контексте setuid?
execve() ищет команду через PATH, а execvp() требует явного пути
execve() требует явного пути и окружения, тогда как execvp() ищет команду через PATH
Оба всегда игнорируют переменную PATH
execvp() безопаснее, потому что не использует окружение
Что означает фраза «don’t mix code and data» в контексте вызова внешних команд?
Хранить исполняемые файлы отдельно от библиотек
Не формировать командную строку из пользовательских данных, передаваемую shell, чтобы они не исполнялись как код
Всегда использовать статическую линковку
Запускать команды только из каталога /bin
Почему использование system() в setuid-программах опасно?
system() выполняет команду напрямую без shell
system() вызывает shell, что открывает путь к подмене команд и окружения
system() всегда проверяет переменные окружения
system() автоматически понижает привилегии
Что содержит переменная окружения LD_PRELOAD?
Пути к исполняемым файлам
Список общих библиотек, загружаемых перед остальными
Соль для хэширования паролей
Текущие сетевые интерфейсы
Какова роль переменной окружения при экспорте функции в bash?
Экспорт функции удаляет её определение
Экспорт функции превращает её текстовое определение в строку NAME() { ... } в окружении, которую дочерний bash распознаёт
Экспорт функции запрещает её вызов в дочерних процессах
Экспорт функции заменяет её на алиас
Почему ASLR усложняет эксплуатацию стекового переполнения?
Запрещает использование любых указателей
Рандомизирует базовые адреса (стек, heap, библиотеки), делая предсказание адреса shellcode ненадёжным
Удаляет таблицы символов
Всегда включает DEP
Как работает защита stack canary (Stack-GuarD) для обнаружения переполнения?
Перемещает стек в защищённую область памяти
Вставляет специальное значение перед return address и проверяет его целостность после возврата; если изменено — аварийный выход
Запрещает рекурсивные вызовы
Шифрует содержимое стека
Какое небольшое изменение помогает убедиться, что system() вернётся в exit() вместо краха?
Отключить ASLR перед запуском
Поместить адрес exit() в слот fake-return (ebp+4), чтобы процесс корректно завершился
Заменить system() на printf()
Запустить программу в режиме пользователя без прав
В лабораторной задаче «CSRF Attack using GET Requests» что обычно нужно сделать, чтобы проэксплуатировать уязвимость?
Отправить POST-запрос из формы
Вставить вредоносный тег img или iframe, инициирующий GET-запрос на целевой сайт
Изменить DNS-запись домена жертвы
Запустить SSH-туннель
Почему некоторые операции на сервере не рекомендуется делать через GET?
GET более медленный, чем POST
GET не должен изменять состояние сервера и легко эксплуатируется в CSRF
GET всегда требует аутентификации
GET не поддерживает кэширование
В чём смысл задания «Experimenting with the SameSite Cookie Method»?
Изучить работу DNSSEC
Понять, как SameSite блокирует отправку cookies в кросс-сайтовых запросах, предотвращая CSRF
Настроить балансировку нагрузки
Реализовать собственный протокол шифрования
Какой заголовок наиболее полезен для конфигурации CORS, если цель — предотвратить нежелательные кросс-доменные запросы?
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin с указанием конкретных доверенных доменов (не *)
Content-Security-Policy: default-src *
X-Frame-Options: SAMEORIGIN
Что характеризует «безопасный» (safe) HTTP-метод согласно спецификациям?
Должен изменять состояние сервера
Не должен изменять состояние сервера (например, GET, HEAD, OPTIONS)
Всегда требует тело запроса
Запрещён для кэширования
Как злоумышленник может обойти фильтр тега
