Pull to refresh
-7
Александр @Aleksandr-JS-Developerread⁠-⁠only

Резвящийся ленивецъ

Send message

OWASP ZAP — поддержка Session Management на основе заголовков

Reading time3 min
Views2.2K

Все, кто связан со сферой Application Security / DevSecOps, так или иначе слышали или даже применяют продукт OWASP ZAP. Данное приложение представляет из себя open source-инструмент для динамического сканирования веб-приложений (DAST). Но мало просто запустить сканирование приложения инструментом, надо суметь его правильно настроить.

Одним из важных этапов настройки DAST-сканирования является авторизация в приложении, а также поддержка сессии в течение всего сканирования. Чтобы настроить авторизованные сканирования на ZAP, необходимо учесть три вещи:

1. То, как сделать запрос аутентификации. ZAP поддерживает следующие варианты: на основе отправки формы, JSON-данных, HTTP/NTLM-аутентификацию, аутентификацию на основе скрипта, вручную.

2. То, как происходит обработка сеанса в приложении. Другими словами, как ZAP будет поддерживать отправку авторизованных запросов к приложению в течение сканирования. На данный момент есть поддержка сессии на основе cookie, заголовка, с использованием скрипта и поддержка сессий на основе HTTP-аутентификации. О поддержке сессии на основе заголовка мы и поговорим в данной статье.

3. То, как определяется, аутентифицированы ли запросы от ZAP (настройка стратегии проверки). ZAP умеет отправлять запрос на определенный URL для сравнения полученного ответа с его авторизованной версией, либо производить подобную проверку на каждый запрос.

Ранее для управления сессией сканирования через заголовки приходилось использовать скрипты в самом ZAP, например ZEST, JavaScript или Python.

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

Обзор OWASP ZAP. Сканер для поиска уязвимостей в веб-приложениях

Reading time9 min
Views26K

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

OWASP ZAP — сканер веб-приложений, основанный на методике DAST (Dynamic Application Security Testing). В русском варианте этот метод принято называть методом тестирования «черного ящика». Методика позволяет обнаруживать проблемы безопасности в работающем приложении или веб-сайте при помощи их сканирования на известные уязвимости.

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

Ещё одна подборка книг по фронтенду

Reading time6 min
Views36K

«Под поверхностью машины движется программа. Без усилий, она расширяется и сжимается. Находясь в великой гармонии, электроны рассеиваются и собираются. Формы на мониторе — лишь рябь на воде. Суть остаётся скрытой внутри…» Мастер Юан-Ма, Книга программирования.

Под катом собрали 8 книг, которые рекомендуют прочитать наши разработчики. В целом, они все есть на заглавной картинке. Но если хотите почитать разные интересные вырезки из книг, цитаты, пару задач и мнения наших frontend-разработчиков — заходите под кат.

Читать далее
Total votes 19: ↑18 and ↓1+17
Comments8

Гори это ИТ синим пламенем

Reading time5 min
Views122K

Когда-то давно я мечтал стать программистом. Еще со средних класов школы начал ездить на олимпиады по программированию, писал игровые моды и просто нереально кайфовал от того, что делал. Начинал еще с Turbo Pascal, потом С, потом скриптовые языки, в универе математическое моделирование на С++ и matlab. Только в универе пришлось на теор.физике тусоваться, ибо не прошел по балах на программирование, но да ладно. Спустя 3 года я все таки решил кинуть физику, так как просто не видел денег в этой сфере в своей стране, и получил все таки первую долгожданном ИТ. Это была серверная разработка на Python.

С тех пор прошло уже 6 лет. Не могу сказать, что я сверх нерд и мое мнение авторитетное - но какой-то опыт в своей сфере все таки имею. Повидать успел с десяток различных компаний - от крупнейших в СНГ и крупных на диком западе, до мелких стартапов ( не думайте, что я во всех них успел поработать - это тема отдельная). Это печально...

