Pull to refresh
148
0
Виктор @TyVik

Full-stack developer

Send message

Что такое WAF и как с ним работать? Показываем на примере уязвимого веб-приложения

Reading time11 min
Views11K

Информационная безопасность веб-приложений за последние несколько лет стала, наверное, одним из ключевых вопросов в IT. Для компаний стабильность работы систем — это репутация и отсутствие лишних издержек. Ежегодная статистика больших ИБ-компаний говорит о росте количества и качества атак.

Ранее в статье я рассказывал о защите веб-приложений с помощью систем класса IDPS. Сегодня — хочу поделиться информацией о том, как работать с WAF. В статье постараюсь оттолкнуться от теории и перейти к вопросу настройки. Будем запускать два сервера, где один будет атаковать, а второй — защищаться с помощью WAF. Надеюсь, текст станет доступным входом для инженеров, которые ранее не задумывались о работе с WAF из-за непонятности этого типа систем. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 36: ↑36 and ↓0+51
Comments5

Новый релиз большого интерактивного «столетнего» учебника по тестированию

Level of difficultyEasy
Reading time11 min
Views3.9K

Гуд ньюз эвриван! Вышло большое обновление учебника «100-Year QA‑Textbook — русскоязычная версия» — одного из самых полных источников по тестированию.

