Теперь запакуем строку.
В этом случае следует передавать тип данных bytes.
>>> struct.pack('=s', b'a')
b'a'
Для записи слова следует указывать количество символов.
>>> struct.pack('=5s', b'hello')
b'hello'
Кстати, запакованный вид соответствует исходному тексту. Всё верно, символ есть в таблице ASCII, то есть его код попадает в диапазон 0-127, он может быть записан одним байтом и имеет визуальное представление. А вот что будет если добавить символ вне ASCII
>>> struct.pack(f'=s', b'ё')
SyntaxError: bytes can only contain ASCII literal characters.
Ошибка возникла еще на этапе создания объекта bytes, который не может содержать такой символ. Поэтому надо кодировать эти байты из строки.
>>> enc = 'ёжик'.encode('utf-8')
>>> struct.pack(f'={len(enc)}s', enc)
b'\xd1\x91\xd0\xb6\xd0\xb8\xd0\xba'
Заметьте, длина такой строки в байтах отличается от исходной длины, так как символы вне ASCII записываются двумя байтами и более. Поэтому здесь формат создаём на лету, используя получившуюся длину как каунтер токена.
#libs#basic
Настольная книга.
Если вы давно мечтали увидеть все инструменты в одном месте, а не сохранять кучу разрозненных ссылок "на потом", то мы нашли буквально настольную книгу для исследователей безопасности.
Наполнение:
- Исследование сетей;
- Управление уязвимостями;
- Мониторинг безопасности;
- и многое другое, классное, интересное.
К каждому инструменту идёт краткое описание и минимально полезный набор команд.
Мы себе уже сохранили, рекомендуем поступить также.
#AppSec#DFIR
🧠Кибер ПТУ | 👨🏫Менторство ИБ
📂Другие каналы
• Нашел на GitHub преднамеренно уязвимое банковское веб-приложение, которое содержит множество дыр в безопасности. Такие проекты помогают получить бесценныйопыт ИБ специалистам, пентестерам, DevSecOps и программистам, в части поиска уязвимостей и безопасной разработки. На текущий момент веб-приложение содержит более 40 уязвимостей (на скриншоте выше), которые вам придется найти. Если не справляетесь или недостаточно опыта, то у автора есть подробный гайд по прохождению:
➡️GitHub;
➡️Руководство [VPN].
• Кстати, там еще есть уязвимое мобильное приложение. На сколько оно дырявое не указано, да и подробного гайда нет, но если вам интересно, то забирайте по этой ссылке.
#AppSec#ИБ#Web#Пентест
У Checkmarx вышел отчёт "The Future of APPLICATION SECURITY 2024" содержащий чудесный ТОП3 отмазок "почему уязвимый код ушёл в прод?" (от AppSec менеджеров, CISO и разработчиков).
AppSec менеджеры
1. Чтобы уложиться в дедлайны, связанные с бизнесом, выкаткой фич или безопасностью.
2. Уязвимость должна была быть исправлена в более позднем релизе.
3. Уязвимость не была критической.
CISO
1. Надеялись, что уязвимость не будет эксплуатабельной.🤞
2. Чтобы уложиться в дедлайны, связанные с бизнесом, выкаткой фич или безопасностью.
3. Уязвимость не была эксплуатабельной.
Разработчики
1. Уязвимость должна была быть исправлена в более позднем релизе.
2. Уязвимость не была критической.
3. Чтобы уложиться в дедлайны, связанные с бизнесом, выкаткой фич или безопасностью.
Варианты AppSec менеджеров и Разработчиков различаются только порядком. А вот CISO больше про реальную эксплуатабельность (чтобы это не привело к большому скандалу) и надежду на лучшее. 😏😅
@avleonovrus#Checkmarx#AppSec#fun