Читать далее
Total votes 231: ↑188 and ↓43+182
Comments650

Реверс-инжиниринг интеллекта персонажей: как спроектировать НЕтупого Волдеморта

Reading time7 min
Views13K


Сказать, что всем надоели клише в играх — уже клише. Я искала, что полезно почитать про нарратив. Нашла «Краткое руководство по умным персонажам» от Элиезера Юдковского, автора «Гарри Поттер и Методы Рационального Мышления».

Оригинал статьи на 18,5к слов. После первого часа мозг закипел и молил пощадить его. Видимо, мозг не в курсе, что мы — умный персонаж. Решила сделать конспект, как шпору в универе, чтобы в памяти осталось. Старалась как могла, ужалась до 1,3к слов, это уже ~5 минут чтения, а не 2-3 часа.

Но сначала версия на 3 секунды:

  • Умный персонаж не поступит глупее, чем вы.

А вот на 30 секунд чтения:

  • Чтобы не писать глупостей, пробуйте писать от первого лица.
  • Очки, худоба, неуверенность с девушками и много умных слов — самый отстойный способ показать интеллект.
  • Чтобы уважать персонажа, особенно злодея, мысленно привяжите его к знакомому, чей интеллект уважаете.
  • Причина ошибок умных персонажей — хорошая и продуманная идея не сработала на все 100% как планировал персонаж (и ожидал читатель).
  • Чтобы поставить героя с интеллектом перед «настоящим» моральным конфликтом, выберите два близких вам конфликтующих идеала. Сомневайтесь, который из двух идеальнее. Еще сомневайтесь. Готово.
  • Запишите все доводы в пользу Злодея так, чтобы последователи Злодея не догадались бы, что это писал не Злодей.
  • Если ваш персонаж превосходит целый мир, опишите причины.
  • Не используйте научные термины, объясняйте суть.


Я веду канал в Telegram GameDEVils и блог на Substack . Подписывайтесь, я делюсь там материалами про геймдизайн, разработку и историю игр.

Ниже мой вариант краткого содержания на ~5 минут чтения (но без примеров из «Наруто» и канонического «Гарри Поттера», как в оригинале).
Читать дальше →
Total votes 55: ↑49 and ↓6+58
Comments35

Пишем приложение на Mi Band 7 с сервисной частью

Level of difficultyMedium
Reading time6 min
Views33K

Недавно я купил себе Mi band 7, по началу хотел купить 6-ую версию, пока не узнал, что на 7-ой обновилась операционная система и теперь она поддерживает установку приложений. Да, официально они об этом не заявили, но умельцы уже сделали множество приложений. Они ставят их как циферблаты, и это вполне обычные приложения. Но все эти приложения работают только локально на самом MiBand 7, не имея возможности взаимодействовать ни с телефоном, ни с интернетом. Я углубился в байткод приложения и документации по ZeppOS чтобы найти способ создавать приложения, взаимодействующие с интернетом, в этой статье я опишу свой путь. В итоге у меня получилось сделать запрос в интернет с часов и даже запустить мост для отладки приложений. 

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

Эксплойтинг браузера Chrome, часть 1: введение в V8 и внутреннее устройство JavaScript

Reading time29 min
Views22K


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

Работая дверями в Интернет, браузеры в то же время создают существенные угрозы целостности персональных вычислительных устройств. Почти ежедневно мы слышим новости наподобие "баг Google Chrome активно используется как Zero-Day" или "Google подтвердила четвёртый эксплойт Zero-Day Chrome за 2022 год". На самом деле, эксплойты браузеров не представляют собой ничего нового, их находят уже долгие годы, начиная с первого эксплойта для удалённого исполнения кода, задокументированного как CVE-1999-0280. Первым потенциально публичным раскрытием браузерного эксплойта, используемого в реальных условиях, стал эксплойт Aurora браузера Internet Explorer, который атаковал Google в декабре 2010 года.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments3

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 5. Методы получения доступа к системе

