wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Тестовые вопросы по безопасности веб-приложений и систем

Total questions: 135

Worksheet time: 1hrs 8mins

Name
Class
Date
1.

Какая техника XSS позволяет модифицировать структуру DOM?

a)

Header Injection

b)

Reflected XSS

c)

DOM-based XSS

d)

Mixed Injection

e)

Stored HTML Injection

2.

Чем отличается Union-based SQLi?

a)

Требует reverse shell

b)

Работает через ARP

c)

Использует оператор объединения для извлечения данных

d)

Основана на ошибках в шаблонах HTML

e)

Изменяет структуру DOM

3.

Как скрыть вредоносный payload от антивирусов?

a)

Уменьшить TTL пакетов

b)

Установить атрибут SameSite для cookies

c)

Увеличить сетевой ping

d)

Применить Content Security Policy (CSP)

e)

Использовать packers и обфускацию

4.

Почему MITM может перехватывать логины?

a)

Cookies закодированы

b)

SQL‑сервер открыт для всех

c)

XSS не активен на сайте

d)

CSRF‑токены неверные

e)

Передаются в нешифрованных HTTP‑запросах

5.

Что делает backdoor, встроенный в веб‑сервер?

a)

Шифрует HTML‑страницы

b)

Устанавливает атрибут SameSite

c)

Подменяет SQL‑схему базы данных

d)

Выполняет команды через HTTP‑запросы

e)

Изменяет ARP‑таблицы

6.

Представьте, что setuid‑программа использует execlp() для запуска /bin/ls без полного пути. Какой вектор атаки наиболее вероятен?

a)

Подмена программы ls в одном из путей переменной PATH, чтобы execlp() запустил злонамеренный бинарник

b)

Создание символической ссылки на /bin/ls в текущем каталоге

c)

Изменение umask перед вызовом execlp()

d)

Инъекция через LD_PRELOAD для подмены функций ls

7.

Почему переменные окружения считаются частью поверхности атаки?

a)

Они формируются только ядром и не меняются пользователем

b)

Они полностью контролируются пользователем и могут менять поведение программы

c)

Они используются только для логирования событий

d)

Они доступны лишь администраторам и потому безопасны

8.

Почему сервисный подход более безопасен, чем Set‑UID программы?

a)

Сервисы запускаются в браузере пользователя

b)

Сервисы работают с root‑привилегиями централизованно и не зависят от переменных окружения пользователя

c)

Set‑UID программы автоматически обновляются чаще

d)

Сервисы запрещают сетевые соединения по умолчанию

9.

Какое поведение ОС/библиотеки делает exploit через LD_PRELOAD/LD_LIBRARY_PATH менее вероятным в setuid‑контекстах, но не решает проблему Shellshock?

a)

Запрет загрузки динамических библиотек для всех процессов

b)

Динамический линкер игнорирует некоторые переменные LD_* в режиме secure execution (setuid)

c)

Принудительное отключение bash в системных сервисах

d)

Автоматическая очистка переменной PATH при каждом запуске

10.

Почему проверка заголовка Referer/Origin может помочь в защите от CSRF?

a)

Она шифрует тело запроса

b)

Она блокирует повторные отправки формы

c)

Она гарантирует, что запрос пришёл с доверенного домена

d)

Она удаляет cookies перед отправкой

11.

Что из перечисленного является слабостью метода проверки Referer как единственной защиты от CSRF?

a)

Заголовок всегда присутствует и надёжен

b)

Заголовок может отсутствовать из‑за настроек приватности, браузера или прокси

c)

Заголовок автоматически подписывается HMAC

d)

Заголовок недоступен серверу

12.

Какие два условия необходимы для эксплуатации Shellshock?

a)

Процесс должен запускать bash

b)

Данные поступают через переменные окружения и не проверяются

c)

Наличие XSS на сайте

d)

Использование только статически связанного бинарника

13.

Что такое стек процесса?

a)

Область памяти для хранения файловой системы

b)

Область памяти, где хранятся локальные переменные, адрес возврата и сохранённые регистрационные значения

c)

Очередь задач в планировщике ядра

d)

Раздел для хранения сетевых пакетов

14.

Что может произойти при перезаписи адреса возврата на стеке?

a)

Завершение процесса по SIGTERM

b)

