Pull to refresh
0
Семён@mirezread⁠-⁠only

User

Send message

WAF глазами хакеров

Reading time23 min
Reach and readers48K
Привет, Хабр! Сегодня мы поговорим об одном из современных механизмов защиты веб-приложений, а именно о WAF, Web Application Firewall. Мы расскажем, на чем основываются и как работают современные WAF, какие существуют способы обхода и bypass-техники, как их применять, а также почему ни в коем случае не стоит всецело полагаться на WAF. Мы представим свой взгляд пентестеров, которые никогда не принимали участие в разработке WAF и которые собирали информацию из открытых источников и на основе своего опыта, поэтому о некоторых тонкостях работы WAF мы можем даже и не подозревать.
Читать дальше →

Введение в Iptables

Reading time6 min
Reach and readers93K

Iptables - это мощный инструмент управления сетью в Linux, который позволяет администраторам управлять входящими и исходящими пакетами данных. Это основной инструмент для настройки межсетевых экранов в системах Linux.

Читать далее

Регулярные выражения (regexp) — основы

Reading time21 min
Reach and readers265K

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах... Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

Например, на вход приходит дата рождения в формате ДД.ММ.ГГГГГ. Вам надо передать ее дальше, но уже в формате ГГГГ-ММ-ДД. Как это сделать с помощью простого поиска? Вы же не знаете заранее, какая именно дата будет.

Читать далее

Ультимативный гайд по составлению резюме для кибербезопасников

Level of difficultyEasy
Reading time13 min
Reach and readers6.4K

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

Все вы уже наверняка наслышаны о том, что рекрутеры тратят на отсмотр одного резюме порядка 0,0000003 миллисекунды, но понимаете ли вы, что с этой информацией делать? А знаете ли вы, какой путь проходит ваше резюме с того момента, как вы его публикуете/отправляете до его преобразования с заветный оффер? Существует ли накрутка опыта в ИБ? Почему даже гениальный безопасник может остаться без внимания из-за плохого резюме? Кто и как смотрит ваше резюме, на что обращает внимание, и как вам с этим всем вообще жить? Вопросов можно наплодить еще очень много, так что погнали разбираться, как сделать из вашего резюме не просто красивый PDF, а полноценный инструмент продажи вашего опыта.

Читать далее

Основы DNS: понятие, иерархия, записи

Level of difficultyMedium
Reading time7 min
Reach and readers58K

DNS (Domain Name System) – это система, которая переводит понятные человеку доменные имена в IP-адреса, которые используют компьютеры для связи друг с другом. Представьте, что DNS – это как телефонная книга интернета. В обычной телефонной книге, если вам нужно найти номер телефона человека, вы ищете его по имени, и книга предоставляет вам номер. Точно так же DNS помогает находить IP-адреса, когда вы вводите доменное имя.

Когда вы вводите адрес веб-сайта, например, www.example.com, в строку браузера, DNS помогает найти нужный IP-адрес, чтобы ваш браузер мог подключиться к нужному серверу. IP-адрес – это уникальный числовой идентификатор, который используется для идентификации устройства в сети. Всякий раз, когда вы отправляете запрос на веб-сайт, ваш браузер отправляет этот запрос через интернет на сервер, который затем отвечает данными, которые вы видите на экране.

Читать далее

DFIR на практике. Часть 1: Lockdown Lab

Level of difficultyEasy
Reading time12 min
Reach and readers8.2K

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

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

Читать далее

OAuth 2.0, OpenID Connect и SSO для самых маленьких

Level of difficultyMedium
Reading time17 min
Reach and readers23K

Всем привет! Меня зовут Павел, я Head of Development в Банки.ру. Сегодня хочу погрузиться с вами в, кажется, уже давно заезженные темы: Single sign-on, OAuth, OpenID и нюансы их реализации. 

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

Я решил восполнить этот пробел и подготовил именно такой материал.
В этой статье погрузимся в теоретическую часть и рассмотрим: 

– основные Flow OAuth 2.0 и отдельно Authorization Code Flow with Proof Key for Code Exchange;
– OpenID Connect (OIDC);
– Single Sign-On или SSO: схему реализации и применение SSO в мобильных и веб-приложениях.

Читать далее

Разбираем HTTP/2 по байтам

Level of difficultyMedium
Reading time24 min
Reach and readers59K

image


Откройте любую статью с обзором HTTP/1.1. Скорее всего, там найдётся хотя бы один пример запроса и ответа, допустим, такие:


GET / HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 38
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<h1>Привет!</h1>

