HTTP-rubriker är en typ av metadata som skickas med webbförfrågningar och svar, informationen de tillhandahåller kan vara viktig eller helt enkelt vara informativ. Säkerhetsrubriker är en delmängd av "Svarshuvuden" som kan ställas in av webbservern, de är en av funktionerna som kan hjälpa till att lösa ett antal säkerhetsproblem. En av säkerhetsrubrikerna, kallad "X-Frame-Options" är utformad för att förhindra klick-jackattacker.
Click-Jacking
Click-jacking, även känd som "User Interface Redressing", är ett problem där en angripare kan lura en användare att klicka på något som inte är vad det ser ut att vara. För webbplatser görs detta genom att lägga en transparent webbplats över en synlig. I denna typ av attack tror användaren att de interagerar med den synliga webbplatsen men i verkligheten påverkar de omedvetet den transparenta webbplatsen.
En angripare kan till exempel skapa en webbplats som gör det troligt att en användare klickar på en knapp, kanske en uppspelningsknapp för en video. I ett genomskinligt lager ovanpå den webbsidan finns en andra webbsida, till exempel webbsidan för att radera ditt Facebook-konto med knappen "Radera konto" placerad direkt över uppspelningsknappen. I det här scenariot när användaren försöker klicka på play, klickar de faktiskt på knappen för att ta bort sitt Facebook-konto.
Click-jacking bygger på möjligheten att visa målwebbplatsen överst på dummywebbplatsen, genom en process som kallas "Framing". Framing använder HTML-elementet "iframe" som kan ladda en hel separat webbsida på en annan sida. Genom att ladda målwebbsidan i en ram, placera den noggrant och göra den genomskinlig, kommer offret att vara helt omedvetet om att de blir lurade att utföra en åtgärd.
X-Frame-alternativ
HTTP-svarshuvudet "X-Frame-Options" är en valfri funktion som kan ställas in för webbplatser i serverkonfigurationsfilerna. X-Frame-Options förhindrar webbsidor från att laddas i iframes, vilket förhindrar att de överlagras över en annan webbplats. Offrets webbläsare tillämpar faktiskt säkerhetskontrollen, detta beror på att alla webbläsare respekterar X-Frame-Options-huvudet och kommer att vägra att ladda några webbsidor med rubriken inställd i en ram.
Rubriken låter webbplatsägaren konfigurera hur restriktiv inställningen är. Det finns två inställningar: "X-Frame-Options: DENY" förhindrar att en skyddad webbsida någonsin ramas in. Det andra alternativet, "X-Frame-Options: SAMEORIGIN", tillåter att skyddade webbsidor ramas in, endast om sidan som laddar ramen har samma domännamn. I det här fallet kan du ladda en ram på din egen webbplats men ingen annan kan ladda den på deras.