Передача управления на произвольный адрес

c)

Очистка кеша процессора

d)

Автоматическое восстановление стека ядром

15.

Какой эффект даёт компиляция с «-z execstack» в учебной среде?

a)

Делает стек только для чтения

b)

Делает стек исполняемым и позволяет выполнять shellcode

c)

Запрещает вызовы системных функций

d)

Включает ASLR для стека

16.

Какое поведение предотвращает защита «non‑executable stack (NX)»?

a)

Чтение данных из области стека

b)

Запись локальных переменных на стек

c)

Выполнение кода, расположенного на стеке

d)

Обращение к куче (heap) из стека

17.

Какая команда GNU Debugger используется для получения адреса функции system()?

a)

x/4x system

b)

p system

c)

info functions system

d)

bt system

18.

Как называется техника, которая связывает множество коротких фрагментов кода (gadgets)?

a)

Code Reuse Attack (CRA)

b)

Return‑Oriented Programming (ROP)

c)

Heap Spraying

d)

Integer Overflow Chaining

19.

Что является основной целью пентестинга веб‑приложений?

a)

Повышение производительности сервера

b)

Выявление уязвимостей и оценка рисков

c)

Разработка новых функций сайта

d)

Оптимизация SEO

20.

Какой инструмент чаще всего используется для тестирования безопасности HTTP‑запросов?

a)

Wireshark

b)

Burp Suite

c)

Nmap

d)

Metasploit Console

21.

Что входит в первый этап веб‑пентеста?

a)

Эксплуатация уязвимостей

b)

Сбор информации (reconnaissance)

c)

Отчётность и рекомендации

d)

Установка веб‑серверов

22.

Какой протокол является основной целью при проверке безопасности сайтов?

a)

FTP

b)

SMTP

c)

HTTP

d)

SSH

23.

Что такое Remote Code Execution (RCE)?

a)

Удаление файлов на локальной машине

b)

Выполнение произвольного кода на удалённой системе

c)

Перехват сетевого трафика

d)

Эскалация привилегий без доступа к коду

24.

В каком языке чаще всего встречаются RCE‑уязвимости из‑за динамической интерпретации?

a)

C

b)

Java

c)

PHP

d)

Go

25.

Какое действие помогает снизить риск RCE?

a)

Разрешение любых вложений в запросах

b)

Строгая валидация, фильтрация и санитизация пользовательского ввода

c)

Отключение журналирования на сервере

d)

Использование только HTTP без шифрования

26.

Что описывает обратное TCP‑соединение (Reverse TCP)?

a)

Соединение, инициированное атакующим к жертве

b)

Соединение, инициированное жертвой к атакующему

c)

Соединение между двумя произвольными узлами без инициатора

d)

Многоадресную рассылку пакетов без установления сессии

27.

Какой инструмент используется для создания и управления обратными TCP‑сеансами?

a)

Wireshark

b)

Netcat

c)

OpenSSL

d)

Metasploit Framework Console без вспомогательных утилит

28.

Что происходит после успешного установления обратного TCP‑сеанса?

a)

Жертва получает доступ к панели администратора атакующего

b)

Злоумышленник получает командную оболочку на целевой системе

c)

Система автоматически перезагружается

d)

Создаётся только туннель для передачи файлов без команд

29.

Что представляет собой уязвимость загрузки файлов?

a)

Возможность хранить резервные копии на сервере

b)

Возможность загрузить и выполнить вредоносный файл на сервере

c)

Возможность ограничить размер загружаемых изображений

d)

Возможность принудительно использовать CDN

30.

Какой файл чаще используется злоумышленником для эксплуатации уязвимости File Upload?

a)

Конфигурационный YAML

b)

Веб‑шелл (например, shell.php)

c)

Статический SVG без скриптов

d)

Текстовый README

31.

Какой метод эффективнее предотвращает уязвимость загрузки файлов?

a)

Чёрный список расширений без проверки содержимого

b)

Белый список допустимых расширений + проверка содержимого + хранение вне веб‑директории

c)

Отключение всех форм на сайте

d)

Принудительное кеширование на уровне браузера

32.

Что характеризует LFI (Local File Inclusion)?

a)

Включение и чтение локальных файлов сервера

b)

Включение файлов только с удалённых хостов

c)

