Технологический Болт Генона
9.54K subscribers
3.38K photos
438 videos
221 files
4.32K links
До Декарта никогда не существовало рационализма.

Музыкальный Болт Генона: @mus_b0lt_Genona
Мемный Болт Генона: @mem_b0lt_Genona
Кадровый Болт Генона: @kadr_b0lt_Genona
Генеалогический Болт Генона: @gen_b0lt_Genona
Обратная связь: @rusdacent
Download Telegram
Forwarded from The After Times
🤣47🔥20🤡13💯42👎2🤨1
Вот несколько проблем, с которыми я сталкиваюсь в современном C++:

- Более 95% сообщений об ошибках компилятора С++ выглядят гораздо хуже, чем сообщения об ошибках всех остальных языков. И я тут даже не преувеличиваю. Сообщения об ошибках в C++ хуже всех

- Инструменты для сборки проектов — это просто ужас. Я совершенно не понимаю — почему так тяжело пользоваться инструментами сборки C++-проектов, и почему люди, которые их создают, принимают наиглупейшие решения по поводу этих инструментов

- У производителей компиляторов нет стимула следовать стандартам. Я говорил о том, что в Clang имеется ошибка в std::source_location, и это — отличный пример тех проблем, с которыми мы все иногда сталкиваемся. Я твёрдо уверен в том, что комитету по стандартизации языка нужно начать публиковать список компиляторов, в которых не исправлены ошибки, подобные этой

- Язык чрезвычайно сложен из-за его истории. В С++ имеется масса устаревших конструкций, через которые приходится продираться для того чтобы найти что-то ценное. У меня возникает такое ощущение, что это похоже на то, как если бы C++ был бы тремя языками (или ещё большим их количеством), похожими на JavaScript

- Я люто ненавижу RAII. Я встречаюсь с множеством ситуаций, где RAII мешает решать настоящие задачи инициализации сущностей. Причём, мешает настолько, что эта «возможность» C++ становится больше похожей на какой-то сбой, а не на что-то реально полезное

С++ — это настоящий кайфǃ
https://habr.com/ru/companies/wunderfund/articles/874216/

Оригинал
C++ Is An Absolute Blast
https://learncodethehardway.com/blog/31-c-plus-plus-is-an-absolute-blast/
👍18🤡13🤨4👎2
Forwarded from k8s (in)security (r0binak)
Неприятная история случилась с Kong Ingress Controller в конце прошлого года – в прод попал образ, содержащий в себе майнер XMRig. Таймлайн происходящего был таков:

1) 28 августа 2024 года разработчики из Kong исправляют свои пайплайны меняя pull_request на pull_request_target
2) 25 ноября 2024 года они получают анонимный отчет от исследователя безопасности о том, что их репозиторий подвержен атаке Pwn request. После этого мейнтейнеры провели ротацию всех секретов в репозитории и вернули триггерное событие обратно на pull_request. Но только для главной ветки. Так что старые неиспользуемые ветки продолжили использовать pull_request_target, а значит были уязвимы.
3) Спустя почти два месяца, а именно 23 декабря 2024 года атакующие начали разведку – они получили доступ к секретам, в том числе к персональному токену доступа GitHub, проэксплуатировав уязвимость в одном из репозиториев.
4) Примерно через 22 часа – 24 декабря злоумышленники перешли на основной репозиторий с полученным на предудыщем шаге access token. Они запушили образ docker.io/kong/kubernetes-ingress-controller на Dockerhub с тегом 3.4.
5) 29 декабря 2024 года 4 пользователя отметили в issue на GitHub, что запуск Kong Ingress Controller приводит к аномально высокой нагрузке на ЦП.
6) 2 января 2025 мейнтейнеры подтвердили, что образ был скомпрометирован, а вунтри него содержался XMRig.

Более подробно о всей ситуации можно почитать в блоге KIC тут. Также было опубликовано YARA правило для обнаружения таких нагрузок.
🔥19👍4😁4😱2😐2👎1🤡1💋1😘1
Одним из самых тупых решений в IT было то, что начали считать номер мобильного телефона "уникальным идентификатором" (ещё и обязательным). Очень жалко, что свернули куда-то не туда. Из-за этого пользователи (а иногда и сами компании) получают кучу проблем, но я не представляю что должно произойти, что бы отказались от этой пагубной практики.

