Javascript - это высокоуровневый интерпретируемый динамически типизированный язык программирования. Он взаимодействует с DOM пользователя для выполнения различных функций.
С момента своего появления в 1995 году, он прогрессивно развивался, теперь его используют и для кроссплатформенной разработки.
Со времени его выпуска были случаи нарушения безопасности Javascript. Даже Facebook от этого пострадал. Чтобы покончить с этими уязвимостями безопасности, эксперты предлагают некоторые меры, которые должны быть реализованы, чтобы сдержать риск.
К ним относятся параметры запроса, путь 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 комментариев
Добавить комментарий