Шифрование локальных каталогов

d)

Только удалённое выполнение команд

33.

Что характеризует RFI (Remote File Inclusion)?

a)

Включение и чтение локальных файлов сервера

b)

Включение и выполнение удалённых файлов с чужого сервера

c)

Только загрузку изображений с CDN

d)

Только передачу файлов по SCP

34.

Какова основная цель итогового отчёта пентеста?

a)

Скрыть найденные уязвимости от заказчика

b)

Документировать уязвимости, оценить риски и дать рекомендации по устранению

c)

Опубликовать результаты в общедоступном блоге

d)

Сфокусироваться только на технических метриках без рекомендаций

35.

Какой шаг рекомендуется после завершения пентеста?

a)

Сразу переходить к новому проекту без обратной связи

b)

Повторное тестирование (Re‑testing)

c)

Отключить систему мониторинга

d)

Удалить все логи из инфраструктуры

36.

Какая команда Netcat используется для запуска обратной оболочки в Windows?

a)

nc.exe -lvp <порт>

b)

nc.exe -e cmd.exe <порт>

c)

nc -vz <порт>

d)

nc.exe -k

37.

Какой тип уязвимости чаще всего позволяет добиться RCE при неверной обработке пользовательских данных?

a)

SQL Injection

b)

XSS

c)

Command Injection

d)

CSRF

38.

Какой набор инструментов чаще всего используется при веб‑пентестинге?

a)

Nessus, Wireshark, Putty

b)

Burp Suite, SQLMap, Nmap

c)

curl, PowerShell, Git

d)

Zabbix, Grafana, Prometheus

39.

Какая из следующих практик не поможет предотвратить CSRF?

a)

Метки анти‑CSRF (tokens)

b)

Проверка Origin/Referer

c)

Использование HTTPS

d)

Синхронизация cookie и заголовков

40.

Что такое SQL Injection?

a)

Автоматическое оптимизирование запросов СУБД

b)

Внедрение вредоносного SQL‑кода через непроверенный пользовательский ввод

c)

Сжатие результатов запросов перед отправкой

d)

Безопасная параметризация запросов

41.

Что является основной причиной уязвимостей SQL Injection?

a)

Использование подготовленных выражений

b)

Конкатенация пользовательского ввода в SQL‑запрос без экранирования

c)

Отключение индексов в базе

d)

Слишком строгие права доступа к таблицам

42.

Какой тип SQLi показывает подробную ошибку, помогающую атакующему?

a)

Blind‑Based SQL Injection

b)

Time‑Based SQL Injection

c)

Error‑Based SQL Injection

d)

Union‑Based SQL Injection

43.

Что является примером Error‑Based SQL Injection?

a)

Использование параметризованных запросов

b)

Использование extractvalue() или updatexml() в MySQL для вызова ошибки

c)

Использование LIMIT для постраничной выборки

d)

Хеширование паролей перед вставкой

44.

Blind‑Based SQLi обычно характеризуется:

a)

Отсутствием прямого вывода данных

b)

Мгновенным отображением подробной ошибки

c)

Требованием наличия UNION SELECT

d)

Необходимостью включённого TRACE в веб‑сервере

45.

Какой подтип Blind SQL Injection основан на задержках?

a)

Time-Based Blind SQLi

b)

Boolean-Based Blind SQLi

c)

Union-Based SQLi

d)

Error-Based SQLi

46.

Что такое CSRF-атака?

a)

Эксплуатация ошибки сериализации

b)

Атака, подменяющая DNS-запросы

c)

Перехват трафика по ARP

d)

Анализ SQL-запросов

e)

Атака, в которой злоумышленник заставляет браузер жертвы выполнить нежелательный запрос

47.

Основная цель XSS-атаки:

a)

Внедрение и выполнение произвольного JavaScript-кода в браузере

b)

Фильтрация IP-трафика

c)

Модификация заголовков TCP

d)

Взлом MAC-адресов

e)

Перехват ARP-трафика

48.

Какой тип SQL-инъекции показывает ошибки SQL-сервера?

a)

Time-based SQLi

b)

Boolean-based SQLi

c)

Union-based SQLi

d)

Error-based SQLi

e)

Blind-based SQLi

49.

Что такое Reverse Shell?

a)

Локальный запуск команд

