doubleclickjacking

Bypass clickjacking protections using double-click timing without iframes.

11|1|Updated May 4, 2026
One-click install
npx skills add https://github.com/dreadnode/capabilities --skill doubleclickjacking
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: doubleclickjacking
Source: https://github.com/dreadnode/capabilities/tree/main/capabilities/web-security/skills/doubleclickjacking
Command: npx skills add https://github.com/dreadnode/capabilities --skill doubleclickjacking

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Standard clickjacking protections including X-Frame-Options, CSP frame-ancestors, and SameSite cookies block traditional iframe-based clickjacking attacks, leaving sensitive one-click actions like OAuth authorization, account deletion, and email changes vulnerable to a new double-click timing variant that bypasses all these defenses.

Core Features & Use Cases

  • Double-Click Timing Bypass: Exploits the short gap between mousedown and mouseup in a double-click to load a target sensitive action page in a new window, avoiding all framing-based security controls.
  • No Iframe Required: Operates without embedding the target application in an iframe, rendering X-Frame-Options and CSP frame-ancestors completely ineffective.
  • Use Case: Test the security of OAuth authorization flows, account management endpoints, and permission grant features that lack additional confirmation steps such as modals, re-authentication, or CAPTCHAs.

Quick Start

Use the doubleclickjacking skill to test if a sensitive one-click action on your target web application is vulnerable to double-click timing clickjacking attacks.

Frequently Asked Questions about doubleclickjacking

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How can I bypass X-Frame-Options and CSP frame-ancestors to test clickjacking vulnerabilities?

Double-click timing attacks bypass X-Frame-Options and CSP frame-ancestors by exploiting the mousedown-mouseup gap to load target actions in a new window, avoiding iframe embedding entirely for authorized security testing.

Does clickjacking protection like SameSite cookies stop double-click timing attacks?

SameSite cookies do not stop double-click timing attacks because this variant operates without embedding the target application in an iframe, rendering traditional framing-based security controls ineffective against sensitive one-click actions.

What web security actions are vulnerable to double-click clickjacking attacks?

Sensitive one-click web actions lacking additional confirmation steps are vulnerable, including OAuth authorization endpoints, account management actions like delete account and change email, and permission grant flows.

How do I test if an OAuth authorization flow is vulnerable to clickjacking without iframes?

Test OAuth authorization flows by simulating a double-click timing attack that loads the sensitive action page in a new window during the mousedown-mouseup gap, bypassing standard iframe-based clickjacking protections.

When should I use double-click timing attacks instead of traditional iframe clickjacking?

Use double-click timing attacks when traditional iframe clickjacking is blocked by X-Frame-Options, CSP frame-ancestors, or SameSite cookies, and the target action lacks modals, re-authentication, or CAPTCHAs.

Why do one-click web actions remain vulnerable when standard clickjacking defenses are enabled?

One-click web actions remain vulnerable because double-click timing attacks exploit the short gap between mousedown and mouseup to execute sensitive actions in a new window, bypassing all framing-based security controls completely.