Pull to refresh

Apple заплатила хакеру $100 000 за обнаруженный 0day в системе авторизации «Вход с Apple»

Reading time 4 min
Views 8.2K
Information Security *Website development *Cryptography *


Специалист по безопасности из Дели Бхавук Джайн обнаружил 0day в системе авторизации «Вход с Apple». Уязвимость действительно значительная. Как продемонстрировал хакер, для авторизации в чужой учётной записи достаточно только идентификатора электронной почты жертвы, причём эксплоит очень простой.

Баг может привести к полному захвату чужих аккаунтов на сторонних платформах, которые установили кнопку «Войти с Apple» (Spotify, Dropbox и др.), независимо от того, использует человек электронную почту Apple или нет.
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 7

Java ME 3.0 SDK

Reading time 1 min
Views 4.4K
Developmend for Java ME *
Вот, наконец, и вышла версия SDK которую, я так долго ждал.
Почитать подробно и скачать можно на сайте производителя(Sun).
Из новых особенностей хотелось бы отметить базу данных по телефонам и профайлинг. С этими нововведениями стало намного легче подгонять свой код под определённый телефон из базы, в зависимости от его особенностей. Т.е вы пишете обычный код, используя профайлинг, а при компиляции компилятор выдаст отдельные оптимизированные бины для отдельных телефонов, т.е вам больше не нужно думать поддерживает ли телефон тот или иной API (JSR).
Отдельно радует наличие отдельного NetBeans based JDE и интеграция с windows mobile устройствами.
Total votes 23: ↑22 and ↓1 +21
Comments 10

Java Platform Micro Edition Software Development Kit 3.0

Reading time 1 min
Views 2.7K
Developmend for Java ME *
Ну вот и вышел долгожданный релиз третьего J2ME toolkit'a. Пока только для пользователей Windows XP и Vista.

По описанию не встретил каких либо крупных различий между версией early access.
Total votes 6: ↑6 and ↓0 +6
Comments 0

Early Access Java ME 3.0 SDK для MacOS

Reading time 1 min
Views 865
Developmend for Java ME *
С сегодняшнего дня EA версия Java ME SDK 3.0 доступна и для обладателей маков.

Одним из крупных новвоведений стала возможность уникальной архитектуры, позволяющей работать с реальными телефонами из среды SDK (развёртка приложений на устройствах, дебаггинг через Wi-Fi).

Ждём версию для поклонников линукса.
Total votes 5: ↑5 and ↓0 +5
Comments 0

[ПЕРЕВОД] Аутентификация на основе JSON Web Token в Django и AngularJS: часть первая

Reading time 7 min
Views 71K
Django *Angular *
Sandbox
Наиболее распространенным методом аутентификации является аутентификация с использованием cookie файлов. Более современный метод аутентификации основан на использовании JSON Web Token (дословно: вэб маркер в формате JSON) и он быстро набирает популярность. В этой статье мы сосредоточимся на нем.

Что такое JSON Web Token?


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

JSON Web Token – это простой маркер в специальном формате. Пока формат не стандартизован, но многие уже используют одну из его реализаций (JWT).

JWT (произносится как jot) состоит из трех частей:
  • Заголовок
  • Полезная нагрузка
  • Подпись

Давайте рассмотрим каждую из них, прежде чем углубимся в реализацию.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 5

Аутентификация на основе JSON Web Token в Django и AngularJS: часть вторая

Reading time 8 min
Views 19K
Django *Angular *
Translation
В первой части мы рассмотрели, что для формирования JSON Web Token необходимы: сериализаторы и представления.

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

Bower, менеджер пакетов для web-приложений


Прежде чем перейдем к коду, давайте установим все необходимые зависимости. Для этого мы будем использовать Bower, он является идеальным инструментом для управления зависимостями web-приложений.

Предполагается что у вас уже установлен Node.js. Для установки bower просто выполните следующую команду:
$ npm install -g bower

Примечание: Возможно понадобятся права администратора.
Для того чтобы изменить каталог по умолчанию, в который bower будет устанавливать пакеты, в корне вашего проекта создайте файл с названием “.bowerrc ” и добавьте в него следующие строки:
{
    "directory": "static/bower_components"
}

Мы указали каталог “static”, чтобы эти компоненты были доступны в Django.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 3

OAuth с использованием JWT на salesforce

Reading time 7 min
Views 24K
Website development *
Tutorial

Общая информация по JWT потоку OAuth





JSON Web Token (JWT, произносится как английское слово jot) это зашифрованный JSON секюрити токен (security token), который делает возможной идентификацию и предоставление защищенного доступа к информации со стороннего домена.
Читать далее
Total votes 6: ↑5 and ↓1 +4
Comments 0

