xaker
HTB HackNet. Эксплуатируем SSTI во фреймворке Django

Для подписчиковВ этом райтапе я покажу, как эксплуатировать уязвимость SSTI в шаблонизаторе Django, на примере получения учетки пользователя. Затем, авторизовавшись в системе, мы получим контекст другого пользователя через подмену файлов Django Cache. Для повышения привилегий расшифруем бэкапы и найдем учетные данные.

  • вторник, 20 января 2026 г. в 00:00:16
xaker
Positive Technologies помогла устранить два 0-day уязвимости в файловой системе Windows

В рамках январского «вторника обновлений» компания Microsoft исправила две уязвимости в драйвере ntfs.sys, который управляет файловой системой NTFS в Windows. Эти проблемы нашел специалист Positive Technologies Сергей Тарасов. Обе уязвимости давали злоумышленникам шанс захватить полный контроль над системой через эскалацию привилегий до уровня SYSTEM.

  • вторник, 20 января 2026 г. в 00:00:16
golang
Как я отказался от FFmpeg и написал FLAC энкодер за 500 строк на Go

TL;DR: Надоело тащить 80 МБ FFmpeg ради конвертации аудио. Написал конвертер на чистом Go - один бинарник 5 МБ, без зависимостей, работает на любой платформе. Бонусом - реализовал FLAC энкодер с нуля, потому что готового pure Go решения не существовало.Зачем это всеУ меня есть проект music_recognition — распознавание музыки через Shazam. Для работы нужно конвертировать аудио между форматами. Стандартное решение — FFmpeg.Проблема: FFmpeg умеет все. Транскодировать 4K, стримить по RTMP, делать цв…

  • вторник, 20 января 2026 г. в 00:00:12
golang
Protobuf как контракт: spec‑first валидация с protovalidate (часть 2)

В первой части мы разобрали protoc-gen-validate и spec-first подход к валидации. Я обещал рассказать про protovalidateну и вот, держите :)И самый первый вопрос конечно, а зачем вообще появился protovalidate, если PGV уже есть и работает?Ах да, мини реклама моего телеграмм канала по Go && gRPC Проблема, которую решает protovalidateК примеру, вас микросервисная архитектура, где бэкенд на Go, ML-пайплайн на Python, а мобильный клиент генерирует код на swift и kotlin flutter и весь этот зоо…

  • вторник, 20 января 2026 г. в 00:00:11
golang
Что нового в Go 1.26

Go 1.26 выходит в феврале, и на мой взгляд это один из самых насыщенных релизов за всю историю языка. Давай разберёмся что нас ждёт, от изменений в языке до оптимизаций runtime и новых инструментов. Статья основана на официальных release notes и исходном коде Go. Это не исчерпывающий список, за полной информацией обращайся к официальной документации.Типобезопасная проверка ошибокНовая функция errors.AsType это дженерик-версия errors.As:// Go 1.13+ func As(err error, target any) bool // Go 1.26…

  • вторник, 20 января 2026 г. в 00:00:10
javascript
Вайбкодинг: как сгенерировать код расширения для визуализации ссылок в закладках браузера с помощью…

Знакомо чувство, когда читаешь документацию, а через десяток страниц уже не помнишь, что именно успел изучить? Или когда возвращаешься к старой статье и не можешь понять – ты уже видел эту ссылку или нет?В эпоху информационного перегруза даже закладки перестают быть спасением – они просто копятся где‑то на панели, а на странице по‑прежнему нет никаких намеков, что ты здесь уже был.Но что если заставить браузер самому отмечать ссылки, которые у вас уже сохранены? Чтобы слева от каждой знакомой с…

  • вторник, 20 января 2026 г. в 00:00:08
javascript
Генерация колоды карт

В очередной раз столкнулся с тем, что разработчик игры (в качестве демо-версии программных функций) использовал генератор случайных чисел "в лоб", что повлекло за собой повторы ходов (игра была "морской бой", и клетка, по которой стрелял компьютер определялось как Math.floor(Math.random()*100), что подразумевает бесконечное повторение ходов). Поэтому хочу предложить простой и эффективный способ создать последовательность случайных чисел без повторения. Этот способ основан на пер…

  • вторник, 20 января 2026 г. в 00:00:07
javascript
Мои любимые паттерны для full-stack и frontend-проектов

После работы над множеством фронтенд- и full-stack-проектов (в основном React + TypeScript + какой-нибудь сервер/бэкенд), я постоянно возвращаюсь к одному и тому же небольшому набору паттернов. Они добавляют структуру, снижают когнитивную нагрузку и делают кодовую базу поддерживаемой даже при росте.Это не революционные идеи — просто прагматичные решения, которые хорошо работают в разных приложениях. Вот текущий набор, который я использую почти всегда.1. React Query + фабрика ключей запросов (Qu…

  • вторник, 20 января 2026 г. в 00:00:06
javascript
Округление и форматирование чисел в React: адаптивный подход

Всем привет, на связи снова я — Дмитрий, React-разработчик. И сегодня хочу поднять тему, которая на первый взгляд кажется простой, но на практике может доставить немало сюрпризов - округление и форматирование чисел в интерфейсе.Изначально может показаться, что здесь сложного практически ничего нет: есть toFixed() и toLocaleString(), но практика показывает, что реальные интерфейсы почти никогда в это не укладываются.Почему? Потому что в разных диапазонах чисел пользователи ждут разного поведения…

  • вторник, 20 января 2026 г. в 00:00:05