X-Frame-Options: DENY не работает для весенней загрузки REST API

Мой проект имеет ExtJs в качестве внешнего интерфейса и загрузку Spring в качестве внутреннего интерфейса. ExtJs вызовет весеннюю загрузку, которая ответит JSON. Я хотел предотвратить атаку clickjacking в своем проекте. У меня есть простой html-скрипт, который просто загружает веб-сайт в iframe. Если веб-сайт загружается в iframe, это означает, что он небезопасен. Я добавил следующие флаги X-Frame-Options: DENY and Content-Security-Policy: frame-ancestors 'none'; в ответ REST API весенней загрузки, чтобы предотвратить это. Но даже в этом случае это не мешает загрузке моего приложения в iframe. Код для проверки возможности кликджекинга:

<html>
<head>
<title>Clickjack test page</title>
</head>
<body>
<p>Website is vulnerable to clickjacking!</p>
<iframe src="http://localhost:8000" width="1000" height="1000"></iframe>
</body>
</html>

`

Здесь localhost:8000 относится к URL-адресу extjs. Я исследовал и обнаружил, что проверки на стороне клиента для предотвращения кликджекинга не так эффективны. Итак, есть ли какие-либо варианты предотвращения атаки кликджекинга в моем проекте?


person Priya    schedule 06.01.2020    source источник
comment
Можете ли вы получить X-Frame-options: DENY в качестве API формы заголовка ответа   -  person Vignesh Ammasi    schedule 06.01.2020
comment
да, X-Frame-Options: DENY находится в поле заголовков ответа   -  person Priya    schedule 06.01.2020


Ответы (3)


Используйте параметр «DENY», чтобы запретить кадрирование, или «SAMEORIGN», чтобы разрешить кадрирование исходным доменом только в том случае, если это требуется для работы приложения.

Устаревшие браузеры могут не поддерживать заголовок «XFRAME OPTIONS» и требовать защиты на основе JavaScript от кликджекинга. Информацию о защите на основе JavaScript можно найти по адресу https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Shee

person Adesh shetty    schedule 06.01.2020
comment
Мой вариант использования предназначен только для опции DENY. Мой браузер не старый. Когда я пытаюсь загрузить google.com [у которого есть заголовок X-Frame_Options] вместо моего URL, страница не загружается, с ошибкой в ​​​​консоли, что установлен заголовок, поэтому она не может быть загружена - person Priya; 06.01.2020

X-Frame-Options: DENY должен помочь, если он доступен в заголовке ответа. Это не позволит сайту загружаться в iframe по умолчанию в настройках браузера. Если у вас могут быть изменены настройки браузера или у вас есть какой-либо плагин, который отключает параметры iframe, он не будет работать. можно попробовать через другой браузер или в режиме инкогнито

person Vignesh Ammasi    schedule 06.01.2020
comment
заголовок перекрестного происхождения уже есть, но проблема не связана с вещью перекрестного происхождения - person Priya; 06.01.2020

Проблема была решена путем установки Header always append X-Frame-Options DENY в файле конфигурации сервера apache.

person Priya    schedule 07.01.2020