Теперь откройте статью с обзором HTTP/2 или HTTP/3. Вы узнаете о мультиплексировании запросов, о сжатии заголовков, о поддержке push-технологий, но вряд ли увидите хоть одно конкретное сообщение. Ясно, почему так: HTTP/1.1 — текстовый протокол, тогда как сиквелы к нему бинарные. Это очевидное изменение открывает дорогу ко множеству оптимизаций, но упраздняет возможность просто и доступно записать сообщения.


Поэтому в этой статье предлагаю покопаться в кишках у HTTP/2: разобрать алгоритмы установки соединения, формат кадров, примеры взаимодействия клиента с сервером.

Читать дальше →

Небезопасная многопоточность или Race Condition

Level of difficultyMedium
Reading time13 min
Reach and readers48K

Как я и люблю - мы начнем с условных основ и будем двигаться постепенно всё глубже и глубже. Ближе к концу разберём, как эксплуатировать. При написании статьи было использовано много разных источников. К чему это? А к тому, что я начну со слов, которые нашел в статье у Бума - про него будет дальше. Что ж, приятного чтения.

Пора познавать дзен

Nginx: шпаргалка

Level of difficultyEasy
Reading time2 min
Reach and readers9.7K

Шпаргалка по основным секциям Nginx, которые следует держать под рукой. Ниже приведены самые частые функции: включение SSL, переадресация, раздача статики и т.д.

Читать далее

Как за 4 месяца вкатиться в Российское багбаунти

Level of difficultyEasy
Reading time11 min
Reach and readers5.5K

Так уж вышло, что я сел писать статью о нашем с Саней (@MrKaban4ik) приключении в багбаунти. Сразу предупреждаю: бывалым исследователям наша история покажется не самой захватывающей. Она не о сложных цепных эксплойтах, а о самом начале пути — о том, как ты делаешь первый шаг на площадке и, затаив дыхание, ждешь вердикта по своему первому отчету. Именно эти первые «хваты» вселяют ту самую уверенность, что ты на правильном пути.

{Багбаунти-кидди презенс}

Чуть предыстории. НЕБОЛЬШАЯ ИСТОРИЧЕСКАЯ СПРАВКА НА 5 МИНУТ. Февраль 2025 года.

Мы с Александром часто участвуем в CTF в рамках студенческой команды Capybaras. Недавно закончился Чемпионат России по спорт проге ИБ, мы написали квалы на чемпионат банка РФ и нас зовут в Екатеринбург на Уральский форум. Вуз платит — едем. К этому моменту мы знаем о вебе что он существует и что если нет никаких ограничений на загрузку можно загрузить файлик.php который может быть шелом и как то магически команды на OS исполняет. О багбаунти мы слышали, но не седели особо — потому что просто не знаешь что искать. Мы с Александром собираем вещи, едим в Сочи и оттуда летим в Екатиб. Хотя давайте меньше деталей, вы же тут не до вечера собрались читать. В общем‑то первый наш форум по ИБ, много вендоров и лекций в молодежной программе. Знакомлюсь с ДВФУ‑шниками, до сих пор {heart}. Но вернемся к форуму. Среди вендоров был и BI.ZONE. Интерес конечно же у меня к нему был потому что они недавно выпускают Threat Zone и как только открылась выставка, а у нас шла кибербитва — я решаю незаметно сбежать и сходить залутать заветный журнальчик. Подхожу к стенду, решаю потыкать стендик и подходит какой‑то тип в черном костюме и начинает спрашивать знаком ли я с продуктами компании, я жестко говорю что знаю EDR и какой то прикол с жуками, называемый bugbounty. А этот тип говорит: «Я глава этого продукта». Таким образом мы познакомились с человеком по имени Андрей Левкин — который сыграет на самом деле большую роль в том, чтоб мы начали багхантить. Форум заканчивается и мы едем домой.

Читать далее

Начинаем в багбаунти: распродажа уязвимостей в Juice Shop, или Как искать простейшие баги в веб-приложениях

Reading time5 min
Reach and readers5.2K

Привет, меня зовут Анна Куренова (@SavAnna), в IT я уже девять лет. Начинала как разработчик и тестировщик, потом начала искать уязвимости и перешла в ИБ. Сейчас работаю DevSecOps-инженером и веду телеграм-канал 8ug8eer. В этой статье поговорим о базовых вещах в вебе и некоторых простых уязвимостях, поиск которых под силу даже начинающим. Текст будет полезен новичкам в сфере безопасности и тестирования софта.

Нашим подопытным станет магазин соков под незамысловатым названием Juice Shop. Это уже готовое приложение, которое работает на HTTP/1.1. Я развернула его на своем домене, который содержит множество уязвимостей и отлично подходит для обучения.

Продолжим

Начинаем в багбаунти: доступно об уязвимостях типа Broken Access Control

Level of difficultyMedium
Reading time4 min
Reach and readers2.8K

