Pull to refresh

Хакерский квест RUVDS подходит к концу, но сразиться за главный приз 142 857 рублей еще не поздно

Reading time18 min
Views4.3K

Пока участники квеста готовятся к финальным испытаниям, а снег потихоньку тает в городах, расскажем для тех, кто пропустил начало, о пройденных этапах интерактивного хакерского кветса, и что ждать от финала.

Напомним, с чего всё началось: участники уже раскрыли секрет «Загадочной визитки», которую разобрали до последнего волокна и в результате залетели в блокчейн, а далее и в межпланетную файловую систему с новой порцией загадок.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments0

План самостоятельного обучения DDD, CQRS, EventSourcing

Reading time7 min
Views38K

Если вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing и другие термины из мира DDD то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.

Погрузиться в DDD
Total votes 36: ↑35 and ↓1+34
Comments4

Яндекс.Деньги слили информацию о сторонниках Навального органам

Reading time2 min
Views16K
В сети появились жалобы сторонников Навального, на то, что их обзванивают коммисары движения Наши и спрашивают зачем они поддержали Навального. Резонный вопрос, как к Нашим попали контактные данные и номера телефонов сторонников Навального, которые перечисляли через Яндекс.Деньги сердства на поддержку проекта Роспил?

жалобы:
nykolaich.livejournal.com/72274.html
gunlinux.org/%D0%BD%D0%B0%D1%88%D0%B8-%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B8%D0%BD%D0%B3-%D0%B8%D0%B7-%D0%B7%D0%B0-%D0%BD%D0%B0%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE
www.forum.mista.ru/topic.php?id=545355&page=1

апдейт:
Навальный у себя в твиттере:
мы знаем откуда утечка. я напишу об этом после майских. Точно не из РосПила, у нас таких данных нет.


апдейт2:

комментарии Яндекс.Денег с роема
Читать дальше →
Total votes 194: ↑164 and ↓30+134
Comments137

Об этимологии логотипа Хабрахабра / On ethimology of Habrahabr's logo

Reading time3 min
Views1.2K
Недавно вспомнил фразу — Самые очевидные вещи содержат невероятные идеи.
Ну и вот, вспоминая тесты Роршаха, в сознании родился след. мысленный ряд:

1. Шаб-Ниггурат

Материал из Википедии — свободной энциклопедии
ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1-%D0%9D%D0%B8%D0%B3%D0%B3%D1%83%D1%80%D0%B0%D1%82



Шаб-Ниггурат (англ. Shub-Niggurath), также Чёрный Козерог Лесов с Тысячным Потомством (иначе Чёрный Козёл Лесов с Тысячью Младых) — богиня плодородия, персонаж мифического пантеона (см. Мифы Ктулху), выдуманного Говардом Лавкрафтом. Впервые упоминается в его рассказе «Последнее испытание» («The Last Test», 1928). У самого Лавкрафта ни разу не описывается, в отличие от его продолжателей, но неоднократно поминается
в заклинаниях и воззваниях.

Шаб-Ниггурат описывается как туманная, облакоподобная масса cо множеством длинных, чёрных щупалец, роняющими слизь ртами и короткими козлиными ногами. Её сопровождают множество порождённых ею мелких монстрообразных существ, которых она постоянно извергает из себя, а затем снова пожирает и переваривает.

Из всех существ мифического пантеона Мифов Ктулху, культ Шаб-Ниггурат описывается как наиболее распространённый. Ей поклоняются даже внеземные Ми-го.

Проведя должным образом обряд, можно вызвать Шаб-Ниггурат в любом лесу в новолуние.

Имя Шаб-Ниггурат использовано в компьютерной игре Quake: порождённые ею монстры прорываются в мир людей, и герой должен пробиться через полчища чудовищ в причудливом готикоподобном мире, чтобы уничтожить тварь, в которой нетрудно опознать представителя Тёмного Потомства Шаб-Ниггурат. По странному стечению обстоятельств, этот представитель сам носит имя Шаб-Ниггурат, хотя явно ею не является.

Заключение: вот мы кто, Хабралюди! (мелкие монстрообразныe существа)

2. Flying Spaghetti Monster (за минусом фрикаделек)

From Wikipedia, the free encyclopedia
en.wikipedia.org/wiki/Flying_spaghetti_monster

Машинный перевод:
www.google.com/translate?u=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFlying_spaghetti_monster&langpair=en%7Cru&hl=uk&ie=UTF8