С момента первого релиза (100'000 хабр‑просмотров!) прошло полгода.
За это время столетний учебник стал бесплатным пособием для 10'000+ самообучающихся студентов.

Читать далее
Total votes 16: ↑13 and ↓3+17
Comments3

Методы оптимизации в машинном и глубоком обучении. От простого к сложному

Level of difficultyHard
Reading time29 min
Views14K

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

Читать далее
Total votes 23: ↑22 and ↓1+29
Comments6

Взламываем сеть при помощи ESP32

Reading time5 min
Views22K

Введение

Семейство микроконтроллеров ESP имеет кучу применений как в повседневной жизни, так и в узких отраслях. Рассмотрим микроконтроллер ESP32, так же его интересную прошивку.

WARNING

Важно отметить, что прошивка платы ESP32 для тестирования Wi‑Fi на уязвимости должна использоваться исключительно в рамках законных и этичных целей. Автор статьи не несёт ответственности за неправомерное использование данной информации или применение её в целях нарушения законодательства. Любые действия, основанные на данной статье, должны быть согласованы с соответствующими законами и нормативными актами.

Читать далее
Total votes 20: ↑19 and ↓1+24
Comments18

DIY для шпиона: использование обнаружения объектов с помощью YOLOv8 в рамках военных стратегий

Reading time8 min
Views9K

Применим геопространственную разведку для точного количественного учета воздушных судов противника? Используем для этого технологию обнаружения объектов YOLOv8 на основе аэрофотосъемки, выполненной разведывательными беспилотниками, что обеспечит надежное планирование военных действий.

В рамках глобальной системы мониторинга, известной как «The Machine». , функционируют разнообразные элементы. Данная система объединяет множество устройств, распределенных по всему земному шару, что обеспечивает комплексное наблюдение. Это позволяет государственным органам осуществлять мониторинг за индивидуальными лицами, анализировать общественные поведенческие тенденции и контролировать военные объекты на международном уровне. Геопространственная разведка (GEOINT) занимает центральное место в этой системе.

В этой статье основное внимание уделим GEOINT в качестве ключевого средства для мониторинга военных авиабаз противника. Такой подход к наблюдению за объектами и базирующейся на них авиацией способствует глубокой проработке стратегии и тактики ведения боевых действий.

Читать далее
Total votes 27: ↑23 and ↓4+24
Comments2

Анатомия Hello World на языке C

Level of difficultyMedium
Reading time15 min
Views28K

Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы.

Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.
Читать дальше →
Total votes 125: ↑125 and ↓0+142
Comments47

Путешествие в глубины сети с Shodan – поисковой системой, открывающей двери в неизведанное

Reading time6 min
Views8.5K

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

Благодаря этому Shodan позволяет узнать, какие устройства и операционные системы наиболее распространены, а также оценить уровень проникновения интернета в разные регионы мира.

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

Рассмотрим с вами два вопроса:

Читать далее
Total votes 6: ↑5 and ↓1+6
Comments3

Конспектируем Книгу Rust:: Владение

Reading time8 min
Views17K

Перед вами краткое профессиональное описание особенностей языка Rust для профессионалов.


Что это такое?
  • краткое — информации будет гораздо меньше, чем в Книге (The Rust Programming Language)
  • профессиональное — информации будет гораздо больше, чем в Книге;
  • описание особенностей — фокусируемся на отличиях Rust от других языков;
  • языка — описывается именно язык, а не установка средств разработки, управление пакетами и прочий инструментарий;
  • для профессионалов — подразумевается, что читатель имеет существенный опыт в разработке ПО.

Чего здесь НЕ будет


  • Не будет агитации за Rust
  • Не будет легко. Для освоения потребуется неделя-другая вдумчивого чтения по часу в день, с тщательным разбором примеров, как-то так

Содержание


Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments7

Евгений DockerAuthPlugin’ович Онегин

Reading time15 min
Views8.1K

Интересное начало, не так ли? Меня зовут Роман, и я младший инженер информационной безопасности Ozon. В этой статье я расскажу о проблеме отсутствия авторизации доступа к Docker daemon / Docker Engine API / командам Docker при работе с контейнерами в экосистеме Docker и как это можно решить при помощи 11 почти стихотворных строчек bash.

Говоря о стихотворчестве, первое, что приходит мне в голову, это уроки литературы, где моим самым любимым романом был «Евгений Онегин». В школе учитель литературы говорила нам: «Это вы сейчас это не понимаете... Уже потом, спустя год, пять или даже 20 лет, вы вновь прикоснётесь к книгам, которые, казалось бы, вы уже знаете вдоль и поперёк. И вот тогда вы поймёте всё то, что мы с вами тут обсуждаем, или даже откроете для себя что-то, о чем и не догадываетесь».

Читать далее
Total votes 124: ↑123 and ↓1+123
Comments22

Как превратить игрушечного робота-доставщика в ровер с беспроводным управлением через мобильное приложение

Level of difficultyEasy
Reading time8 min
Views6.3K

Привет, Хабр!

Вам часто бывает скучно? Ну так, что просто уже не знаешь, чем себя занять. Я в такие моменты люблю бесцельно скроллить ленту, залипать на разных видео, а еще листать маркетплейсы в надежде увидеть что-то, за что можно было бы зацепиться.

В один из таких моментов во время очередного просмотра содержимого Яндекс Маркета я наткнулся на игрушечного робота-курьера. Он показался мне достаточно милым, так что я решил его купить.

В общем ровер милый, выполнен неплохо и тут можно было бы остановиться, но в моей голове промелькнула одна мысль:

«А может сделать его управляемым?»

В этой статье я расскажу, как модифицировал игрушечного робота-доставщика Яндекса и реализовал управление им по BLE с помощью мобильного приложения на Flutter.

Читать далее
Total votes 57: ↑57 and ↓0+62
Comments14

Увеличиваем Attack Surface на пентесте периметра

Level of difficultyMedium
Reading time10 min
Views4.3K

Привет, Хабр!

Типичная проблема: компании часто сами не подозревают, какие ресурсы у них могут «торчать наружу». А раз их может нарыть потенциальный злоумышленник — это проблема. На пентестах внешнего периметра не всегда сразу доступен полный скоуп IP-адресов, доменов и поддоменов. В таких случаях нам, пентестерам, приходится recon-ить все ресурсы компании. Ну и конечно же, чем больше скоуп, тем больше Attack Surface, тем больше потенциальных файндингов, в итоге — больше вероятность пробива периметра.

Под катом разберемся, что с этим делать.

Читать далее
Total votes 18: ↑18 and ↓0+19
Comments5

50 лет спустя: Революционный микропроцессор 8008

Reading time12 min
Views28K
image

Революционный микропроцессор Intel 8008 был впервые выпущен более 50 лет назад.
Это был первый 8-битный микропроцессор Intel и предшественник семейства процессоров x86, которые вы, возможно, используете прямо сейчас. Найти хорошие фотографии матрицы 8008 не удалось, поэтому я вскрыл одну из них и сделал несколько подробных снимков. Эти новые фотографии матрицы вы найдете в этой статье, вместе с обсуждением внутреннего строения 8008.

На фотографии ниже показана крошечная кремниевая матрица внутри корпуса 8008. Провода и транзисторы, из которых состоит чип, едва видны. Квадратики снаружи — это 18 контактов, которые соединены с внешними выводами крошечными проводами.

image
Фотография микропроцессора 8008

На правом краю чипа можно увидеть надпись «8008», а на нижнем — "© Intel 1971".
Справа вверху — инициалы HF Хэла Фини (Hal Feeney), который занимался разработкой логики и физической компоновкой чипа. Другими ключевыми разработчиками 8008 были Тед Хофф, Стэн Мазор и Федерико Фаггин.

Внутри микросхемы


На схеме ниже показаны некоторые из основных функциональных блоков микросхемы. Слева расположен 8-разрядный арифметико-логический блок (ALU), который выполняет фактические вычисления данных.

Для хранения входных значений ALU использует два временных регистра. Эти регистры занимают значительную площадь на чипе, но не потому, что они какие-то сложные, а потому, что им нужны большие транзисторы для передачи сигналов через схему ALU.

image
Схема микропроцессора 8008 с изображением основных компонентов.

Под регистрами находится схема уско́ренного переноса. При сложении и вычитании эта схема вычисляет все восемь значений переноса параллельно для повышения производительности. Поскольку перенос младшего порядка зависит только от младших битов, а переносы старших порядков зависят от нескольких битов, блок схемы имеет треугольную форму.
Читать дальше →
Total votes 27: ↑24 and ↓3+32
Comments13

Самые интересные задачи для безопасников — Джабба одобряет

Reading time5 min
Views6.6K

Мы решили не один CTF-турнир. За плечами остались KnightCTF, 0xL4ugh и DiceCTF. Найти по-настоящему интересные и сложные задачи все труднее, поэтому будем смотреть в оба глаза и следить за несколькими мероприятиями одновременно.

На этот раз — порешаем задачи сразу двух CTF-турниров: Space Heroes и ThCon 2024. Уже интересно, что подготовили безопасники из США и Франции? Тогда добро пожаловать!
Читать дальше →
Total votes 40: ↑40 and ↓0+47
Comments2

Эксплуатируем переполнение буфера в простом TCP-сервере

Level of difficultyHard
Reading time6 min
Views3.5K

Привет всем бинарщикам и людям, которые хотят попрактиковаться с эксплуатацией уязвимости переполнения буфера. Мы для своего киберполигона придумываем различные сценарии атак и насыщаем его различными мисконфигурациями и многочисленным уязвимым ПО для тренировок «синих» и «красных». И рассматриваемое ПО в данной статье, как раз одно из таких. В этой статье мы разберем весь процесс от идентификации уязвимости до получения обратной оболочки со скомпрометированного хоста.

Специально для этого примера я скомпилировал уязвимый TCP‑сервер, который принимает подключения через порт 3301 (Цикада?).

Читать далее
Total votes 16: ↑16 and ↓0+17
Comments5

Kerberos простыми словами

Level of difficultyMedium
Reading time46 min
Views40K

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

Данную статью я написал после того, как сделал собственную библиотеку, генерирующую сообщения протокола Kerberos, а также после того, как я протестировал «стандартный клиент» Kerberos в Windows — набор функций SSPI. Я научился тестировать произвольные конфигурации сервисов при всех возможных видах делегирования. Я нашёл способ, как выполнять пре‑аутентификацию в Windows как с применением имени пользователя и пароля, так и с помощью PKINIT. Я также сделал библиотеку, которая умещает «стандартный» код для запроса к SSPI в 3–5 строк вместо, скажем, 50-ти.

Хотя в названии статьи фигурирует «простыми словами» однако эта статья предполагает, что читатель уже имеет какое‑то представление о Kerberos.

Читать далее
Total votes 18: ↑18 and ↓0+19
Comments19

Как я собрал красивое ведро для гидропоники

Level of difficultyEasy
Reading time10 min
Views29K

Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.

Пока Монстр плодоносил и радовал в течение нескольких лет, я продумывал более удобный вариант гидропонной установки, который было бы не стыдно показывать в приличном интерьере гостям. Классический вариант “юного гидропониста” из канализационных труб, алюминиевого скотча и вороха булькающих трубочек был с негодованием забракован женой. Я разработал и протестировал несколько прототипов с 3D-печатными элементами, но потом проект был поставлен на паузу.

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

Сегодня расскажу про то, как правильно утопить растение, спроектировать прототип и выйти в релиз, даже если твои тестеры очень сильные люди.

Читать далее
Total votes 110: ↑109 and ↓1+132
Comments166

Микросервисы прагматика: как построить большую систему с помощью пачки монолитов

Level of difficultyMedium
Reading time22 min
Views7.8K

...

Попробую, попытаюсь объяснить. Наверное, для кого-то это будет оправданием, но я просто объясняю.

Как быстро зафейлить новый проект Java? Просто взять и применить все, что ты услышал на последней Java конференции;) Как быстро сделать энтерпрайзный проект минимальной командой в короткие сроки? Верно — подобрать оптимальную архитектуру и правильные инструменты. Senior Developer из команды Jmix Дмитрий Черкасов рассказывает о компромиссном варианте между хайповыми (все еще) микросервисами и монолитами, который называется Self-Contained Systems. Кажется, он выпьет меньше крови и сохранит ваши нервы. Дальше — рассказ от первого лица.

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

