В фреймворке PyQt (и PySide тоже) часто встречается настройка чего-либо с помощью так называемых флагов.
widget.setWindowFlags(Qt.Window)
Взаимодействие нескольких флагов делается с помощью бинарных (или побитовых) операторов.
Несколько флагов можно указать с помощью оператора "|"
list_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
исключить флаг из уже имеющегося набора можно так
list_item.setFlags(list_item.flags() ^ Qt.ItemIsEnabled)
Добавить новый флаг к имеющимся можно так
list_item.setFlags(list_item.flags() | Qt.ItemIsEnabled)
А проверка наличия делается так
is_enabled = item.flags() & Qt.ItemIsEnabled > 0
Почему именно так? Всё дело в том как именно работают побитовые операторы. Но об этом в следующем посте.
#qt
Настольная книга.
Если вы давно мечтали увидеть все инструменты в одном месте, а не сохранять кучу разрозненных ссылок "на потом", то мы нашли буквально настольную книгу для исследователей безопасности.
Наполнение:
- Исследование сетей;
- Управление уязвимостями;
- Мониторинг безопасности;
- и многое другое, классное, интересное.
К каждому инструменту идёт краткое описание и минимально полезный набор команд.
Мы себе уже сохранили, рекомендуем поступить также.
#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