Flying Spaghetti Monster — это божество в религии пародия называется Церковь Flying Spaghetti Monster. [1] The religion was founded in 2005 by Oregon State University physics graduate Bobby Henderson to protest against the decision by the Kansas State Board of Education to require the teaching of intelligent design as an alternative to biological evolution .[1] религия была основана в 2005 году, Oregon State University физике выпускников Бобби Хендерсон протеста против Решение Канзас штата по вопросам образования требовать преподавания умный проект в качестве альтернативы биологической эволюции. In an open letter sent to the education board, Henderson professes belief in a supernatural Creator called the Flying Spaghetti Monster, which resembles spaghetti and meatballs.В открытом письме, направленном управлением образования, Хендерсон исповедует веру в сверхъестественное Организатор называется Flying Spaghetti Monster, напоминающая спагетти и meatballs. [2] He furthermore calls for the «Pastafarian» theory of creation to be taught in science classrooms.[2] Кроме того, он призывает к «Pastafarian» теории творения, которые будут преподаваться в учебных науки. [3] Followers of the Flying Spaghetti Monster (FSM) call themselves Pastafarians, a portmanteau of pasta and Rastafarian .[3] Последователи Flying Spaghetti Monster (ФСМ) называют себя Pastafarians, обобщающим пасты и растафарианство.

Because of its recent popularity and media exposure, the Flying Spaghetti Monster is used by atheists and agnostics (known by Pastafarians as «spagnostic») as a modern version of Russell's teapot.Благодаря своей популярности и недавно в средствах массовой информации, Flying Spaghetti Monster используется атеистов и агностиков (известных как Pastafarians «spagnostic») в современной версии Рассел в чайник.

Заключение: а это — идеи еретиков!

Вывод: тысячи Ми-го не могут ошибаться! ru.wikipedia.org/wiki/%D0%9C%D0%B8-%D0%B3%D0%BE

Iä! Shub-Niggurath!
Rating0
Comments0

Как создать простой LoRa мессенджер: обмен зашифрованными текстовыми сообщениями между устройствами без интернета

Level of difficultyMedium
Reading time30 min
Views12K

В современном мире IoT, когда связь в отдаленных районах становится все более актуальной, технология LoRa (Long Range) предоставляет нам возможность создать дальнобойный, надежный, энергоэффективный и зашифрованный канал связи без необходимости иметь какую-либо сетевую инфраструктуру. 

В этой статье мы рассмотрим, как создать простой LoRa мессенджер с использованием своего протокола обмена и готовых модулей, работающих в режиме P2P (peer-to-peer) – не идеального, но интересного решения для обмена текстовыми сообщениями в условиях ограниченной инфраструктуры.

Для упрощения и автоматизации процесса обмена сообщениями мы воспользуемся Node-RED. Этот инструмент, помимо реализации основной логики обмена сообщениями, также предоставит графический интерфейс для мессенджера, что сделает процесс более доступным и интуитивно понятным. 

Выглядеть будет просто, потому что воспользуемся всем готовым :)

Свистать всех наверх!
Total votes 31: ↑29 and ↓2+27
Comments36

OpenSSL и Network Security Services (NSS) — две стороны одной медали

Reading time31 min
Views8K
imageО какой медали идет речь в заголовке? Речь идет об инфраструктуре открытых ключей (Public Key Infrastructure — PKI/ИОК) на базе стандартов криптографии с открытым ключом (Public Key Cryptography Standards — PKCS). Инфраструктура открытых ключей включает в себя множество различных объектов и механизмов работы с ними, а также протоколы взаимодействия объектов друг с другом (например, протоколы TLS, OCSP). В число объектов ИОК/PKI входят сертификаты x509 и ключевые пары (приватные и публичные ключи), подписанные и зашифрованные документы (pkcs#7, CMS), защищенные контейнеры для хранения приватных ключей (pkcs#8) и личных сертификатов с ключами (pkcs#12) и т.д. В число механизмов входят не только криптографические функции, которые позволяют шифровать и подписывать документы по различным алгоритмам, но и функции, формирующие конечные объекты ИОК в соответствии со стандартами (сертификаты, запросы, подписанные/зашифрованные документы, пакеты протоколов и т.д. и т.п.). Да, и как не вспомнить центральный объект ИОК/PKI — Удостоверяющий Центр (УЦ).
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments12

Криптография с открытым ключом: ключи RSA

Level of difficultyMedium
Reading time23 min
Views11K

Уверен, что вы хотя бы раз создавали пару ключей RSA, напримет, потому, что вам нужно было подключиться к GitHub, и вы хотели избежать необходимости вводить свой пароль каждый раз. Вы добросовестно следовали инструкциям по созданию SSH-ключей, и через пару минут всё было готово.

Но знаете ли вы, что именно вы делали? Углублялись ли вы в детали процесса?

Знаете ли вы, что содержится в файле ~/.ssh/id_rsa? Почему ssh создает два файла с разным форматом? Замечали ли вы, что один файл начинается со слов ssh-rsa, а другой — с -----BEGIN RSA PRIVATE KEY----- ? Вы замечали, что иногда в заголовке второго файла отсутствует часть RSA и просто написано BEGIN PRIVATE KEY?

Я считаю, что минимальный уровень знаний относительно различных форматов ключей RSA обязателен для каждого разработчика в наши дни, не говоря уже о важности глубокого понимания их, если вы хотите построить карьеру в мире управления инфраструктурой.

Читать далее
Total votes 24: ↑21 and ↓3+18
Comments1

CTFzone write-ups – First comes Forensics

Reading time16 min
Views10K


Прошло несколько дней после окончания CTFzone от компании BI.ZONE, а наши смартфоны до сих пор разрываются от уведомлений Telegram – чат с участниками битвы после конференции стал еще более оживленным. По отзывам игроков, многие задания CTFzone были очень нестандартными и действительно непростыми. Во время соревнования мы пообещали участникам, что, как только наши разработчики отоспятся и придут в себя, мы выложим райтапы для всех заданий в нашем блоге.

Начнем мы с направления Forensics, и в этой статье представляем вам решения на все таски – от задания на 50 до 1000. Мы знаем, что hackzard опередил нас и уже выложил райтапы к заданиям на 50 и 100, но с более крутыми тасками будет сложнее ;)
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments2

Разбираем x.509 сертификат

Reading time11 min
Views217K

Привет, %username%!

Так уж вышло, что несмотря на относительно неплохое понимание инфраструктуры открытых ключей, содержимое *.crt файлов всегда оставалось для меня полнейшей загадкой.
Нет, не поймите неправильно. Я знаю, что x.509 сертификат содержит информацию о владельце, открытый ключ, сведения об удостоверяющем центре и электронную цифровую подпись. Но при установке очередного сертификата меня всегда мучило любопытство.
Чем отличается идентификатор ключа от отпечатка? Какие данные сертификата подписываются, а какие нет? И что за структура данных позволяет хранить всю эту информацию, сводя избыточность к минимуму.
Но вот наконец-то любопытство перебороло лень и в данном посте я постараюсь описать структуру x.509 сертификатов и ответить на эти и другие вопросы.
Читать дальше →
Total votes 79: ↑75 and ↓4+71
Comments31

Скучно о работе дешифрации NGFW

Reading time11 min
Views11K

Если вы хотите окончательно испортить первое свидание – поговорите с девушкой о дешифрации. Да и в случае последующих – тоже не стОит.

Наша встреча с вами не первая, поэтому в этом тексте речь снова пойдет о дешифрации.
Да, я вновь расскажу об SSL. Могу обрадовать себя и вас тем, что это второй и последний материал на эту тему. Возможно.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments22

MagiKey. Магнитный ключ «на максималках»

Level of difficultyEasy
Reading time9 min
Views14K
Приветствую всех!

Несколько месяцев назад я уже рассказывал о магнитных домофонных ключах. И, казалось бы, всё, что можно сказать по этой теме, уже было сказано.

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



Итак, сегодня поговорим о самой продвинутой реализации устройств данного типа. Узнаем, как оно устроено и как работает, а также сделаем из подручных средств ключи для данного считывателя. Традиционно будет много интересного.
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments19

На что способен мозг студента, познающего компьютерный мир

Reading time7 min
Views24K
Доброго времени суток.

Закончив писать очередной скрипт на Bash, понял, что всё должно быть совершенно иначе, однако всё работало. Хочу вам показать, какие непотребства и костыли написал я, дабы решить задачу, но пока не имея вагона знаний. Иначе говоря, карикатура на программирование.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments30

Ломаем модифицированный AES-256

Reading time9 min
Views58K
Недавно в институте я столкнулся с любопытной криптографической задачей, которой хотел бы поделиться с Сообществом. Одним предложением задачу могу обозначить, как "Атака на LSX-шифр, не содержащий нелинейной компоненты, на основе открытых текстов". Так как русскоязычных примеров решения таких учебных «головоломок» встречается немного, а сама задача рекомендована для начинающих свой путь специалистов, я считаю, что такая статья может быть интересна юному криптоаналитику. Пожалуйте под кат.
image

Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments4

Как устроен AES

Reading time7 min
Views291K

О чём эта статья



Долгое время я считал, что криптографические алгоритмы шифрования и хеширования, вроде AES и MD5, устроены очень сложно и написать их совсем не просто, даже имея под рукой полную документацию. Запутанные реализации этих алгоритмов на разных языках программирования только укрепляли это мнение. Но недавно у меня появилось много свободного времени и я решил разобраться в этих алгоритмах и написать их. Оказалось, что они очень просто устроены и для их реализации нужно совсем немного времени.

В этой статье я напишу как устроен алгоритм шифрования AES (которого иногда называют Rijndael) и напишу его на JavaScript. Почему на JavaScript? Чтобы запустить программу на этом языке, нужен только браузер в котором вы читаете эту статью. Чтобы запустить программу, скажем, на C, нужен компилятор и найдётся совсем мало желающих, готовых потратить время на компиляцию кода из какой то статьи. В конце есть ссылка по которой можно скачать архив с html страницей и несколькими js файлами — это пример реализации AES на JavaScript.