b)

Инструмент фильтрации пакетов

c)

Перехват ARP-пакетов

d)

Подключение от атакуемой машины к атакующей системе

e)

Утилита для логирования клавиш

50.

Суть Race Condition уязвимости:

a)

Неверная проверка входных данных

b)

Два процесса обращаются к ресурсу одновременно

c)

Утечка содержимого cookies

d)

Неправильная настройка firewall

51.

Что делает ARP Poison?

a)

Сканирует порты

b)

Перехватывает HTTP cookies

c)

Проводит XSS-атаку

d)

Подменяет MAC-адрес в таблицах ARP

e)

Впрыскивает SQL-код

52.

Основная цель SQLMap:

a)

Перехват сетевых пакетов

b)

Автоматизация SQL-инъекций

c)

Создание ARP reply

d)

Анализ XSS-скриптов

e)

Брутфорс SSH

53.

В чем опасность Stored XSS?

a)

Код выполняется только на сервере

b)

Код не выполняется без Cookies

c)

Код сохраняется в базе и выполняется у всех пользователей

d)

Код выполняется один раз у жертвы

e)

Код искажается фильтрами

54.

Что делает кейлоггер?

a)

Записывает нажатия клавиш пользователя

b)

Шифрует сетевой трафик

c)

Создает резервные копии файлов

d)

Блокирует выполнение JavaScript

55.

Что делает backdoor?

a)

Позволяет получить скрытый доступ к системе

b)

Отображает заголовки ответов

c)

Фильтрует ICMP-пакеты

d)

Очищает ARP-таблицы

e)

Проверяет права доступа

56.

Что обозначает бит Set-UID у исполняемого файла в UNIX/Linux?

a)

При запуске программа получает эффективный UID владельца файла

b)

Файл нельзя выполнить пользователем

c)

Файл копируется в каталог /usr/bin при запуске

d)

Устанавливает приоритет процесса на максимум

57.

Что такое EUID (effective UID) процесса?

a)

Идентификатор, по которому система определяет привилегии процесса

b)

Идентификатор группы процесса

c)

Идентификатор пользователя, который вошел в систему последним

d)

Хэш пароля пользователя

58.

Что следует сделать перед понижением привилегий, чтобы избежать утечки возможностей?

a)

Закрыть ненужные файловые дескрипторы

b)

Открыть больше сетевых сокетов

c)

Запустить сборщик мусора

d)

Включить детальное журналирование

e)

Изменить переменную PATH

59.

Как новый процесс получает переменные окружения?

a)

Наследует их от родителя при fork() и execve()

b)

Читает их из /etc/hosts

c)

Генерирует случайным образом при старте

d)

Запрашивает у DNS-сервера

e)

Загружает из файла .bash_history

60.

Какой аргумент функции main в C содержит указатель на массив переменных окружения?

a)

argc

b)

argv

c)

envp

d)

errno

e)

stdio

61.

Какая разница между shell variables и environment variables?

a)

Environment variables наследуются дочерними процессами, shell variables — нет

b)

Shell variables наследуются дочерними процессами, environment variables — нет

c)

Ни одна из них не наследуется дочерними процессами

d)

Обе всегда наследуются

e)

Обе определяются только в /etc/environment

62.

Где можно увидеть переменные окружения процесса в Linux?

a)

/proc//environ

b)

/var/log/syslog

c)

/etc/passwd

d)

/home/

e)

/proc//cmdline

63.

Какая команда веб‑клиента используется, чтобы подставить произвольный User‑Agent?

a)

curl -A "..."

b)

wget --http-user

c)

telnet -u

d)

nc -U

e)

httpie --auth

64.

Какие запросы используются в Boolean‑Based Blind SQLi?

a)

Условные запросы, вызывающие разный контент (True/False)

b)

Полнотекстовые запросы

c)

Запросы JOIN для агрегации

d)

Геопространственные запросы

e)

Вызовы хранимых процедур

65.

Что означает «SQLi to System Access»?

a)

Получение доступа к ОС сервера через SQL‑инъекцию

b)

Только чтение содержимого таблиц

c)

Сброс пароля пользователя базы данных

d)

Выполнение кросс‑доменных запросов

e)

Перенаправление HTTP‑трафика

66.