Привет, меня зовут Александр (aka bytehope). Прежде чем прийти к багхантингу, я пять лет занимался коммерческой разработкой. Однако меня всегда больше интересовал поиск уязвимостей, поэтому сейчас свое свободное время я провожу на площадках багбаунти.

Эту статью я решил посвятить уязвимостям, связанным с недостатками контроля прав (Broken Access Control). Вы узнаете, что это очень распространенный баг, который может проявляться самыми разными способами. Конечно, особый акцент будет сделан на практике: я покажу, как отловить четыре разных вида этой уязвимости в лабах Web Security Academy. Начнем с самых простых примеров, поэтому статья подойдет для начинающих охотников. Смело заглядывайте под кат!

Начнем хантить баги?

Где и как искать этот ваш SSRF: первые шаги в багхантинге

Level of difficultyMedium
Reading time8 min
Reach and readers6.6K

Привет, меня зовут Олег Уланов (aka brain). Я занимаюсь пентестами веб-приложений и активно участвую в багбаунти, зарабатывая на чужих ошибках. Свой путь в наступательной безопасности я начал совсем недавно, но, несмотря на это, меньше чем за год мне удалось ворваться в топ-10 исследователей на Standoff Bug Bounty (сейчас я на 5-м месте — можете проверить 😉).

В своем дебютном посте кратко расскажу об уязвимости с подделкой запросов на стороне сервера (SSRF) и ее видах, покажу, как обнаруживать этот баг и почему его стоит искать даже на статических сайтах, а заодно подсвечу особенности работы с Burp Suite, Collaborator Everywhere и Wappalyzer. Статья будет полезна для прокачки скилов и поможет легче и быстрее обнаруживать SSRF в сервисах, размещенных на площадках багбаунти.

Начнем хантить баги?

[По полочкам] Кэширование

Level of difficultyEasy
Reading time12 min
Reach and readers32K

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

Читать далее

Основы Интернета

Reading time7 min
Reach and readers20K

Есть такая интересная книга – «High Performance Browser Networking» Ильи Григорика, в которой описаны основы работы сетей и способы оптимизации передачи данных. В этой книге автор пишет про CDN следующее:

Сервисы по доставке контента (CDN) приносят много пользы, но основаны они на простом наблюдении, что, распределив контент по всему земному шару и доставляя его к пользователю из точки, которая как можно ближе к нему, можно значительно уменьшить время загрузки.

Если подумать, то наверное можно согласиться с тем фактом, что CDN улучшают UX, потому что ускоряют загрузку сайта. Но... минуточку. А как именно CDN это делает?

Вы можете сказать: «Ну, когда пользователь запрашивает файлы с CDN, они загружаются с ближайшего к пользователю сервера. Легко и просто». Да, но ведь эти данные загружаются всегда с одного домена. Как тогда запрос может приходить на разные сервера?

В этой небольшой серии статей мы попробуем разобраться в этом вопросе и понять, что за магия лежит в основе работы CDN. Для этого нам нужно будет разобраться с тем, как устроен Интернет, какие протоколы лежат в его основе, и как мы вообще пришли к тому, что имеем.

Начнём с проводов

EVM opcodes: перестанем бояться байт-кода

Level of difficultyMedium
Reading time10 min
Reach and readers3.8K

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

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

Поехали!

Werkzeug: раскручиваем arbitrary file read до RCE в веб-приложении на flask

Level of difficultyEasy
Reading time10 min
Reach and readers8.4K

В данной статье мы:
1) Создадим свое первое веб-приложение на Flask
2) Изучим, зачем нужен режим отладки?
3) Рассмотрим, как генерируется PIN для входа в интерактивной консоль Python.
4) Разберем, как можно с помощью уязвимости чтения файлов получить доступ к интерактивной консоли Python.
БОНУС) Узнаем, что же делать, если консоль была заблокирована из-за слишком большого количества попыток входа

Читать далее

FVWA (Flask Vulnerable Web Application)

Level of difficultyEasy
Reading time34 min
Reach and readers8.6K

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

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

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

Исходники на GitHub: смотреть

К лаборатории!

Разбор атаки на EntryOffice: мой пропуск в базу данных

Reading time4 min
Reach and readers6K

Привет, Хабр! На связи @mirez, в этой статье я подробно разберу, как решал задачу по получению бэкапа базы данных в сегменте Standalone на Standoff Hackbase. Нашей целью была система контроля посетителей EntryOffice.

Мы пройдем все этапы: от обнаружения уязвимости в debug-режиме Flask до получения полного контроля над сервером. В процессе исследуем обход двухфакторной аутентификации, SQL-инъекцию и подмену библиотек для выполнения произвольного кода.

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

Читать далее
1

Information

Rating
Does not participate
Location
Владивосток, Приморский край, Россия
Date of birth
Registered
Activity