Читать дальше →
Total votes 120: ↑115 and ↓5+110
Comments45

Кратко с реализацией о AES 128 ECB

Reading time5 min
Views10K

Если вбить в яндекс 'aes 128 ecb mode', найдутся хорошие статьи ребят на "хабре": раз и два — толковые и одновременно слишком подробные.


Рассказ об алгоритме в картинках находится здесь (который также можно найти по ссылкам в одной из статей ребят выше).


Кратко об алгоритме: 1) создаем объект с 16-байтным state и массивом 16-байтных ключей; 2) пишем примитивы для объекта (они же трансформации); 3) запускаем n раз (где n — кол-во раундов). Все трансформации делаем симметричными — для зашифровки и расшифровки одновременно. Расшифровка в терминах алгоритма — это зашифровка наоборот.


Структура:


using byte_t = unsigned char;
struct aes128 {
  aes128(const std::string& text, const std::string& cipher, bool decrypt = false)
    : state({begin(text), end(text)}), keys({{begin(cipher), end(cipher)}}), decrypt(decrypt) {}
  aes128() = default;
  aes128(const aes128&) = default;

  std::vector<byte_t> state;
  std::vector<std::vector<byte_t>> keys;
  bool decrypt;
}
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments8

Отголоски волшебства на страже точных наук

Reading time5 min
Views5.9K
image

Близится вечер пятницы, трудовыебудни очередной учебно-рабочей недели агрессивно подкрадываются к своему логическому завершению, а это значит, что можно самую малость ослабить мертвую хватку должностных обязанностей и немного побездельничать. А что может быть более умиротворяющим, чем предаться софистическим фантазиям на тему закономерностей, по которым существует сей бренный мир? Решительно, ничего…

Этим текстом предлагаю разбавить высокий градус серьезности большинства хабропубликаций и, откинувшись в кресле / по пути с работы / учебы, проследить за логикой одной бредовой интересной аналогии, раскрывающей все тайны мироздания (серьезно).
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments6

Парсинг сайта с помощью Chat GPT: упрощаем создание парсера

Level of difficultyMedium
Reading time127 min
Views7.8K

Тут будет код и непонятные слова (неподготовленным лучше не лезть)

Приветствую всех!

Сегодня мы разберём, как можно использовать Chat GPT для создания парсера сайта.

Будем использовать Python и библиотеку Selenium.

🛑 Отмечу, что данная статья не предназначена для создания универсального инструмента парсинга любого сайта.

Я расскажу, как ускорить процесс создания парсера с помощью Chat GPT.

Углубимся в тему
Total votes 9: ↑2 and ↓7-5
Comments8

Построение сетевой архитектуры на базе криптошлюза S-Terra c инициализацией IPsec на сертификатах

Level of difficultyMedium
Reading time10 min
Views5.9K

Описание продукта

Программно-аппаратный комплекс «С-Терра Шлюз» выполняет функции межсетевого экрана, средства криптографической защиты информации и маршрутизатора. С-Терра Шлюз обеспечивает создание виртуальных защищенных сетей (VPN), защиту транзитного трафика между различными узлами сети, защиту трафика самого шлюза безопасности, а также stateless фильтрацию IP-трафика и stateful фильтрацию для протоколов TCP и FTP

Состав макета

Макет создан на базе физических устройств:

⦁ Коммутатор Cisco Catalyst 2960
⦁ 2 Криптошлюза S-Terra
⦁ 2 АРМа Пользователей

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments2

История создания Оптимизатора для ПК: Nuxt.js, Electron и C++ в Одном Проекте

Level of difficultyEasy
Reading time3 min
Views4K

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

Читать далее
Total votes 14: ↑1 and ↓13-12
Comments10

Компиляция. 6: промежуточный код

Reading time17 min
Views11K
Первый этап — разбор синтаксиса нашего джей-скрипа — пройден; подбираемся к генерации кода.

Начнём с генерации п-кода (промежуточного переносимого псевдокода) — нечто вроде «абстрактного машинного языка». Его выбирают так, чтобы
  • его было легко генерировать;
  • его было легко обрабатывать.
Обработка п-кода — это, как правило, его переработка в исполнимый машинно-зависимый код. Тем не менее, можно ограничиться лишь генерацией п-кода, и объявить его готовой скомпилированной программой. Запуск такой программы будет, по сути, интерпретацией п-кода. У этого подхода всё больше и больше сторонников; так что и мы для начала ограничимся компиляцией в п-код.

Далее в посте:

  1. Выбор кода
  2. Компиляция
  3. Выполнение
  4. Backpatching
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments14
1
23 ...