Как провести фаззинг REST API с помощью RESTler. Часть 3

Reading time9 min
Views1.3K

Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В прошлых статьях, посвященных фаззингу REST API, мы рассказывали о методе Stateful REST API Fuzzing и настройках инструмента RESTler. Сегодня мы поговорим о режимах тестирования, аннотациях, проблемах при подготовке и проведении фаззинга API и способах их решения. Статья написана в соавторстве с инженером по безопасности Артемом Мурадяном @TOKYOBOY0701.

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

Самый лучший в мире курс по Машинному обучению — Алгоритмы Машинного обучения с нуля

Reading time1 min
Views25K

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

Курс бесплатный: https://stepik.org/course/68260/promo

Читать далее
Total votes 30: ↑30 and ↓0+31
Comments11

Балансируем между консистентностью и доступностью в распределённой системе: опыт Tarantool

Reading time13 min
Views3.8K

Поговорим сегодня про выбор, перед которым встают разработчики всех распределённых систем: обеспечивать ли консистентность данных или доступность системы при различных внешних условиях —  поломках, плановых отключениях узлов, — а также во время штатной эксплуатации. Теория нам даёт простые, но не всегда применимые на практике ответы: можно выбрать либо консистентность, либо доступность (теорема CAP), а когда проблем с сетью нет — то либо консистентность, либо низкие задержки (PACELC). За скобками остаётся вопрос о том, как делать этот выбор. Система как будто всегда должна быть CP или AP, а что происходит, если вдруг работающая CP-система должна начать вести себя как AP, или, наоборот, перейти обратно из AP в CP?

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

Information

Rating
4,294-th
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity