1 Ответ
Задание 1. B2B SaaS
Давным-давно в далёкой-далёкой галактике менеджеры всего мира пытались найти метрику, позволяющую оценить объём работы программистов. Кто-то считал строчки кода, кто-то — количество коммитов, кто-то — количество токенов. Но недавно они нашли вариант лучше: B2B SaaS-проекты. И наш герой как раз попал на повторное техническое интервью в жёлтой компании. Ему поставили непосильную задачу: собрать 50000 B2B SaaS-проектов! Помогите ему в этом, иначе он будет уволен. Формат ответа: vsosh{text}.
Ответ: vsosh{v1b3_c0d3d_my_w4y_0ut}
Задание 2. Мемы динозавров
Доктора наук института мемологии проводят исследования в области истории мемов, и они наткнулись на очень древний артефакт. Стряхнув пыль с главной страницы, они увидели то, что было забыто этим миром, — демотиваторы! Проанализировав сигнатуры сайта, было выявлено, что на его сервере в корне диска скрывается файл secret с ключом ко всем демотиваторам, но навыков учёных мемологии не хватило, чтобы найти его. Помогите им в этом. Формат ответа: vsosh{text}.
Ответ: vsosh{Y0u_f0un7_m3}
Задание 3. Шифр наоборот
1 ALPHABET = (2 «abcdefghijklmnopqrstuvwxyz» 3 «ABCDEFGHIJKLMNOPQRSTUVWXYZ» 4 «0123456789{}_» 5 ) 6 7 def encrypt(text): 8 result = «» 9 for i, char in enumerate(text): 10 pos = ALPHABET.index(char) 11 12 new_pos = (pos + 3 + i) % len(ALPHABET) 13 14 result += ALPHABET[new_pos] 15 return result 16 17 flag = «?????????????????????» 18 print(encrypt(flag)) 19
В результате программа вывела:
ywtyofAoGqEGtptAIBzNv
Найдите исходное сообщение, представляющее осмысленную фразу. Формат ответа: vsosh{text}.
Ответ: vsosh{reverse_cipher}
Задание 4. Удалённый кадр
Известно, что владелец флешки удалил некоторые данные перед её изъятием. Кроме того, следователь сообщил следующую информацию: «Интересующий расследование снимок был сделан 18 августа 2026 года примерно в 17:40». Помогите следователю найти скрытую информацию. Формат ответа: vsosh{text}.
Ответ: vsosh{deleted_files_are_not_gone}
Задание 5. Сканирование сервера
Администратор школьной сети заметил подозрительную активность: один из компьютеров начал обращаться к другому компьютеру на большое количество разных TCP-портов. Администратор сохранил фрагмент сетевого трафика в файл 2_9_05_traffic.pcap. Проанализируйте трафик и определите:
какой компьютер выполнял сканирование;
какие TCP-порты доступны на целевом компьютере;
какой из обнаруженных сервисов может использоваться для удалённого управления компьютером.
Для анализа рекомендуется использовать программу Wireshark.
Порт Сервис
21 FTP
22 SSH
23 Telnet
25 SMTP
53 DNS
80 HTTP
110 POP3
443 HTTPS
445 SMB
3389 RDP
Какой IP-адрес принадлежит компьютеру, с которого выполнялось сканирование?
Какие TCP-порты, судя по полученным ответам, были доступны на целевом компьютере?
21
22
23
25
53
80
110
443
445
3389
Какой из обнаруженных сервисов обычно используется для удалённого управления компьютером с помощью графического интерфейса?
Ответ: 1. IP-адрес компьютера, с которого выполнялось сканирование: 192.168.20.50 2. Доступные TCP-порты: 21, 80, 443, 3389. 3. Сервис удалённого управления с графическим интерфейсом: RDP.
Задание 6. Чем опасен этот код?
Разработчики учебного веб-приложения оставили несколько фрагментов кода, которые могут быть небезопасными. Специалист по информационной безопасности обнаружил, что злоумышленник может передавать приложению собственные данные. В зависимости от того, как программа использует эти данные, последствия могут быть разными. Установите соответствие между фрагментами кода и последствиями, которые могут произойти из-за ошибок в них. Каждый фрагмент соединяется ровно с одним последствием, и каждое последствие используется ровно один раз.
Фрагмент 1: name = request.args.get(«name») return «<h1>Здравствуйте, » + name + «</h1>»
Фрагмент 2: user_id = request.args.get(«id») query = «SELECT * FROM users WHERE id = » + user_id db.execute(query)
Фрагмент 3: host = request.args.get(«host») os.system(«ping -c 1 » + host)
Фрагмент 4: filename = request.args.get(«file») path = «/home/site/files/» + filename with open(path, «r») as file: return file.read()
Фрагмент 5: expression = request.args.get(«expression») result = eval(expression)
Последствия:
Злоумышленник может изменить структуру запроса к базе данных и получить или изменить данные, доступ к которым ему не предоставлялся (SQL Injection)
Злоумышленник может заставить приложение выполнить команды операционной системы, которые разработчик не предусмотрел (OS Command Injection)
Злоумышленник может заставить программу выполнить произвольные инструкции на языке Python (Python Code Injection)
Злоумышленник может получить содержимое файлов, находящихся за пределами разрешённой папки (Path Traversal)
Злоумышленник может заставить браузер посетителя выполнить JavaScript, который был передан через веб-сайт (Cross-Site Scripting)
Ответ: Соответствия в порядке фрагментов кода сверху вниз: 1. Подстановка name в HTML: Cross-Site Scripting (XSS) — выполнение JavaScript в браузере посетителя. 2. Подстановка user_id в SQL-запрос: SQL Injection — изменение структуры запроса к базе данных. 3. os.system(«ping -c 1 » + host): OS Command Injection — выполнение непредусмотренных команд операционной системы. 4. Подстановка filename в путь и чтение файла: Path Traversal — чтение файлов за пределами разрешённой папки. 5. eval(expression): Python Code Injection — выполнение произвольных инструкций Python. Номера соответствующих вариантов справа, если считать сверху вниз: 5, 1, 2, 4, 3.
