ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

Блог*

Блог*

Открыть в Telegram

Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here

Больше
1 987
Подписчики
+124 часа
-97 дней
+730 дней
Архив постов
photo content

Repost from Om TV
Ну в принципе, чему тут удивляться? Если во главе страны кретины, ментально застрявшие в средневековье, то всё идет по плану!
+1
Ну в принципе, чему тут удивляться? Если во главе страны кретины, ментально застрявшие в средневековье, то всё идет по плану!

Жиза Армении
Жиза Армении

#game Внезапно Disco Elysium вышла на Android.

Repost from N/a
Короче, мне только что позвонили мошенники. Ничего удивительного так-то, мне и Kaspersky WhoCalls подсказал, что звонит кто-то подозрительный (минутка рекламы), и тему сразу подняли известную уже (про замену полиса ОМС), но суть не в этом. Мне звонил парень. И он настолько заработался, что представился Анастасией. Когда я решил уточнить у Настеньки, а не ошиблась ли он(а), он(а) слегка смешалась и дальше диалог уже не склеился 🌚

#prog #itsec #python В конце мне не нравится, что автор поёт дифирамбы ИИ. Ну и ещё у него есть функция ascii_safe, которая написана просто ужасно:
def ascii_safe(x: int) -> bool:
    """True if all four bytes have high bit clear."""
    return all(((x >> (8 * i)) & 0x80) == 0 for i in range(4))
Это явно можно написать одновременно эффективнее и проще для восприятия:
def ascii_safe(x: int) -> bool
    return x & 0x80808080 == 0

Достижение выполнения кода при контроле над текстом комментария в Python-скрипте https://www.opennet.ru/opennews/art.shtml?nu
Достижение выполнения кода при контроле над текстом комментария в Python-скрипте https://www.opennet.ru/opennews/art.shtml?num=63669 Участники могли отправить сетевой запрос к Python-скрипту, который создавал новый Python-скрипт cо случайными именем, добавлял поступившие от пользователя данные в текст комментария, вырезав символы "\n" и "\r", и запускал этот скрипт командой "python3 имя.py". Контролируя только содержимое комментария, участник должен был извлечь строку из файла "/home/ctfuser/flag". Скрипт создавался следующим кодом:
   comment = input("> ").replace("\n", "").replace("\r", "")
   code = f"""print("hello world!")
   # This is a comment. Here's another:
   # {comment}
   print("Thanks for playing!")"""
Вместо "{comment}" подставлялись данные, поступившие от участника, и в итоге запускался следующий код:
   print("hello world!")
   # This is a comment. Here's another:
   # Данные, поступившие от участника соревнования
   print("Thanks for playing!")
Успешно справившийся с заданием участник не стал искать новые уязвимости в парсере, которые бы позволили разбить строку на части, а воспользовался особенностью выполнения в Python файлов по типу их содержимого. Например, вместо исходного кода в файл с расширением ".py" можно поместить прокэшированный байткод, сохраняемый в файлах с расширением ".pyc", и подобный файл будет выполнен. В рассматриваемом конкурсе участник мог контролировать только содержимое в середине файла, поэтому не мог добавить свой заголовок для искажения MIME-типа. Задачу удалось решить, воспользовавшись тем, что Python начиная с ветки 2.6 может исполнять содержимое ZIP-архивов для поставки Python-пакетов в сжатом виде. Как и в случае с кэшем байт-кода, наличие zip-архива определяется по содержимому, а не по расширению файла, т.е. в "файл.py" можно поместить zip-архив, и при запуске командой "python файл.py" он будет обработан как сжатый Python-пакет. При этом ZIP-архивы в Python индексируются не по заголовку в начале файла, а по секции EOCD (End of Central Directory Record) в конце файла. При наличии в архиве файла "__main__.py" этот файл запускается автоматически при прямом запуске архива командой "python архив". Больше подробностей в оригинале Executing arbitrary Python code from a comment https://www.hacktron.ai/blog/posts/python-zip-confusion/

Repost from Meme Trap
Дамы и господа, я halfgot
Дамы и господа, я halfgot

Интересный лайфхак. В MacOS при первом старте идет запуск экранов онбординга - языковые настройки, создание юзера и подключение в Apple ID. И только после этого можно попасть на рабочий стол. На ноутбуках это все протекает как само собой разумеющееся. А вот в Mac Mini хитрая система предполагает, что у юзера есть Magic Mouse и Magic Keyboard (в таком порядке). Ютуб и Реддит с 2020 года примерно усеян видео, как выходить из положения, если вы вместо этих эргономических уродств нормальные устройства хотите использовать (особенно не дружит с Apple почему-то Logitech). В итоге общими усилиями выяснили: надо в момент старта держать BT-мышь в режиме пейринга, и она (почти всегда) подцепится. А с клавиатурой, если она не подцепится на следующем шагу, надо так: выбрать внизу экрана иконку человечка - откроются настройки "доступа для инвалидов". "Опорно-двигательный" (Motor Disability) откроет экранную клавиатуру, и вуаля, дело в шляпе. В Apple к 2024 году эти инструкции прочли. Подумали. И что думаете, починили? В своем роде, да. Убрали "disability mode" В САМЫЙ КОНЕЦ настроек. Теперь экранную клавиатуру мышью не вызовешь, и двойным или тройным кликом по кнопке запуска - тоже. Нуачо, нефиг от апселла увиливать. Так вот, лайфхак. ПРОВОДНАЯ КЛАВИАТУРА. Только тут надо иметь в виду, что все проводные клавиатуры до сих пор USB-A (большие лопатки), а на Маках все порты стали USB-C. Поэтому для такой надобности надо сразу иметь или переходничок USB-A > USB-C, или USB-хаб со входом USB-С. Последнее намного практичнее - и не болтается, и нужен будет потом едва ли не каждый день - флешку или еще что-нибудь воткнуть. Да и в целом, иметь дома проводную клавиатуру до сих пор практично. На те редкие случаи, когда беспроводные интерфейсы мрут.

photo content

Repost from N/a
photo content

(📽 Камера дрожит, кусты шевелятся, кто-то осторожно пробирается вперёд) — Тсс... Смотрите, вон он. Прямо перед нами — редчайший экземпляр. Вайбкодер маниграбер, решивший... завайбкодить библиотеку для терминального UI на Rust. — Он не использует реактивность. Вообще. Никаких состояний, никаких подписок, ничего живого. Просто... текст. Выплюнутый один раз и навсегда. Как надпись на камне. *пример рисует кнопку "Click me" и завершает выполнение, не дождавшись действия от юзера* — Это всё. Он считает, что UI — это просто вывод текста. Кажется, для него “интерфейс” заканчивается после println!. *перелистывает LICENSE* — А вот и лицензия. Своя, уникальная. Если ты начнёшь зарабатывать деньги с проектом, использующим эту библиотеку... ты должен платить ему. Серьёзно. — Мы были здесь. Мы это видели. Никто не поверит. this post was generated with chatgpt due to it being fucking hilarious

А сегодня (вчера по местному часовому поясу) моему самому любимому папищеку исполнился 21 год!

Ах да, вторая половина тоже, ещё в июне

подарки в тг прилумали гениальные люди просто потому что возродили подарки из одноклассников,когда люди за реальные деньги покупали классы,а потом за них подарки и кидали друг другу в бутылочке и прочем бесполезном кале, НО ТЕПЕРЬ ДЛЯ ЗУМЕРОВ

Подпись придумал не я, а @Yuliosity

Кек, а они же в итоге для обобщённых параметров квадратные скобки использовали

photo content

photo content

Repost from Ahoy Senpai~
photo content