"Люблю" такое.

- Вхожу в ЛК ДОМ.РУ
- Выбор по номеру телефона или номеру договора
- Логинюсь по номеру договора
- Просит подтвердить телефон так как скоро будет доступен только вход по номеру телефона
- Подтверждаю
- Перелогинивается под номером телефона и вываливает список всех старых договоров которые к этому номеру привязаны
- Просит выбрать под каким договором залогиниться
- Логинюсь под номером договора
🤯🤯🤯🤯🤯🤯
PROFIT!

https://xn--r1a.website/patchcord/3183
👍40😭22😢4😡4🤷‍♂2💯2🗿2🙊1
👋 Знакомьтесь, это SIMba - устройство для управления сим-картой через Телеграм бота на ESP8266 и SIM800L:

https://github.com/spacebagel/SIMbaSIGMAbot/tree/main

Проблематика: большинство моих аккаунтов зарегистрированы не те на СИМ-карты, которыми я активно пользуюсь в смартфоне

Из этого вытекает следующее:
Блокировка неактивных номеров -> вскрытие аккаунтов через "Забыли пароль" новыми владельцами
Несвоевременное получение уведомлений о смене тарифа, попытках входа в УЗ и т.д.
Необходимость в периодическом открытии слота для СИМ-карт в смартфоне

Задачи проекта:
1. Обеспечение 24/7 подключения СИМ-карты к сети
2. Отправка сервисных сообщений о сбоях, пересылка СМС на указанный номер при потере сети
3. Пересылка сообщений с датой и отправителем, также номеров звонивших в ТГ-бота
4. Отправка СМС, совершение звонков-сбросов по параметрам через бота

Реализовано: получение и декодирование СМС, отправка в ТГ-бота
🔥39👍12🤡8💊2👎1🆒1
Исследования, которые мы заслужили

Знали ли вы что если загрузить один и тот же файл больше ста двух раз в разных браузерах (Edge/Chrome и Firefox), то именование будет отличаться? 🌝

- Chrome и Edge начнут добавлять временную метку (одинаковое поведение логично, ведь у них "ноги" растут от Chromium)

- Firefox продолжит увеличивать счётчик

Downloading the same file 102+ times
https://dzhavat.github.io/2025/01/08/downloading-the-same-file-102-times.html

Был найден конкретный коммит в Chromium, который объяснял такое поведение
After deduplicating 100 filenames, i.e. foo.jpg, foo (1).jpg, ... foo (100).jpg, Chrome will stop trying.

On Desktop this is acceptable, as the user gets a prompt to choose a filename.

On Android, this is really bad, because there is no prompt to choose an alternate filename, and the download just silently fails.

This CL starts using a timestamp after 100, and creates filenames in the ISO 8601 format, like: foo - 2018-10-11T21:55:47.392Z.jpg

https://github.com/chromium/chromium/commit/e40c631a5f311d449e8c6e136f0d70e5d548b987
💊22👍16👀4
Forwarded from about:performance
photo_2025-01-20_08-36-01.jpg
60.5 KB
Ранее я писал о баге Haproxy: после рестарта треды не завершались, что приводило к их накоплению, память иссякала и приходил OOM Killer.

Проблему решали костылем — директива hard-stop-after принудительно завершает треды после рестарта.

Но Haproxy не сдается и наносит ответный удар!

Причины еще предстоит выяснить, поэтому это скорее "заметка с полей"


Симптомы схожи: утечка памяти.

Но сбой наступает когда (это гипотеза) заканчивается память для TCP-буферов (net.ipv4.tcp_mem) - ядро с переменным успехом пытается освободить память для новых / существующих соединений, что приводит к затруднению в сетевых взаимодействиях.

На скрине такой период отмечен красным прямоугольником.

# sysctl net.ipv4.tcp_mem
net.ipv4.tcp_mem = 90435 120582 180870


Где 180870 - максимальное значение (в страницах памяти) под все TCP сокеты в системе, что равно ~ 706MB.

