xaker
I See You! Как я нашел уязвимости в приложении, сайте и прошивке IP-камеры

Для подписчиковВ этом ресерче я хочу рассказать о цепочке уязвимостей, которую я нашел в системах компании — производителя роутеров, камер и модемов. Мы пройдем путь от возможности перебора пользователей на сайте через захват аккаунтов до полного захвата камер через RCE.

  • четверг, 4 сентября 2025 г. в 00:00:15
habrahabr
Программирование автомобилей в играх

Автомобили встречаются в играх повсеместно, это стандартный элемент многих жанров. Если в игровом мире есть перемещение на дальние расстояния, то есть вероятность, что для него используется автотранспорт (если только вы не в фэнтези-мире, где перемещаются на лошадях. Прощу прощения, но в моём посте не будет информации о программировании лошадей).Легковые автомобилиПримеры игр с машинамиС самого детства я играл во множество гоночных и транспортных игр. Я всегда старался находить новые гонки. Но …

  • четверг, 4 сентября 2025 г. в 00:00:14
habrahabr
Жми сюда! Каким был золотой век интернет-рекламы в Рунете 90-х

В 1997 году моя жизнь, а также жизнь множества других пользователей Рунета незаметно изменилась, и эти перемены оказали огромное влияние на наше будущее. Вообще, 97-й оказался весьма богатым на события: сердца зрителей завоёвывал только что вышедший на экраны фильм «Брат» с Сергеем Бодровым, шахтёры и бюджетники по всей стране протестовали против задержек и невыплат зарплат, а в интернете запустился проект RLE — Russian Link Exchange. Это была первая полноценная коммерческая баннерообменная се…

  • четверг, 4 сентября 2025 г. в 00:00:13
habrahabr
Как мы нашли уязвимость в Mailcow, или немного о безопасности в open source

У коммерческих решений есть очевидные плюсы: профессиональная поддержка, регулярные аудиты, соответствие стандартам и сертификация. Open source — бесплатен, гибок, позволяет глубоко кастомизировать систему под свои нужды и, как правило, поддерживается активным сообществом.Но независимо от выбранного подхода нужно полагаться только на себя и самостоятельно проверять безопасность всех компонентов, которые вы внедряете в инфраструктуру. Даже если речь идет о популярном проекте с тысячами звезд на …

  • четверг, 4 сентября 2025 г. в 00:00:11
habrahabr
Инцидент с Therac-25

Когда пристёгиваешь пациента к электронной пушке, способной выстреливать пучком частиц с энергией 25 МэВ, следование процедурам — вопрос жизни и смерти. Оператор, эксплуатировавшая аппарат лучевой терапии в Онкологическом центре Восточного Техаса (East Texas Cancer Center, ETCC), работала с ним достаточно долго для того, чтобы запомнить весь процесс.21 марта 1986 года оператор пригласила пациента в процедурную. Она проверила его назначение и уложила его на стол Therac-25. Над пациентом находила…

  • четверг, 4 сентября 2025 г. в 00:00:10
habrahabr
Как я вскрыл «умный» замок пятью способами за пять минут

Представьте: вы ставите на дверь навороченный «умный» замок. Биометрия, карты доступа, пин-коды — целый арсенал защиты в компактном корпусе. Сидя за такой дверью, начинаешь чувствовать себя героем шпионского фильма: доступ строго по отпечатку пальца, никаких случайных гостей — почти режим секретного бункера. И тут выясняется, что вся эта киберпанковая защита обходится пятью разными способами за считаные минуты. Причем не хакерами из голливудского кино, а обычным соседом с отверткой. Чувство защ…

  • четверг, 4 сентября 2025 г. в 00:00:09
golang
Как проверить время и асинхронный код в Go

Команда Go for Devs подготовила перевод статьи о пакете synctest, который с Go 1.25 стал частью стандартной библиотеки. Он позволяет писать быстрые и надёжные тесты для конкурентного кода, не усложняя сам код. Теперь асинхронные операции можно проверять без долгих ожиданий и флаки-тестов.В Go 1.24 мы представили пакет testing/synctest как экспериментальный. Этот пакет может заметно упростить написание тестов для конкурентного и асинхронного кода. В Go 1.25 пакет testing/synctest вышел из стадии…

  • четверг, 4 сентября 2025 г. в 00:00:09
javascript
Создание приложения для сопоставления резюме с помощью tRPC, NLP и Vertex AI

Создание приложения для сопоставления резюме с помощью tRPC, NLP и Vertex AIНедавно я сделал небольшое приложение на TypeScript, которое сравнивает PDF-резюме с вакансиями. Мне нужен был быстрый способ прототипировать API, поэтому я выбрал tRPC для бэкенда.tRPC — это RPC-фреймворк с ориентацией на TypeScript, который обещает «end-to-end typesafe APIs» (сквозную типизацию API), то есть я могу делиться типами между клиентом и сервером без написания схем OpenAPI или GraphQL SDL.На практике это озн…

  • четверг, 4 сентября 2025 г. в 00:00:07
javascript
librats: новая C++ библиотека для распределённых P2P-приложений

Всем привет! Я являюсь создателем распределённого поисковика rats-search на базе DHT ( GitHub ). Его принцип работы довольно прост: поисковик собирает торренты у всех участников сети и формирует большую распределённую базу для поиска, включая метаданные (например, описания и прочую информацию).В этой статье я хочу рассказать о своей новой библиотеке для построения распределённых приложений (p2p), где знание IP-адресов участников не обязательно, а поиск ведётся через различные протоколы — DHT, m…

  • четверг, 4 сентября 2025 г. в 00:00:06