Reading time16 min
Views38K

Приветствую тебя, дорогой читатель, в пятой части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

В прошлый раз мы поговорили о приемах активного футпринтинга, а именно, о методах сканирования целевых ресурсов, и познакомились с таким замечательным инструментом, как сетевой сканер nmap. Сегодня мы разберем следующую важную фазу — получение доступа к системе и поговорим о таких вещах, как эксплоиты (exploits), полезная нагрузка (payload), а так же познакомимся с инструментом, который нам поможет автоматизировать рутинные задачи связанные с поиском и эксплуатацией уязвимостей под названием Metasploit Framework.

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

Metasploit Framework – представляет из себя комплексный инструмент автоматизации процесса эксплуатации уязвимостей ПО и операционных систем различной архитектуры.

Модули входящие в состав Metasploit можно разделить на следующие несколько категорий:

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

По типу исполнения можно выделить два вида эксплоитов:

Удалённый эксплойт – работает через сеть и использует уязвимость в защите без какого-либо предварительного доступа к атакуемой системе;

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

Пэйлоады (Payloads) – это некий код, который выполняется после эксплоита. В основном используется для настройки связи между жертвой и атакующим.

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

150+ хакерских поисковых систем и инструментов

Reading time11 min
Views83K

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

Пост состоит из 8 объемных разделов:

1. метапоисковики и поисковые комбайны;

2. инструменты для работы с дорками;

3. поиск по электронной почте и логинам;

4. поиск по номерам телефонов;

5. поиск в сети TOR;

6. поиск по интернету вещей, IP, доменам и поддоменам;

7. поиск данных об уязвимостях и индикаторов компрометации;

8. поиск по исходному коду.

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

Читать далее
Total votes 54: ↑51 and ↓3+58
Comments6

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 3. Footprinting. Разведка и сбор информации

Reading time5 min
Views26K

Приветствую тебя, мой дорогой читатель, в третьей части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux”.

Сегодня мы поговорим о первой фазе абсолютно любой атаки называемой футпринтинг (разведка и сбор информации о цели).

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

Если в целом разделять тестирование на проникновение по типам, то можно выделить условно три типа тестов: тип белый ящик (whitebox), тип серый ящик (greybox), и тип черный ящик (blackbox). Поговорим немного о каждом из вышеупомянутых методов.

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

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

Тестирование по типу «серого ящика» используется в том случае, когда проверяющий систему специалист имеет лишь ограниченную информацию о тестируемом объекте.

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

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 1. Подготовка рабочего стенда

Reading time5 min
Views76K

Приветствую тебя, дорогой читатель в самой первой вводной части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

Идеей, побудившей меня к написанию данной серии статей является мое желание поделиться собственным опытом в области тестирования на проникновение в рамках проводимых мной аудитов информационной безопасности финансовых организаций, и попытаться осветить важные, на мой взгляд, ключевые моменты касаемо подхода, инструментов, приемов и методов. Конечно же в сети очень много статей и книг посвященных данной теме (например, замечательная книга Дениела Г. Грэма «Этичный хакинг. Практическое руководство по взлому» или «Kali Linux. Тестирование на проникновение и безопасность» - труд целого коллектива высококлассных специалистов), программы курсов от Offensive Security, EC-Council, но далеко не у всех есть материальные возможности оплачивать дорогостоящие курсы, а в дополнение к учебникам хотелось бы больше практических примеров основанных на чьем-то опыте.

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

Мы будем использовать подход максимально приближенный к сценариям атак проводимых злоумышленниками, а также вдоволь попрактикуемся на отдельных примерах и разберем такие темы как разведка и сбор информации (footprinting), сканирование ресурсов с целью обнаружения известных уязвимостей, применение эксплоитов из базы Metasploit framework для получения доступа к системе, повышение привилегий до уровня root-пользователя за счет уязвимого ПО (privilege escalation), рассмотрим методы социальной инженерии, сетевые атаки канального уровня (MAC-spoofing, ARP-spoofing, DHCP starvation), способы атак на веб-сервера, перехват и анализ трафика с помощью сетевых снифферов и многое другое.

