[Перевод] Trusted Types API для защиты DOM от XSS-атак

Вы когда-нибудь слышали об XSS-атаках, связанных с внедрением (инъекцией) вредоносного кода в DOM (далее — DOM XSS)? Если не слышали, то DOM XSS — это тип атаки на веб-приложение, когда хакер использует полезную нагрузку (payload), которая выполняется как результат модификации DOM в браузере. Это...

Все блоги / Про интернет

Поиск коллизий в SHA-256 на платформе Node.js при помощи Bitcoin Hasher

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

Все блоги / Про интернет

[Перевод] 3 способа визуального извлечения данных с помощью JavaScript

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

Все блоги / Про интернет

Кросс-браузерный трекинг на основе перебора обработчика внешних протоколов

Два месяца назад, в процессе исследования браузера Safari, я случайно наткнулся на уязвимость, позволяющую проверять наличие конкретного приложения на компьютере пользователя прямиком из браузера с использованием JavaScript. Проверяя список из 24 приложений на предмет присутствия в операционной...

Все блоги / Про интернет

[Перевод] Как хакнуть Github и заработать $35000?

Когда я нашёл эту уязвимость и сообщил о ней, она стала моим первым оплаченным баг-репортом на HackerOne. $35,000 — это также самая высокая награда, которую я получил от HackerOne (и я считаю, что самая высокая оплата от GitHub на сегодня). Многие найденные ошибки, кажется, — это удача и интуиция,...

Все блоги / Про интернет

JavaScript prototype pollution: практика поиска и эксплуатации

Если вы следите за отчетами исследователей, которые участвуют в bug bounty программах, то наверняка знаете про категорию уязвимостей JavaScript prototype pollution. А если не следите и встречаете это словосочетание впервые, то предлагаю вам закрыть этот пробел, ведь эта уязвимость может привести к...

Все блоги / Про интернет

Новая утечка истории браузера через favicon

Недавно наткнулся на это исследование pdf (по его мотивам уже была статья на хабре), после прочтения, решил поискать более интересные способы использования F-Cache. Объективно, схему с редиректами никто в здравом уме не будет ставить на свой сайт. Это утечка, но утечка представляющая больше...

Все блоги / Про интернет

Пишем расширение-читалку для Habr

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

Все блоги / Браузер Opera и Vivaldi

Опасная уязвимость в популярной библиотеке Sequelize

Привет, Хабр! Данная статья будет интересна тем, кто уже использует библиотеку Sequelize или же только собирается с ней работать. Под катом мы расскажем, чем встроенный функционал operatorAliases может быть вреден и как избежать утечки из собственной базы данных. Читать дальше →...

Все блоги / Про интернет

HackTheBox. Прохождение RopeTwo, часть 1. Chromium v8

Пора выложить первый райтап для машинки с площадки HackTheBox. В данной статье разберемся с написанием RCE для патченного JavaScript-двжика v8, используемого сейчас почти повсеместно. В текущий момент готовы две части - первая, которую вы читаете, и вторая, с получением прав юзера. К концу февраля,...

Все блоги / Про интернет

CRUD для NMAP’а: решение для мониторинга открытых портов на хостах

Привет, Хабр! Меня зовут Рудаков Александр, я занимаюсь информационной безопасностью в компании "ЛАНИТ-Интеграция". Однажды, в рамках работы над проектом, мне понадобилось организовать небольшой непрерывный мониторинг (с хранением истории) открытых портов в подсети серверов. Требовалось за короткое...

Все блоги / Про интернет

Best practices для клиент-серверного проекта PoC

Типичный проект PoC (Proof of Concept) состоит из клиента с GUI, сервера c бизнес логикой и API между ними. Также используется база данных, хранящая оперативную информацию и данные пользователей. Во многих случаях необходима связь с внешними системами со своим API. Когда у меня возникла...

Все блоги / Про интернет

n8n. Автоматизация ИБ со вкусом смузи

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

Все блоги / Про интернет

Безопасность npm-проектов, часть 2

Безопасность npm-проектов, часть 2 Всем привет! В прошлых постах мы поговорили о том, как команда npm обеспечивает безопасность, а также начали рассматривать инструменты, помогающие нам повысить безопасность проектов. Я хочу продолжить разговор и рассмотреть следующий набор полезных инструментов....

Все блоги / Про интернет

[recovery mode] $mol_func_sandbox: взломай меня, если сможешь!.

Здравствуйте, меня зовут Дмитрий Карловский и я… хочу сыграть с вами в игру. Правила её очень просты, но их нарушение… приведёт вас к победе. Почувствуйте себя в роли хакера выбирающегося из JavaScript песочницы с целью прочитать куки, намайнить биткоины, сделать дефейс или ещё что-нибудь...

Все блоги / Про интернет

[Перевод] Реверс-инжиниринг антиблокировщика рекламы BlockAdBlock

Если вы пользуетесь блокировщиками рекламы, то могли встречать BlockAdBlock. Этот скрипт обнаруживает ваш блокировщик и не пускает на сайт, пока вы его не отключите. Но мне стало интересно, как он работает. Как антиблокировщик обнаруживает блокировщики? А как на это реагируют блокировщики и как они...

Все блоги / Про интернет

[Перевод] Знай своего врага: создаём Node.js-бэкдор

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

Все блоги / Про интернет

Как «взломать» RedBull

На самом деле правильнее назвать статью «как накрутить себе баллы в конкурсе, чтобы выиграть целый холодильник RedBull». У нас, кстати, в офисе уже стоит такой холодильник с напитками. Когда в очередной раз в офис доставили соки, газировки и другие напитки в офис, я обнаружил листовку с рекламой...

Все блоги / Про интернет