Оказалось, что система насыщается "повисшими" соединениями, чьи буферы сокетов содержат данные:
# ss -ntOai | awk '{for(i=1;i<=NF;i++)if($i~/^lastsnd:/){split($i,a,":");print a[2], $2, $4, $5}}' | sort -n | tail 

#lastsnd # Recv-Q #Src #Dst
234423668 157355 10.11.12.4:57354 10.11.6.123:80
235316436 302417 10.11.12.4:56232 10.11.6.124:80
238200680 301585 10.11.12.4:37940 10.11.6.124:80
238726828 300103 10.11.12.4:58944 10.11.6.124:80
243816724 297015 10.11.12.4:51700 10.11.6.125:80
251456440 302959 10.11.12.4:52324 10.11.6.125:80
252237780 302464 10.11.12.4:47786 10.11.6.123:80
257868244 163453 10.11.12.4:41568 10.11.6.125:80
259905196 300433 10.11.12.4:40202 10.11.6.123:80
261307944 214022 10.11.12.4:54888 10.11.6.123:80 # это ~ 72 часа

где:
* lastsnd - время с последней отправки данных, в милисекундах;
* Recv-Q - объем не прочитанных данных, в байтах.

А раз есть не прочитанные данные, значит таймер TCP keepalive не взводится:
static void tcp_keepalive_timer (struct timer_list *t)
{
...
/* It is alive without keepalive 8) */
if (tp->packets_out || !tcp_write_queue_empty(sk))
goto resched;

...

resched:
inet_csk_reset_keepalive_timer (sk, elapsed);
goto out;

...

out:
bh_unlock_sock(sk);
sock_put(sk);
}

Был бы повод, а костыль найдется!

Ребята из CloudFlare писали в свое время статью When TCP sockets refuse to die, где в виде решения предлагалось использовать опцию сокета TCP_USER_TIMEOUT:
...it specifies the maximum amount of time in milliseconds that transmitted data may remain unacknowledged, or buffered data may remain untransmitted (due to zero window size) before TCP will forcibly close the corresponding connection and return **ETIMEDOUT** to the application...


В свою очередь Haproxy поддерживает ее через tcp-ut.

Посмотрим, как себя покажет.

tags: #tcp #linux #kernel #troubleshooting
👍18🔥2
In 2024, we completed three fuzzing audits with a fourth being underway. The first audit was for Lima, the CNCF command line tool for launching virtual machines. During this audit, Lima integrated into OSS-Fuzz and saw 8 fuzz tests added to its fuzzing suite. The fuzzers found a number of bugs in third-party parsing libraries and continued to find crashes after the audit finished. 
. . .
The second audit was for Keycloak, a project widely used in production for managing identity and access for applications and services. The audit resulted in Keycloak integrating into OSS-Fuzz with 24 fuzzers that target widely different types of APIs in Keycloak from parsing routines to targets requiring structured randomization and extensive mocking. During this audit, the fuzzers found a single issue, however, after the audit had completed and the fuzzers had run for a longer time, one of them found a high-severity security vulnerability in a regular expression that could lead to denial of services by exhausting system resources.
. . .
The third audit was of the Opentelemetry Collector which the auditors integrated into OSS-Fuzz and has 49 fuzz tests added for its core repository and its collector-contrib repository
. . .
Fuzzing continues to positively impact the CNCF landscape’s security posture by finding new code-level issues of both reliability and security relevance. As of the end of 2024, OSS-Fuzz has run CNCF fuzzing harnesses for tens of thousands of CPU hours and reported more than than diverse issues 2,000 crashes.

Fuzzing the CNCF landscape in 2024
https://www.cncf.io/blog/2025/01/13/fuzzing-the-cncf-landscape-in-2024/

Все отчёты закину в комментарии

Спасибо подписчику за ссылку
👍9
Когда я зашёл в эту issue почитать комментарии, я даже не догадывался что меня там ждёт 🌝

VLC 3.X.X - HTTP Proxy Connection ("--http-proxy")
https://code.videolan.org/videolan/vlc/-/issues/26548#note_303823
😁20👀5
Media is too big
VIEW IN TELEGRAM
Пятница была вчера, но пусть будет и сегодня

Я сам не фанат серии GTA (последняя версия в которую я играл это "GTA 2: Беспредел" 🌝), но тут ребятЫ из Revolution Team завезли мод, который выглядит просто прекрасно