Читать далее
Total votes 24: ↑20 and ↓4+16
Comments31

Дизайн энкаунтеров в открытом мире

Reading time10 min
Views1.7K

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

Читать далее
Total votes 5: ↑3 and ↓2+5
Comments1

Homomorphic Encryption и Zero-Knowledge Proof. Технологии будущего или сложная математика?

Reading time11 min
Views3.5K

Часть I. Homomorphic encryption — святой Грааль онлайн-конфиденциальности

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

Крупные игроки, такие как Google, Facebook и Microsoft, доминируют в этой области не только благодаря усердной работе и капиталу. Это нечто большее.

Цифры показывают, что Google и FB влияют на 70% всего интернет-трафика .

Невероятное количество поисковых запросов Google выполняется каждую минуту по всему миру. Представьте себе детали, которые FB хранит для своих пользователей, и я говорю не о прямых личных данных, а скорее о сгенерированных данных — какие страницы вы посещали, сколько вы взаимодействуете со своими друзьями, какие видео вы смотрите и т. д. — другими словами, ваши цифровой след!

Наблюдать за этим из той точки, где мы находимся сейчас, просто удивительно. Недавним примером является Duplex от Google с его способностями к человеческому общению или даже синтетическая генерация изображений в реальном времени от NVIDIA которые почти неотличимы от реальных изображений. Но перенесемся на несколько лет вперед и представьте себе такой вымышленный сценарий: Facebook может использовать вашу историю чатов, чтобы предоставить вам персонального интеллектуального агента, который может отвечать на чаты в вашем мессенджере от вашего имени точно так же, как и вы! Кроме того, вы можете предоставить Amazon все свои банковские реквизиты и развернуть специально созданные списки покупок / продуктов (теперь это приобретено Wholefoods), которые соответствуют вашему финансовому положению и предпочтениям! Компания, занимающаяся разработкой нового генома, может использовать вашу последовательность ДНК, чтобы дать вам подробный список лекарств, которые действительно хорошо на вас подействуют.

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

Настройка ESLint для чистого кода в проектах на Vue

Reading time14 min
Views24K

В процессе работы над проектами разработчики придерживаются определенного кодстайла. Как правило, за это отвечает ESLint. ESLint — это линтер для языка программирования JavaScript. Он статически анализирует код на наличие проблем, многие из которых можно исправить автоматически.

Как показывает практика, команды в проектах часто пренебрегают кастомной настройкой ESLint, оставляя дефолтную. В этом случае большая часть кодстайла остается на совести разработчика. Кодстайл, как правило, в таких проектах нигде не описан или существует в формате устной договоренности. При таком подходе большую часть правил приходится держать в уме, не говоря уже о том, что многие из них основаны на субъективных предпочтениях. Нередки случаи, когда разные части приложения отформатированы под разные правила. Например, если разработчики пишут код в разных операционных системах, то переносы строк у них отличаются. Правил так много, а настройки столь обширны, что использование разных редакторов кода в командной разработке может усложнить взаимодействие.

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

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

Как оставаться программистом, если у тебя память как у дрозофилы

Reading time15 min
Views62K

Мой мадригал тем инструментам разработки, которые изменили мою жизнь

Программирование стало гораздо более многогранным ремеслом с тех пор, как в середине 1990-х я впервые попробовал AmigaBASIC. В те времена еще можно было купить один большой том о компьютере, на котором вы программируете – и там бы нашлось 99% всей нужной информации. Эта книга, где на множестве страниц уголки загнуты в качестве закладок, обклеенная стикерами, лежала бы у вас под рукой, пока вы вбивали бы команды в монохромный текстовый редактор.

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

