Javascript и безопасность: на что обратить внимание

  • 3 октября, 13:14
  • 3746
  • 0

Javascript - это высокоуровневый интерпретируемый динамически типизированный язык программирования. Он взаимодействует с DOM пользователя для выполнения различных функций.

С момента своего появления в 1995 году, он прогрессивно развивался, теперь его используют и для кроссплатформенной разработки.

Со времени его выпуска были случаи нарушения безопасности Javascript. Даже Facebook от этого пострадал. Чтобы покончить с этими уязвимостями безопасности, эксперты предлагают некоторые меры, которые должны быть реализованы, чтобы сдержать риск. 

Javascript и безопасность: на что обратить внимание

К ним относятся параметры запроса, путь URL-адреса, параметр PUT/POST, файлы cookie, заголовки реферера, загрузка файлов, электронные письма, поля формы, веб-сокеты, локальное/сеансовое хранилище браузера и т. д.

Межсайтовый скриптинг (XSS)

Это одна из самых распространенных уязвимостей в приложении. XSS возникает, когда любой вредоносный, нежелательный или несанкционированный фрагмент кода Javascript запускается в браузере жертвы или в приложении. Это может привести к краже данных, перенаправлению пользователя или скомпрометированию данных буфера обмена или истории браузера. И это не может быть отфильтровано через брандмауэр веб-приложения.

XSS возникает, когда приложение использует параметры данных и передает их в браузер без надлежащей проверки данных.

Профилактика:

  • Проверка и дезинфекция всех пользовательских вводимых данных.
  • Шифруйте выходные данные для определенного содержимого, особенно в тех случаях, когда выходные данные содержат теги HTML.
  • Установите правильные заголовки, такие как строгая транспортная безопасность, X-frame-options, X-XSS-protection, X-Content-Type-Options, Content-Security-Policy.

Подделка межсайтовых запросов (CSRF)

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

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

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

Профилактика:

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

Управление сеансами 

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

Профилактика:

  • Не выставляйте токены сессии в URL.
  • Токены сеанса должны иметь тайм-аут.
  • Воссоздавайте токены сессии после каждого успешного входа в систему.
  • Используйте HTTPS для отправки токенов.
  • Используйте соответствующие разрешения.
  • Используйте только известный механизм аутентификации.

Используйте SSL / TLS (HTTPS).

  • Зашифруйте все конфиденциальные данные.
  • Не храните ненужные данные.
  • Отключите кэш в формах, которые хранят конфиденциальные данные.

Управление паролями

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

Обработка файлов cookie

Для файлов cookie установите следующие флажки:

  • Безопасный: только для использования по HTTPS.
  • Не разрешайте доступ к cookie через Javascript.

0 комментариев
Сортировка:
Добавить комментарий