Какой параметр SQLMap выводит список всех доступных баз данных?

a)

--dbs

b)

--tables

c)

--columns

d)

--schema

e)

--dump

67.

Какой параметр SQLMap используется для извлечения таблиц в конкретной БД?

a)

-D <имя_БД> --tables

b)

--dbs

c)

-T <таблица> --dump

d)

--os-shell

e)

--users

68.

Какой параметр SQLMap позволяет получить shell через SQLi?

a)

--os-shell

b)

--dump

c)

--dbs

d)

--risk

e)

--level

69.

Что делает команда SQLMap "--dump"?

a)

Выгружает данные из выбранных таблиц

b)

Создает резервную копию всей базы данных

c)

Удаляет строки из таблицы

d)

Загружает CSV‑файл в таблицу

e)

Проверяет подключение к серверу

70.

Какое действие является хорошей защитой от SQL Injection?

a)

Использование параметризованных запросов (prepared statements)

b)

Отключение журналирования БД

c)

Увеличение сетевого таймаута

d)

Сжатие HTTP‑ответа сервера

e)

Перенос БД на другой порт

71.

Какой основной признак атаки Man‑in‑the‑Middle на локальной сети?

a)

ARP‑таблица содержит неверный MAC‑адрес для шлюза

b)

Увеличение MTU на интерфейсе

c)

Появление новых доменных зон в DNS

d)

Рост утилизации CPU на сервере

e)

Изменение цветовой темы браузера

72.

Как браузер непреднамеренно выполняет CSRF‑запрос?

a)

Через SQL‑инъекцию

b)

Используя ранее сохраненные Cookies

c)

Благодаря политике CSP

d)

Через ARP‑таблицу

e)

Из‑за ошибок DNS

73.

Какой метод XSS не зависит от взаимодействия пользователя?

a)

DOM‑based XSS

b)

Stored XSS

c)

Local XSS

d)

Session XSS

e)

Reflected XSS

74.

Как определить Blind SQLi?

a)

Сервер перенаправляет на новую страницу

b)

Сервер возвращает явные SQL‑ошибки

c)

Сервер закрывает соединение при каждом запросе

d)

Ответ сервера не содержит ошибок, но изменяет поведение при разных условиях

e)

Сервер отказывает в выполнении любого запроса

75.

Что делает ARP Poisoning в рамках MITM?

a)

Изменяет доменное имя сайта

b)

Устанавливает TCP‑сессию между клиентом и сервером

c)

Проводит XSS‑атаку на страницу

d)

Связывает IP жертвы с MAC атакующего

e)

Создает SQL‑туннель к базе данных

76.

Как получить MAC-адрес жертвы для ARP Poison? Выберите все корректные способы.

a)

Использовать утилиту arping

b)

Выполнить команду arp -a на хосте

c)

Просканировать сеть с помощью nmap

d)

Изменить MAC-адрес своей сетевой карты вручную

77.

Time-based Blind SQLi определяется по чему?

a)

Изменению заголовков HTTP

b)

Задержке ответа сервера при выполнении определённых условий

c)

Перегенерации cookies

d)

Отсутствию HTML в ответе

e)

Появлению ошибок в логах

78.

Какие cookies уязвимы при атаке типа Man-in-the-Middle (MITM)?

a)

Cookies с SameSite=Strict

b)

Cookies с HttpOnly

c)

Шифрованные cookies

d)

Cookies с Secure

e)

Сессионные cookies без HTTPS

79.

Для каких целей используется обратная оболочка (reverse shell)?

a)

Для фильтрации сетевого трафика

b)

Для защиты от XSS

c)

Для удалённого выполнения команд атакующим на целевой системе

d)

Для сниффинга ARP-пакетов

e)

Для брутфорса паролей

80.

Что делает кейлоггер уровня kernel?

a)

Выполняет XSS-фильтрацию

b)

Анализирует SQL-запросы

c)

Подменяет DNS-записи

d)

Шифрует трафик

e)

Перехватывает нажатия клавиш до уровня пользователя

81.

Что делает упаковщик (packer) вредоносного ПО?

a)

Генерирует домены для командных серверов

b)

Фильтрует SQL-запросы

c)

Ускоряет выполнение программ

d)

Скрывает сигнатуры, изменяя структуру файла

e)

