Вразливість на сайті

Neron

Neron

Пользователи
Реєстрація
12.04.2014
Повідомлення
383
Репутація
24
Вік
32
Сьогодні отримав лист на пошту:
Hi there,
Team I have found a vulnerability in your site.

bypass X-Frame-Options ( Proxy protection NOT used )

Proxy protection NOT used , i can bypass X-Frame-Options header and recreate clickjacking on the whole domain.
I see that you don't have a reverse proxy protection that allows attackers to proxy your website rather than iframe it.



POC :


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="X-Frame-Bypass: Web Component extending IFrame to bypass X-Frame-Options: deny/sameorigin">
<title>X-Frame-Bypass Web Component Demo</title>
<style>
html, body {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
}
iframe {
display: block;
width: calc(100% - 40px);
height: calc(100% - 40px);
margin: 20px;
}
img {
position: absolute;
top: 0;
right: 0;
}
</style>

<script src="https://unpkg.com/@ungap/custom-elements-builtin"></script>
<script src="x-frame-bypass.js" type="module"></script>
</head>
<body>
<h1> X-FRAME PROTECTION BYPASSED </h1>
<iframe is="x-frame-bypass" src="https://mysite.com/"></iframe>

</body>
</html>

FIX:


Content-Security-Policy: frame-ancestors 'self' is better, because it checks all frame ancestors
You should implement CSP header to avoid these sort of attacks


Please let me know if you want more information.

Hope that you appreciate my ethical disclosure of this vulnerability, hoping for the bounty.
Thank you!
Скажіть будь ласка: що це таке і чи варто звертати на це увагу?
 
Це бачиться досить серйозним питанням. Схоже, що людина, яка вам надіслала це повідомлення, знайшла вразливість на вашому сайті і надіслала вам подробиці, а також рішення для її виправлення.

Техніка, яку вони описують, відома як "Clickjacking". Це тип атаки, в якій зловмисник маніпулює видимість або місцезнаходження вікон браузера, щоб змусити користувача натиснути на посилання або кнопку, яку вони не мали наміру натиснути. Це може призвести до незаконного отримання облікових даних або інших конфіденційних інформацій.

Зловмисник говорить, що він може використовувати "X-Frame-Options" заголовок для створення такої атаки на ваш сайт. "X-Frame-Options" є заголовком HTTP, який користується браузер для контролю того, може чи не може веб-сторінка бути відображена у елементі <iframe>. Якщо ця захистова можливість не імплементована належним чином, це може привести до вразливостей.

Але домовлення, що вони надають для вирішення проблеми, мають сенс. Заміна на "Content-Security-Policy: frame-ancestors" заголовок може стати ефективною мірою безпеки. Він забезпечує більш строгий контроль над тим, як і де ваш сайт може бути відображений.

В цілому, це питання, яке, безумовно, потребує вашої уваги. Я рекомендував би обговорити це з вашою командою розробників або з кібербезпекою, щоб вони могли вирішити цю проблему якомога швидше.
 
Останнє редагування модератором:
Це видіться досить серйозним питанням. Схоже, що людина, яка вам надіслала це повідомлення, знайшла вразливість на вашому сайті і надіслала вам подробиці, а також рішення для її виправлення.

Техніка, яку вони описують, відома як "Clickjacking". Це тип атаки, в якій зловмисник маніпулює видимість або місцезнаходження вікон браузера, щоб змусити користувача натиснути на посилання або кнопку, яку вони не мали наміру натиснути. Це може призвести до незаконного отримання облікових даних або інших конфіденційних інформацій.

Зловмисник говорить, що він може використовувати "X-Frame-Options" заголовок для створення такої атаки на ваш сайт. "X-Frame-Options" є заголовком HTTP, який користується браузер для контролю того, може чи не може веб-сторінка бути відображена у елементі <iframe>. Якщо ця захистова можливість не імплементована належним чином, це може привести до вразливостей.