Сегодня никто бы больше и не подумал покупать документацию по разработке – и Microsoft, и Apple свободно выкладывают свою документацию в Интернете для всех желающих. А что говорить о проектах с открытым исходным кодом!

Во времена npmPyPI и GitHub сложно объяснить, насколько неоднозначным решением (которое требовалось всесторонне обдумывать) раньше считалось потребовать хоть какие-нибудь возможности, которые выходили бы за рамки функционала операционной системы. Часто вместе с продуктом приходилось сдавать и все его зависимости.

Читать далее
Total votes 39: ↑35 and ↓4+43
Comments40

Децентрализованный поиск для свободного веба

Reading time12 min
Views10K

Возможно ли создать поисковую систему, которую тяжело подвергнуть цензуре, влиянию и блокировке?

Говоря техническим языком, возможно ли выполнять полнотекстовый поиск не имея удаленного сервера, удобным для пользователя способом, одновременно храня поисковый индекс в peer-to-peer системе и имея возможность быстро обновлять поисковый индекс?

Да, это возможно!

Под катом описание архитектуры поискового движка Summa на Rust и набора приемов, позволивших ответить утвердительно на все вопрос

Читать далее
Total votes 53: ↑51 and ↓2+61
Comments21

«Научите меня читать компьютерную томограмму» — а давайте научу

Reading time11 min
Views30K
Срезы КТ печатаются в негативе на плёнке, точно так же, как в начале двадцатого века (в 1895 делали на пластинах, а не плёнке). Но съёмка идёт на матрицу, примерно как в профессиональной зеркалке, только улавливающей рентген-излучение. Поскольку в медицинских вузах никто не обновлял стандарты, врачи умеют работать с инвертированным изображением и на плёнке, и томографы отдают им картинку именно в том виде, в котором её можно отнести на просмотровый стол и просветить. Переворачивать изображение в истинные цвета (делать из негатива позитив) не принято по той же причине. Просмотровые столы в нашей клинике не используются, но стоят в каждом кабинете, потому что таков норматив.

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

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

В целом, врачу никогда не придёт в голову учить пациента читать КТ, потому что это бессмысленно. Но я подумал: а почему бы и нет? Конечно, вы не наработаете 20-летний опыт определения разных сложных случаев по рентгеновской тени тканей, но, по крайней мере, сможете определить 40–50% базовых картин.


Видно отражение от металла, его дают множественные снимки

Я покажу, как выглядит воспалённая пазуха, металл, запломбированные и незапломбированные каналы, очаги.
Читать дальше →
Total votes 57: ↑56 and ↓1+65
Comments28

Увеличиваем RPS на Nuxt.js

Reading time2 min
Views5.3K

Все мы знаем что nuxt.js 2 (да и любое node.js приложение с SSR) не держит нагрузку без кеша, в среднем проекте если включить режим SSR то будет держать 20-30 RPS что очень мало.

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

Есть 3 проблемы с которыми я сталкивался на проекте, и хотел бы стабилизировать ситуацию. Чтобы дать еще один шанс запуститься приложению хотя бы без SSR.

Ускориться
Total votes 5: ↑5 and ↓0+5
Comments0

Структурное мышление или важное отличие человека от ИИ

Reading time28 min
Views22K

В этой статье я расскажу об одном из самых важных отличий человеческого мышления от того, как работают нейросети: о структурном восприятии мира. Мы поймем, как это отличие мешает ИИ эффективно решать многие задачи, а также поговорим об идеях, с помощью которых можно внедрить в нейросети понимание структуры. В том числе обсудим недавние работы таких известных в области AI людей, как Джеффри Хинтон и Ян ЛеКун.

Начнем мы с понимания того, что вообще такое “структурное мышление” и почему люди им обладают:

Читать далее
Total votes 33: ↑32 and ↓1+40
Comments59

Information

Rating
Does not participate
Location
Украина
Registered
Activity

Specialization

Frontend Developer
From 999,999,999,999 €
JavaScript
Vue.js