Clickjacking er et angreb, hvor en bruger manipuleres til at klikke på noget andet, end vedkommende tror. Angriberen skjuler eller overlapper legitimt indhold, så brugerens klik udløser handlinger på et andet website i brugerens aktive session.
Angrebet udnytter UI‑lagets tillid.
Clickjacking er beslægtet med CSRF, men sker via UI i stedet for HTTP‑requests.
Clickjacking opstår, når et website kan indlejres i et andet site via <iframe> eller lignende teknikker, uden at beskytte sig mod misbrug.
Angriberen:
Indlejrer målsiden i et usynligt eller delvist synligt lag
Placerer lokkende UI‑elementer ovenpå
Fanger brugerens klik
Brugeren tror, der klikkes ét sted, men handler et andet.
Sårbarheden opstår når:
Siden mangler frame‑restriktioner
Sikkerhedsheaders ikke er sat korrekt
UX‑lag antages at være sikkert
Typiske mål:
Admin‑paneler
Kontoindstillinger
Betalingsflows
OAuth‑consent‑skærme
Uautoriserede handlinger i brugerens session
Ændring af indstillinger
Udløsning af CSRF‑lignende effekter
Misbrug af brugerrettigheder
Økonomiske tab
Mistillid til platformen
Overtrædelse af sikkerhedskrav for brugerinteraktion
Audit findings ved penetration tests
“Klik for at vinde” skjuler en “Slet konto”‑knap
Brugeren giver utilsigtet adgang til tredjeparts‑app
Klik på skjult “Enable feature” eller “Transfer funds”
Angriber opretter en lokkende side
Indlejrer målsiden i en iframe
Skjuler eller flytter visuelle elementer
Offeret klikker
Handling udføres i legitim session
CAPTCHA
Login
HTTPS alene
CSRF‑tokens
Hvis UI’et kan misbruges, er sessionen irrelevant.
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
Content-Security-Policy: frame-ancestors ‘none’
CSP er den moderne løsning.
Bekræftelsesdialoger for kritiske handlinger
Re‑auth for sensitive ændringer
Adskil administrative handlinger fra UI‑klik
Brug server‑side validering af handlinger
Clickjacking er:
Svært for brugeren at opdage
Billigt at udføre
Effektivt mod tillidsbaserede flows
Manglende headers er stadig en hyppig fejl i produktion.
Udfordring: Integration via iframes
Løsning: Brug allow‑list med frame-ancestors
Udfordring: Legacy browsers
Løsning: Kombinér X‑Frame‑Options og CSP
Udfordring: “Det er kun UI”
Løsning: UI er et angrebsinterface
Clickjacking udnytter, at brugeren klikker i god tro.
Hvis din applikation kan indlejres frit, kan den misbruges.
UI‑sikkerhed er ikke kosmetik.
Det er adgangskontrol i forklædning.