[Перевод] Невидимый Javascript-бэкдор
Несколько месяцев назад мы увидели пост в сабреддите r/programminghorror: один разработчик рассказал о своих мучениях с поиском синтаксической ошибки, вызванной невидимым символом Unicode, скрывавшемся в исходном коде на JavaScript. Этот пост вдохновил нас на мысль: что если бэкдор в буквальном...
Оригинальный список малвари, шифровальщиков и прочего в open source проектах
Оригинальный список проблем, связанных с политизированным Open Source. Прочитать детальнее...
Атака «Браузер внутри браузера». Как защититься
Поддельное окно авторизации, чтобы выманить пароль пользователя Современные средства HTML/CSS позволяют сгенерировать фрейм, практически неотличимый от настоящего браузера, как на скриншоте вверху. Более того, можно нарисовать в нём «адресную строку» с любым URL. Это открывает двери для нового...
Все, что нужно знать про «Broken access control»
В минувшем году OWASP обновил список TOP-10 самых распространенных векторов атак на современные веб-приложения. Этот список претерпел ряд изменений по сравнению с его последней редакцией, которая была в далеком 2017 году. В связи с чем мне бы хотелось рассказать о наиболее серьезной угрозе...
[Перевод] Поиск автора вредоносного ПО с помощью реверс-инжиниринга
Контекст: я занимаюсь администрированием небольшого Discord-сервера по разработке. И недавно один из пользователей сообщил, что кто-то пытался заставить его загрузить Exe-файл. Первое, что стоило узнать, это открывал ли пользователь этот, как оказалось, вредоносный файл. И, к сожалению, он его...
Пишем «Hello, world!» для Zepp OS и часов Amazfit GTS 3
Совсем недавно Amazfit (подразделение Xiaomi) представила новое поколение умных часов, в линейку которого вошли модели GTR 3 Pro, GTR 3 и GTS 3. Эти часы официально продаются и теперь можно без проблем купить. Я бы обошёл новинку стороной, ведь есть модели и подешевле с практически теми же...
React: пример использования Auth0 для разработки сервиса аутентификации/авторизации
Привет, друзья! В этой статье я покажу вам, как создать полноценный сервис для аутентификации и авторизации (далее — просто сервис) с помощью Auth0. Auth0 — это платформа, предоставляющая готовые решения для разработки сервисов любого уровня сложности. Auth0 поддерживается командой, стоящей за...
Откуда сайт знает, что ты сидишь в уборной?
Многие не представляют, какой объём данных можно снимать с акселерометра в смартфоне. Думаете, информация используется только для поворота экрана? Далеко не так. На самом деле паттерны движения смартфона и его положение в пространстве многое говорят о действиях пользователя: он сидит, лежит, стоит,...
Скрытие информации в Angular
Всем привет! Меня зовут Вадим, я занимаюсь тестированием безопасности приложений. С недавнего времени увлекся разработкой на фреймворке Angular. Я решил объединить свое новое увлечение со своей основной работой и показать результаты своего исследования в данной статье. В данной статье описано как...
Рождественские календари для разработчиков
Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в 🇩🇪 Германии. А еще я автор Telegram-канала Хороший разработчик знает, где рассказываю обо всем, что должен знать хороший разработчик. Сегодня я хочу поговорить про Рождественские календари для...
От Prototype Pollution к RCE на ZeroNights X
В рамках данной статьи мы рассмотрим уязвимость Prototype Pollution на клиенте и AST-injection на сервере и то, к чему может привести их совместная эксплуатация, а также, как они были встроены для обучения в конкурс “Hack To Be Hired” на ZeroNights X от Академии Digital Security. Всем желающим...
PoW вместо капчи
Для чего обычно используется капча? Для защиты от автоматических регистраций (либо автоматической отправки сообщений на форумах, в чатах, через форму обратной связи и т. п.) и для предотвращения брутфорса пары логин/пароль при аутентификации. Более экзотические случаи ее использования достаточно...
Обход блокировки РКН с помощью магии Service Worker'ов
Приветствую, Хабр! Я не претендую на срывание покров или какой-то революционный способ, но мой метод позволит как минимум сохранить ту часть трафика, так преданного вашему проекту/сайту/блогу, и немного вернуть справедливость со всеми этими перипетиями с массовыми блокировками. Читать дальше →...
Эффективный поиск XSS-уязвимостей
Про XSS-уязвимости известно давным-давно — казалось бы, нужен ли миру ещё один материал о них? Но когда Иван Румак, занимающийся тестированием безопасности, поделился методологией их поиска на нашей конференции Heisenbug, реакция зрителей оказалась очень положительной. И спустя два года у этого...
Памятка и туториал по HTTP-заголовкам, связанным с безопасностью веб-приложений
Доброго времени суток, друзья! В этой статье я хочу поделиться с вами результатами небольшого исследования, посвященного HTTP-заголовкам, которые связаны с безопасностью веб-приложений (далее — просто заголовки). Сначала мы с вами кратко разберем основные виды уязвимостей веб-приложений,...
[Перевод] Trusted Types API для защиты DOM от XSS-атак
Вы когда-нибудь слышали об XSS-атаках, связанных с внедрением (инъекцией) вредоносного кода в DOM (далее — DOM XSS)? Если не слышали, то DOM XSS — это тип атаки на веб-приложение, когда хакер использует полезную нагрузку (payload), которая выполняется как результат модификации DOM в браузере. Это...
Поиск коллизий в SHA-256 на платформе Node.js при помощи Bitcoin Hasher
Перед началом чтения, хочу предупредить что все описанные ниже определения и проделанные мною исследования несут в себе ознакомительный характер, и являются неполными или неточными ! При написании данной статьи много важных аспектов были пропущены или не дополнены из-за масштабности тем которые...
[Перевод] 3 способа визуального извлечения данных с помощью JavaScript
К старту курса о Frontend-разработке мы решили поделиться переводом небольшого обзора визуальных атак, позволяющих получать закрытую информацию о пользователе вне зависимости от того, применяется ли правило ограничения домена. Некоторые из обсуждаемых уязвимостей закрыты, но развитие технологий...