SSO на FreeIPA+Apache+Flask-Login+JWT

Reading time 11 min
Views 12K
Information Security *Website development *Python *Flask *
Всем привет.

В статье описывается разработка и развёртывание системы SSO-аутентификации, использующей Kerberos и JWT. Модуль аутентификации разработан с применением Flask, Flask-Login и PyJWT. Развёртывание выполнено с использованием веб-сервера Apache, сервера идентификации FreeIPA и модуля mod_lookup_identity на CentOS 6/7. В статье много текста, средне кода и мало картинок. В общем, будет интересно.

image
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 7

JSON Web Token и sliding expiration в web-приложении

Reading time 5 min
Views 61K
Information Security *JavaScript *API *
Sandbox
В web-приложениях наиболее распространенным методом аутентификации до настоящего времени являлось использование файлов cookies, которые хранят идентификатор серверной сессии и имеют свой срок годности (expiration date). При этом существует возможность эту дату автоматически продлевать при очередном обращении пользователя на сервер. Такой подход носит название sliding expiration.

Однако в последнее время разработчики стремятся отказаться от использования cookies и серверной сессии в виду ряда причин и ищут альтернативные способы аутентификации. Одним из них является использование JSON Web Token (JWT) — маркер, который содержит в зашифрованном виде всю минимально необходимую информацию для аутентификации и авторизации. При этом не требуется хранить в сессии данных о пользователе, так как маркер самодостаточный (self-contained). Однако это в свою очередь добавляет определенные сложности с контролем над JWT, что может свести на нет все его преимущества перед cookies. На просторах Интернет мною было найдено несколько решений этих проблем, и здесь я бы хотел предложить альтернативный вариант, который, как мне кажется, при своей простоте должен удовлетворить потребности многих проектов.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 8

В ногу со временем: Используем JWT в ASP.NET Core

Reading time 6 min
Views 38K
Microsoft corporate blog Open source *.NET *ASP *
В июне 2016 вышел релиз ASP.Net Core 1.0 и теперь, если вас не пугает возраст нового фреймворка, можно аккуратно запустить микросервис в продакшн (все ведь используют микросервисную архитектуру, не так ли?). Для того, чтобы ограничить доступ к вашему микросервису для третьих лиц, необходимо сделать аутентификацию, используя довольно распространенный способ — токены. В статье под катом мы расскажем подробнее о том, как это сделать с помощью JSON Web Token (JWT), а также о плюсах и минусах этого подхода.


Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Comments 7

Переписываем домашний проект на микросервисы (Java, Spring Boot, Gradle)

Reading time 13 min
Views 70K
Java *Gradle *
Tutorial
Sandbox

Введение


Image


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


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


Всё это было реализовано в виде прототипа — были пользователи, один урок и одна задача для него, возможность отправить код, который компилировался и исполнялся. Кое-какой фронтенд, но в статье о нём речи не будет. Технологии — Spring Boot, Spring Data, Gradle.


В статье будет реализован такой же прототип, но уже на микросервисах. Реализация будет наиболее простым путём (точнее наиболее простым, из известных мне). Реализация будет доступна любому, кто знаком со Spring.

Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Comments 34

Angular — Имплементация безопасных запросов к GraphQL API посредством JWT-токенов

Reading time 5 min
Views 9K
Website development *API *Angular *
Sandbox
Привет Хабр! При реализации Angular проекта, остро встал вопрос о безопасности graphql запросов в Angular 4. Выбор пал на JSON Web Tokens. Это открытый стандарт по RFC 7519.

Работает JWT по следующей схеме:
image
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Comments 24

Как ты реализуешь аутентификацию, приятель?

Reading time 10 min
Views 106K
VK corporate blog Information Security *Website development *
Translation


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


Нельзя отрицать, что в любых приложениях и ОС «аутентификация» — крайне важный элемент обеспечения сохранности пользовательских данных и регулирования доступа к информации. Чтобы понять, какой метод аутентификации для вас лучше, нужно разбираться в достоинствах и недостатках всех методов, а также неплохо представлять, как же они работают.


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

Читать дальше →
Total votes 89: ↑82 and ↓7 +75
Comments 90

Мега-Учебник Flask, Часть X: Поддержка электронной почты (издание 2018)

Reading time 14 min
Views 32K
Website development *Python *Flask *
Tutorial

Miguel Grinberg




Туда Сюда


Это десятая часть серии Mask-Tutorial Flask, в которой я расскажу вам, как приложение может отправлять электронные письма вашим пользователям и как создать функцию восстановления пароля при поддержке адреса электронной почты.

Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 9

Что мы читали в июне: новости про Angular, JWT, блокчейн-скандал и немного дзена