за два дня до релиза Take-Two Interactive удалили наш YouTube-канал без каких-либо предупреждений или попыток связаться с нами.
. . .
В развитие канала было вложено огромное количество сил и времени, включая сотни часов стримов, посвящённых разработке мода. Кроме того, мы утратили связь с нашей зарубежной аудиторией, которая составляла значительную часть сообщества. Тизер-трейлер GTA Vice City Nextgen Edition набрал более 100 000 просмотров и 1 500 комментариев меньше чем за сутки.
. . .
Изначально планировалось выпустить модификацию, которая требовала наличия оригинальной игры, чтобы соблюсти уважение к издателю. Но за эти два дня мы полностью пересобрали проект и теперь он доступен в виде готового «независимого комплекта для установки». Просто скачиваете, устанавливаете и играете. Никаких сложностей с совместимостью версий, так как теперь мод полностью автономный.

https://xn--r1a.website/revteam/432

Ссылки на трейлер
https://www.youtube.com/watch?v=7hqwmq6XT6o
https://vk.com/video-28896333_456239228

Торрент доступен тут (+ скину в комменты)
- https://xn--r1a.website/revteam/433
- https://drive.google.com/file/d/1MDMlOefYoChx6mjkfwuVx0rS6Q2pRjgl/view
🔥24👍3🌚1👀1
Forwarded from Заметки Слонсера (Slonser)
В 2024 году я потратил много времени на изучение безопасности расширений
К сожалению в интернете не было единого ресурса по безопасности расширений Chrome.
Поэтому я его сделал!
На данный момент содержит самые используемые мною техники, некоторые из них кажется не применялись до меня.
Так же ресурс содержит базовое введение в безопасность расширений и их структуру.
Помимо прочего так же буду заливать туда баги связанные с extension в самом Chromium, первый мини врайтап на мою CVE-2024-10229.
Make Chrome Extension Safe Again!
https://extensions.neplox.security/
🔥20👍65🥱2🤡1🥴1
Отличная новость!
Cегодня Dos Browser официально вышел на Flathub.
А это значит, что он доступен и в магазине Discover на Steam Deck в SteamOS.
Бесплатно доступно больше 2000 классических Dos и Windows игр и мы постоянно добавляем что то новенькое и крутое. Ну и конечно производительность в играх на 50-90% выше про сравнению с обычными браузерами.
Ура! 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝23👍123👎1🤡1🥱1
За распространение порнографии в виде snap-пакетов, очевидно.

Проект DistroWatch сообщил о блокировке своей новостной группы в Facebook* и удалении некоторых публикаций с пометкой, что они способствуют распространению, созданию или размещению вредоносного ПО. Попытка отправить апелляцию об ошибочной блокировке не подействовала и привела к блокированию учётной записи создателя группы.

В Facebook наблюдается блокировка публикаций со ссылками на некоторые Linux-ресурсы
https://www.opennet.ru/opennews/art.shtml?num=62632

Starting on January 19, 2025 Facebook's internal policy makers decided that Linux is malware and labelled groups associated with Linux as being "cybersecurity threats". Any posts mentioning DistroWatch and multiple groups associated with Linux and Linux discussions have either been shut down or had many of their posts removed.

We've been hearing all week from readers who say they can no longer post about Linux on Facebook or share links to DistroWatch. Some people have reported their accounts have been locked or limited for posting about Linux.

The sad irony here is that Facebook runs much of its infrastructure on Linux and often posts job ads looking for Linux developers.

Unfortunately, there isn't anything we can do about this, apart from advising people to get their Linux-related information from sources other than Facebook. I've tried to appeal the ban and was told the next day that Linux-related material is staying on the cybersecurity filter. My Facebook account was also locked for my efforts.

https://distrowatch.com/weekly.php?issue=20250127#sitenews

I do confirm that i explicitly tested this with my super unused facebook account, just stating that i was testing restrictions on talking about Linux, the text was: """I don't often (or ever) post anything on Facebook, but when I do, it's to check if they really, as announced on hckrnews, are restricting discussing Linux. So here's a few links to trigger that: https://www.qubes-os.org/downloads/ ... https://www.debian.org/releases/stable/""" and indeed within seconds I got the following warning: """ We removed your post The post may use misleading links or content to trick people to visit, or stay on, a website. """. This is one massive wow considering how much Facebook runs on Linux.