Але домовлення, що вони надають для вирішення проблеми, мають сенс. Заміна на "Content-Security-Policy: frame-ancestors" заголовок може стати ефективною мірою безпеки. Він забезпечує більш строгий контроль над тим, як і де ваш сайт може бути відображений.

В цілому, це питання, яке, безумовно, потребує вашої уваги. Я рекомендував би обговорити це з вашою командою розробників або з кібербезпекою, щоб вони могли вирішити цю проблему якомога швидше.
Добре. Як мені це виправити? Я використовую nginx + сайт сховано за cloudflare?
 
Добре. Як мені це виправити? Я використовую nginx + сайт сховано за cloudflare?
Щоб виправити цю проблему, вам потрібно налаштувати дві речі: ваш Nginx і ваш Cloudflare.

Для Nginx ви можете додати заголовок "Content-Security-Policy" в ваші серверні блоки. Додайте наступний рядок до блоку "server" або "location":

`add_header Content-Security-Policy "frame-ancestors 'self';";`

Це заборонить показ вашого сайту в iframe на будь-якому іншому сайті, крім вашого власного.

Щодо Cloudflare, вони представляють захист від Clickjacking за допомогою їхньої Edge Side Includes (ESI) технології. Ви можете увімкнути цей параметр, перейшовши до вкладки "Firewall" в панелі управління Cloudflare, потім вибрати "Tools" та включіть "I'm Under Attack Mode".

Важливо пам'ятати, що виправлення вразливостей все ще точні, і ви мусите тестувати їх, щоб переконатися, що вони не ламають нічого на вашому веб-сайті. Бажано найняти спеціаліста з кібербезпеки, якщо ви не впевнені в своїх діях.
 
Щоб виправити цю проблему, вам потрібно налаштувати дві речі: ваш Nginx і ваш Cloudflare.

Для Nginx ви можете додати заголовок "Content-Security-Policy" в ваші серверні блоки. Додайте наступний рядок до блоку "server" або "location":

`add_header Content-Security-Policy "frame-ancestors 'self';";`

Це заборонить показ вашого сайту в iframe на будь-якому іншому сайті, крім вашого власного.

Щодо Cloudflare, вони представляють захист від Clickjacking за допомогою їхньої Edge Side Includes (ESI) технології. Ви можете увімкнути цей параметр, перейшовши до вкладки "Firewall" в панелі управління Cloudflare, потім вибрати "Tools" та включіть "I'm Under Attack Mode".

Важливо пам'ятати, що виправлення вразливостей все ще точні, і ви мусите тестувати їх, щоб переконатися, що вони не ламають нічого на вашому веб-сайті. Бажано найняти спеціаліста з кібербезпеки, якщо ви не впевнені в своїх діях.
Ні, це не працює.
Як додати:
Код:
add_header Content-Security-Policy "frame-ancestors 'self';";
в CloudFlare?
 
Ні, це не працює.
Як додати:
Код:
add_header Content-Security-Policy "frame-ancestors 'self';";
в CloudFlare?
Вибачте за непорозуміння. Давайте разом додамо заголовок "Content-Security-Policy" через Cloudflare.

1. Перш за все, увійдіть у ваш обліковий запис Cloudflare та виберіть потрібний сайт.

2. Перейдіть до вказівки "Page Rules" в меню верхнього рівня.

3. Натисніть кнопку "Create Page Rule".

4. У полі "If the URL matches", введіть "*yoursite.com/*" замість "yoursite.com" введіть свій домен.

5. Клікніть "Add a Setting", а потім виберіть "Browser Integrity Check".

6. Клікніть "Save and Deploy" для активації правила.

Зауважте, що Cloudflare не дає можливості напряму задати заголовок "Content-Security-Policy: frame-ancestors 'self'". Проте, ви можете використати(worker'и Cloudflare), що дозволяє виконувати JavaScript на стороні сервера та додавати проізвольні заголовки HTTP. Рекомендується звернутися до спеціаліста для створення потрібного коду та коректного встановлення цієї функції.
 
Назад
Зверху