Reading time 4 min
Views 3.9K
Skyeng corporate blog Reading room


Из-за футбола количество прочитанного несколько сократилось, зато у меня появилась возможность разбавить традиционную подборку полезных ссылок про Angular просто любопытным чтивом на выходные, которое также проскакивало и обсуждалось в нашем корпоративном Слаке. Это чтиво – про скандал с Tezos, JSON от Netflix, не-двоичные компьютеры и дзен-программирование.
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 0

Hack the JWT Token

Reading time 4 min
Views 56K
Information Security *Website development *Web services testing *
Tutorial

For Educational Purposes Only! Intended for Hackers Penetration testers.

Issue


The algorithm HS256 uses the secret key to sign and verify each message. The algorithm RS256 uses the private key to sign the message and uses the public key for authentication.

If you change the algorithm from RS256 to HS256, the backend code uses the public key as the secret key and then uses the HS256 algorithm to verify the signature. Asymmetric Cipher Algorithm => Symmetric Cipher Algorithm.

Because the public key can sometimes be obtained by the attacker, the attacker can modify the algorithm in the header to HS256 and then use the RSA public key to sign the data.
The backend code uses the RSA public key + HS256 algorithm for signature verification.

Example


Vulnerability appear when client side validation looks like this:

const decoded = jwt.verify(
   token,
   publickRSAKey,
   { algorithms: ['HS256'  , 'RS256'] }          //accepted both algorithms 
)

Lets assume we have initial token like presented below and " => " will explain modification that attacker can make:

//header 
{
alg: 'RS256'                         =>  'HS256'
}
//payload
{
sub: '123',
name: 'Oleh Khomiak',
admin: 'false'                       => 'true'
}

The backend code uses the public key as the secret key and then uses the HS256 algorithm to verify the signature.
Read more →
Total votes 12: ↑10 and ↓2 +8
Comments 0

Spring Boot — OAuth2 и JWT

Reading time 13 min
Views 79K
OTUS corporate blog Programming *Java *
Translation
Салют, друзья! Уже завтра стартуют первые занятия в новом потоке курса «Разработчик на Spring Framework». В связи с этим традиционно делимся полезным материалом по теме.



В этой статье мы изучим использование OAuth2 и JWT совместно со Spring Boot и Spring Security.

Сервер авторизации (Authorization Server)


Сервер авторизации (Authorization Server) является наиболее важным компонентом в архитектуре безопасности Web API. Сервер авторизации действует как единая точка авторизации и позволяет вашим приложениям и HTTP endpoints определять функции вашего приложения.

Сервер ресурсов (Resource Server)


Сервер авторизации предоставляет клиентам токен доступа для доступа к HTTP Endpoints сервера ресурсов (Resource Server). Сервер ресурсов — это коллекция библиотек, которая содержит HTTP Endpoints, статические ресурсы и динамические веб-страницы.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 5

Шпаргалки по безопасности: JWT

Reading time 9 min
Views 46K
Акрибия corporate blog Information Security *


Многие приложения используют JSON Web Tokens (JWT), чтобы позволить клиенту идентифицировать себя для дальнейшего обмена информацией после аутентификации.

JSON Web Token – это открытый стандарт (RFC 7519), который определяет компактный и автономный способ безопасной передачи информации между сторонами в виде объекта JSON.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 39

JWT: Атака на цифровую подпись VS MAC-атака

Reading time 4 min
Views 6K
OTUS corporate blog Information Security *Python *
Translation
Всем привет. Ни для кого не секрет, что ежемесячно OTUS запускает несколько абсолютно новых уникальных курсов, в этом месяце в их число вошел курс «Пентест. Практика тестирования на проникновение». По устоявшейся традиции, в преддверии старта курса, делимся с вами переводом полезного материала по данному направлению.





Во время последнего пентеста я наткнулся на схему авторизации на основе JSON Web Token (или просто JWT). JWT состоит из трех частей: заголовок, полезная нагрузка, информация для верификации. Первая часть заголовка содержит имя алгоритма, который в дальнейшем будет использоваться для верификационной части JWT. Это опасно, так как злоумышленник может изменить эту информацию и таким образом (возможно) проконтролировать, какая схема будет использоваться сервером для проверки.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 1

Безопасный способ обмена JWT в ASP.NET Core + SPA

Reading time 8 min
Views 35K
.NET *ASP *
Sandbox

Вступление


Идентификация по JWT (JSON Web Token) — это довольно единообразный, согласованный механизм авторизации и аутентификации между сервером и клиентами. Преимущества JWT в том, что он позволяет нам меньше управлять состоянием и хорошо масштабируется. Неудивительно, что авторизация и аутентификация с его помощью все чаще используется в современных веб-приложениях.
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Comments 10