Hacker News Digest

Тег: #sha-256

Постов: 3

A webshell and a normal file that have the same MD5 (github.com)

Проект демонстрирует создание двух файлов — веб-шелла и обычного файла — с идентичными MD5-хэшами. Это возможно благодаря уязвимости алгоритма MD5 к коллизиям, когда разные данные производят одинаковый хэш. Такой подход позволяет обойти системы проверки целостности или антивирусы, полагающиеся исключительно на MD5.

Практический вывод: использование MD5 для безопасности критически устарело, следует переходить на более стойкие алгоритмы вроде SHA-256. Неожиданный эффект — даже безобидный файл может маскировать вредоносный код, оставаясь незамеченным при поверхностной проверке.

by shlomo_z • 21 сентября 2025 г. в 05:52 • 80 points

ОригиналHN

#md5#sha-256#wordpress#pdf#nes-rom#hash-collision#github

Комментарии (39)

  • Демонстрация уязвимости MD5: файл PDF/NES ROM отображает собственный хеш MD5, что невозможно для обычных документов.
  • Практические применения коллизий MD5: обход сканеров безопасности и кеширования хешей, особенно в устаревших системах (например, WordPress).
  • Технические достижения: создание исполняемых файлов с идентичным хешем, но разным поведением, и коллизии для plaintext-блоков.
  • Критика MD5: алгоритм не только криптографически сломан, но и медленнее современных альтернатив на современных CPU.
  • Условия эксплуатации: требуется специфичная среда (загрузка файлов с проверкой хеша MD5, выполнение после сканирования).

Obsidian Note Codes (ezhik.jp)

Разработан плагин Note Codes для Obsidian, который присваивает каждой заметке в хранилище уникальный четырёхсимвольный код. Эти коды позволяют быстро ссылаться на заметки из других мест, например из рукописных записей. Для удобства реализован обработчик протокола, так что ссылка вида obsidian://note-codes/open?code=XX-XX сразу откроет соответствующую заметку.

Коды генерируются на основе имени и пути файла с использованием SHA-256 и кодировки Base32 по схеме Дугласа Крокфорда. Исключены легко путаемые символы вроде O, I, L, U, но плагин корректно обрабатывает их при поиске. Ёмкость системы — 1 048 576 уникальных кодов. Плагин открыт и доступен на GitHub.

by surprisetalk • 18 сентября 2025 г. в 12:22 • 92 points

ОригиналHN

#obsidian#plugins#note-taking#github#sha-256#base32#hashing

Комментарии (36)

  • Обсуждается практичность 4-символьных кодов для краткой идентификации заметок в Obsidian, основанных на хеше имени файла.
  • Поднимается проблема коллизий из-за малого пространства кодов (1 млн вариантов) и парадокса дней рождений, особенно при большом количестве заметок.
  • Критикуется привязка кода к имени и пути файла, так как это делает ссылки нестабильными: код меняется при переименовании или перемещении заметки.
  • Предлагаются альтернативы: использование уникальных префиксов (как в Git), GUID или эвристик для генерации кодов, связанных с содержимым.
  • Основное предназначение кодов — быстрое указание на заметки из внешних источников (например, рукописных записей), но это же делает проблему нестабильности ссылок критичной.

Why are anime catgirls blocking my access to the Linux kernel? (lock.cmpxchg8b.com) 🔥 Горячее 💬 Длинная дискуссия

Anubis — «весы душ» для HTTP-запросов, защищают сайты от ИИ-ботов. Вместо CAPTCHA требует перебора nonce, чтобы SHA-256(challenge+nonce) начиналась с 4 нулей (16 бит). Это Proof-of-Work, как в биткоине, но не майнинг.

Проблема: задача легка для дата-центра ИИ, но трудна для обычных пользователей без мощного железа.
Сайты ядра Linux (git.kernel.org, lore.kernel.org) теперь требуют этот PoW, что ломает скрипты и консольные клиенты.

Цифры

  • Сложность 4 → 2¹⁶ ≈ 65 536 SHA-256 на токен.
  • Токен живёт 7 дней.
  • 11 508 «звёзд» GitHub ≈ столько сайтов с Anubis.
  • На бесплатной e2-micro GCP: 3688 кБ/с SHA-256 → ≈ 230 000 хэшей/с.
  • Для обхода всех сайтов за неделю: 11 508 × 65 536 ≈ 754 млн хэшей → 54 минуты CPU на одном ядре.
    Цена: копейки, даже в облаке. ИИ-вендору это ничто, а владельцу VPS-128 МБ — проблема.

Альтернативы

  • Rate-limit, WAF, robots.txt, API-ключи, CDN, client-cert.
  • Использовать Tor Browser (JS включён) или Selenium.
  • Патчить curl/wget, добавляя JS-движок или готовый PoW-скрипт.
  • Прокси-браузер (Puppeteer, Playwright) в headless-режиме.

Workarounds

  • anubis-pass — консольный майнер на Go, решает задачу и выдаёт cookie.
  • Пользовательские скрипты, которые запрашивают страницу, вычисляют PoW и продолжают сессию.

by taviso • 20 августа 2025 г. в 14:54 • 726 points

ОригиналHN

#anubis#proof-of-work#sha-256#curl#wget#go#tor#puppeteer#playwright#selenium

Комментарии (770)

  • Anubis — это PoW-заглушка, которая заставляет клиента выполнить небольшой вычислительный «тест» и получить токен на неделю; таким образом сервер получает идентификатор для рейт-лимита и борется с массовым «распылением» запросов ботами.
  • Многие участники считают, что PoW легко обходится при наличии вычислительных ресурсов, но пока большинство AI-краулеров просто не стали заморачиваться, поэтому Anubis «работает» в реальности, хоть и не идеален.
  • Критика: задержки 10–20 с на слабых устройствах, проблемы с доступом без JS, «аниме-девочка» вызывает у кого-то раздражение, а у кого-то ностальгию.
  • Часть комментаторов предлагает альтернативы: микроплатежи, «человеческие» вопросы, лабиринты-ловушки, VPN-сети или просто блокировки по ASN.
  • Самое главное: Anubis не решает проблему окончательно, но добавляет достаточно трения, чтобы заставить владельцев краулеров пересмотреть объёмы сканирования.