From e057270e3c2cb5eaf78dfbce5e0f63039be6827c Mon Sep 17 00:00:00 2001 From: Caffeine-rohit Date: Mon, 3 Feb 2025 18:28:31 +0530 Subject: [PATCH 1/2] Added image to assets folder for feature update --- assets/double-clickjacking-attack-flow.webp | Bin 0 -> 54680 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/double-clickjacking-attack-flow.webp diff --git a/assets/double-clickjacking-attack-flow.webp b/assets/double-clickjacking-attack-flow.webp new file mode 100644 index 0000000000000000000000000000000000000000..6ef94cb32d4ffacb05b17a3cb48ce6f0028fb171 GIT binary patch literal 54680 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 I00000063_F>;M1& literal 0 HcmV?d00001 From b471155b8bf89e8cfabab2c5ef8a3987d50e368b Mon Sep 17 00:00:00 2001 From: Caffeine-rohit Date: Mon, 3 Feb 2025 20:08:31 +0530 Subject: [PATCH 2/2] Add updates to Clickjacking Cheatsheet by adding double Clickjacking into it --- .../Clickjacking_Defense_Cheat_Sheet.md | 169 +++++++++++++++++- 1 file changed, 167 insertions(+), 2 deletions(-) diff --git a/cheatsheets/Clickjacking_Defense_Cheat_Sheet.md b/cheatsheets/Clickjacking_Defense_Cheat_Sheet.md index 23dfe052f0..b13a6f187a 100644 --- a/cheatsheets/Clickjacking_Defense_Cheat_Sheet.md +++ b/cheatsheets/Clickjacking_Defense_Cheat_Sheet.md @@ -1,8 +1,10 @@ -# Clickjacking Defense Cheat Sheet +# Clickjacking and Double Clickjacking Defense Cheat Sheet ## Introduction -This cheat sheet is intended to provide guidance for developers on how to defend against [Clickjacking](https://owasp.org/www-community/attacks/Clickjacking), also known as UI redress attacks. +This cheat sheet is intended to provide guidance for developers on how to defend against [Clickjacking](https://owasp.org/www-community/attacks/Clickjacking) (also known as UI redress attacks) and [Double Clickjacking](https://www.paulosyibelo.com/2024/12/doubleclickjacking-what.html?m=1) (also called forced multi-click exploitation) + +## Clickjacking There are three main mechanisms that can be used to defend against these attacks: @@ -311,3 +313,166 @@ Activate [designMode](https://developer.mozilla.org/en-US/docs/Web/API/Document/ ```javascript document.designMode = "on"; ``` + +## Double Clickjacking + +### Introduction + +**Double Clickjacking** is an advanced variant of Clickjacking that exploits rapid user interactions by requiring two consecutive clicks to execute a malicious action. Unlike traditional Clickjacking, which typically relies on a single deceptive click, Double Clickjacking increases the attack success rate by bypassing single-click protections and evading common security measures. + +## Attack Scenario + +1. The attacker loads a malicious webpage containing a transparent iframe overlaying a legitimate website. + +2. The user is tricked into clicking an element (e.g., a button or link), thinking it belongs to the attacker’s site. + +3. The first click moves the transparent iframe into position over a critical UI element of the target website. + +4. The second click executes a malicious action, such as transferring funds, changing security settings, or posting content without user consent. + +## Ineffective Defenses + +Traditional Clickjacking protections are ineffective against Double Clickjacking, as noted in research by Paulos Yibelo: + +### 1. **X-Frame-Options:** + + Attackers manipulate iframe positions dynamically, making this defense ineffective. + +### 2. **Content Security Policy (CSP) Frame-Ancestors:** + +This protection does not prevent UI manipulation via JavaScript or CSS. + +### 3. **SameSite Cookies:** + +Attackers do not need cross-site requests, rendering this defense ineffective. + +## Advanced Mitigation Strategies + +Given the shortcomings of traditional defenses, the following advanced approaches offer stronger protection against Double Clickjacking: + +### **1. Detect Hidden Iframes Using Intersection Observer** + +**Concept:** Attackers often use transparent or off-screen iframes. This detects and alerts users if such an iframe is capturing interactions. + +```javascript +const observer = new IntersectionObserver(entries => { + entries.forEach(entry => { + if (!entry.isIntersecting) { + alert("Warning: A hidden iframe may be attempting a Clickjacking attack!"); + } + }); +}, { threshold: 0.5 }); + +document.querySelectorAll("iframe").forEach(iframe => observer.observe(iframe)); +``` + +✅ Prevents hidden iframe overlays from capturing clicks. + +✅ Ensures users interact only with visible elements. + +#### **2. Enforce Click-Only on Trusted Domains** + +**Concept:** Attackers host iframes on malicious domains. This script ensures actions only occur if the request comes from a trusted domain. + +```javascript +if (document.referrer && !document.referrer.includes("your-website.com")) { + alert("Warning: Clicks from an untrusted source detected!"); +} +``` + +✅ Blocks interactions initiated from untrusted sites. + +✅ Prevents attacks executed via external embedding. + +### **3. Delayed Click Action (Click Delay)** + +**Concept:** Prevents rapid unintended double-clicks by enforcing a minimum delay between clicks. + +```javascript +let lastClickTime = 0; +document.getElementById("submitButton").addEventListener("click", function (event) { + const now = Date.now(); + if (now - lastClickTime < 500) { // 500ms delay + event.preventDefault(); + alert("Double-click detected! Please click only once."); + } else { + lastClickTime = now; + // Proceed with the action + } +}); +``` + +✅ Makes it harder for attackers to exploit timing tricks. + +✅ Prevents unintended double-clicks on sensitive actions. + +#### **4. Trusted Interaction Verification** + +**Concept:** Adds an explicit user confirmation step before executing sensitive actions. + +```javascript +function confirmAction() { + let confirmation = confirm("Are you sure you want to proceed?"); + if (confirmation) { + // Perform action + } +} +``` + +✅ Requires user intent verification before execution. + +✅ Reduces accidental malicious actions. + +### **5. Prevent Rapid UI Manipulation Using Mutation Observers** + +**Concept:** Monitors for sudden UI changes (such as iframe repositioning) and blocks suspicious activity. + +```javascript +const observer = new MutationObserver(mutations => { + mutations.forEach(mutation => { + if (mutation.type === "childList" || mutation.type === "attributes") { + alert("Suspicious UI changes detected!"); + } + }); +}); +observer.observe(document.body, { childList: true, subtree: true, attributes: true }); +``` + +✅ Detects hidden UI manipulations in real time. + +✅ Prevents attackers from dynamically repositioning elements for Clickjacking attacks. + +### **6. Require Intent-Based Gestures for Critical Actions** + +**Concept:** Instead of a simple click, users must perform a deliberate gesture, like dragging a slider, before confirming actions. + +```html + + + +``` + +**How the Slider Works:** +A slider is an effective method for ensuring deliberate user intent before executing a critical action. Instead of a simple button click—which can be accidental or manipulated—users must perform an intentional gesture, such as sliding to a specific position, to confirm their choice. + +✅ Users must actively confirm before execution. + +✅ Prevents forced clicks leading to unintended actions. + +## Conclusion + +**Double Clickjacking** is a sophisticated attack that evades traditional Clickjacking defenses. Implementing a combination of Intersection Observer detection, Click Delay, Pointer Events, Trusted Domain Enforcement, Trusted Interaction Verification, Mutation Observers, and Gesture-Based Confirmations provides robust protection against this emerging threat. A layered security approach is essential to safeguarding users from evolving Clickjacking techniques. + +### For a more in-depth understanding of double-click jacking and its implications, you can refer to the following articles- + +- [New "DoubleClickjacking" Exploit Bypasses Clickjacking Protections](https://thehackernews.com/2025/01/new-doubleclickjacking-exploit-bypasses.html) + +- [Don’t Click Twice—New Chrome, Edge, Safari Hack Attack Warning](https://www.forbes.com/sites/daveywinder/2025/01/05/dont-click-twice-new-chrome-edge-safari-hack-attack-warning/) + +- [Emerging ‘DoubleClickjacking’ Threat Exploits Double-Clicks for Account Hijacking](https://www.bitdefender.com/en-us/blog/hotforsecurity/emerging-doubleclickjacking-threat-exploits-double-clicks-for-account-hijacking)