Меняет MAC-адрес узла

82.

В чём отличие execve() от execvp() с точки зрения безопасности в контексте setuid?

a)

execve() ищет команду через PATH, а execvp() требует явного пути

b)

execve() требует явного пути и окружения, тогда как execvp() ищет команду через PATH

c)

Оба всегда игнорируют переменную PATH

d)

execvp() безопаснее, потому что не использует окружение

83.

Что означает фраза «don’t mix code and data» в контексте вызова внешних команд?

a)

Хранить исполняемые файлы отдельно от библиотек

b)

Не формировать командную строку из пользовательских данных, передаваемую shell, чтобы они не исполнялись как код

c)

Всегда использовать статическую линковку

d)

Запускать команды только из каталога /bin

84.

Почему использование system() в setuid-программах опасно?

a)

system() выполняет команду напрямую без shell

b)

system() вызывает shell, что открывает путь к подмене команд и окружения

c)

system() всегда проверяет переменные окружения

d)

system() автоматически понижает привилегии

85.

Что содержит переменная окружения LD_PRELOAD?

a)

Пути к исполняемым файлам

b)

Список общих библиотек, загружаемых перед остальными

c)

Соль для хэширования паролей

d)

Текущие сетевые интерфейсы

86.

Какова роль переменной окружения при экспорте функции в bash?

a)

Экспорт функции удаляет её определение

b)

Экспорт функции превращает её текстовое определение в строку NAME() { ... } в окружении, которую дочерний bash распознаёт

c)

Экспорт функции запрещает её вызов в дочерних процессах

d)

Экспорт функции заменяет её на алиас

87.

Почему ASLR усложняет эксплуатацию стекового переполнения?

a)

Запрещает использование любых указателей

b)

Рандомизирует базовые адреса (стек, heap, библиотеки), делая предсказание адреса shellcode ненадёжным

c)

Удаляет таблицы символов

d)

Всегда включает DEP

88.

Как работает защита stack canary (Stack-GuarD) для обнаружения переполнения?

a)

Перемещает стек в защищённую область памяти

b)

Вставляет специальное значение перед return address и проверяет его целостность после возврата; если изменено — аварийный выход

c)

Запрещает рекурсивные вызовы

d)

Шифрует содержимое стека

89.

Какое небольшое изменение помогает убедиться, что system() вернётся в exit() вместо краха?

a)

Отключить ASLR перед запуском

b)

Поместить адрес exit() в слот fake-return (ebp+4), чтобы процесс корректно завершился

c)

Заменить system() на printf()

d)

Запустить программу в режиме пользователя без прав

90.

В лабораторной задаче «CSRF Attack using GET Requests» что обычно нужно сделать, чтобы проэксплуатировать уязвимость?

a)

Отправить POST-запрос из формы

b)

Вставить вредоносный тег img или iframe, инициирующий GET-запрос на целевой сайт

c)

Изменить DNS-запись домена жертвы

d)

Запустить SSH-туннель

91.

Почему некоторые операции на сервере не рекомендуется делать через GET?

a)

GET более медленный, чем POST

b)

GET не должен изменять состояние сервера и легко эксплуатируется в CSRF

c)

GET всегда требует аутентификации

d)

GET не поддерживает кэширование

92.

В чём смысл задания «Experimenting with the SameSite Cookie Method»?

a)

Изучить работу DNSSEC

b)

Понять, как SameSite блокирует отправку cookies в кросс-сайтовых запросах, предотвращая CSRF

c)

Настроить балансировку нагрузки

d)

Реализовать собственный протокол шифрования

93.

Какой заголовок наиболее полезен для конфигурации CORS, если цель — предотвратить нежелательные кросс-доменные запросы?

a)

Access-Control-Allow-Credentials: true

b)

Access-Control-Allow-Origin с указанием конкретных доверенных доменов (не *)

c)

Content-Security-Policy: default-src *

d)

X-Frame-Options: SAMEORIGIN

94.

Что характеризует «безопасный» (safe) HTTP-метод согласно спецификациям?

a)

Должен изменять состояние сервера

b)

Не должен изменять состояние сервера (например, GET, HEAD, OPTIONS)

c)

Всегда требует тело запроса

d)

Запрещён для кэширования

95.

Как злоумышленник может обойти фильтр тега