https://news.ycombinator.com/item?id=42840143

Reports show that "multiple groups associated with Linux and Linux discussions have either been shut down or had many of their posts removed." However, we tested a few other Facebook posts with mentions of Linux, and they didn't get blocked immediately.

Facebook flags Linux topics as 'cybersecurity threats' — posts and users being blocked
https://www.tomshardware.com/software/linux/facebook-flags-linux-topics-as-cybersecurity-threats-posts-and-users-being-blocked

ЗЫ
> Facebook*

OpenNet * поставил, а то что принадлежит Meta Platforms, которая была признана властями России экстремистской и запрещена не написали 🌝
🤣12🤡3👍2😁2🥰1🍾1
Отличный рассказ от PT как они катили RGH3 на Xbox 360 с приключениями. Читается как детективная история.

Сначала пара ссылок что такое RGH3 вообще

RGH 3 is a modern method of the Reset Glitch Hack that uses the SMC in the Xbox 360's southbridge instead of a glitch chip in order to boot unsigned code.
https://consolemods.org/wiki/Xbox_360:RGH/RGH3

RGH 3 is a new method to glitch your XBOX 360 console. This method only requires 2 wires and some resistors. No glitch chip required.
https://xbox360hub.com/guides/rgh-3-guide/

Предыстория
. . .
Парень за копейки продавал две приставки после неудачной попытки прошивки. Все можно было починить в пару движений паяльником, что я и предложил. Показал, как чинить, рассказал в целом про приставки и, сам того не заметив, вернулся на сцену.

Дальше все пошло вообще не по плану: в дискорд-чате по Xbox 360 кто-то выложил купленные на eBay схемы плат для всех ревизий консоли. На этих схемах Josh Davidson (Octal450) неожиданно для всех обнаружил вывод CPU_PLL_BYPASS в Slim-версиях Xbox 360

Приключения с Xbox 360: долгий путь к RGH3
https://habr.com/ru/companies/pt/articles/874160/

В посте подробно рассказаны как работают глитчи разных версий, какие с ними могут быть проблемы и что можно сделать с ними. Например, поиски и работа с UART

Дальнейшие эксперименты с брутфорсом соседних регистров принесли результаты. Оказывается, нужно дополнительно включить UART (SFR_E8 = 0xC0) и настроить его скорость (SFR_E9 = 0xFF, максимальная скорость — 1 500 000 бод). После этого уже получаем нормальный вывод UART.


или код, который собственно решал требуемую задачу

Для простоты я разбил код на две части: одна занимается замедлением I2C, другая — слежением и глитчингом процессора. В инициализации все просто: нужно задать начальное состояние будущей FSM + добавить инициализацию UART для отладки. Без ret, поскольку сразу за init будет расположен переход к замененной функции, который и сыграет роль возврата.


Все результаты работы доступны на GitHub (продублирую в комменты)

- Исходный код и собранные файлы RGH3 XeLL (загрузчик Linux / Homebrew)
https://github.com/15432/RGH3
https://github.com/15432/RGH3/releases/download/1.0/rgh3_ecc.7z

- Образы glitch2m (полноценная система с подменой фьюзов — залил и работает)
https://github.com/15432/RGH3/releases/download/1.0/rgh3_g2m.7z

- Программатор на базе Raspberry Pi Pico с поддержкой NAND и eMMC
https://github.com/15432/PicoFlasher

- Модифицированные libxenon и xell-reloaded с поддержкой записи eMMC

Для Zephyr и Xenon, к сожалению, метод замедления с помощью PLL часто приводит к зависанию и сильно зависит от процессора и удачи. К тому же, эти ревизии приставок очень ненадежные и в живых их осталось мало, так что в релизе не участвуют.


Этот же пост от Positive Technologies на английском
Xbox 360 security in details: the long way to RGH3
https://swarm.ptsecurity.com/xbox-360-security-in-details-the-long-way-to-rgh3/
❤‍🔥12🔥9👍5🤡3🥱1🥴1