Vinsajten.com — säkerhetsluckor

Privat demo för ägaren. Sidan är noindex — den syns inte på Google.

Lucka 1 — Clickjacking

Hela butiken kan bäddas in i en fejkad sida

Siten skickar ingen X-Frame-Options och har inget skydd mot att läggas i en iframe. Nedan är din riktiga butik inbäddad i en fejkad sida med ett vinstbudskap ovanpå. En angripare gör samma sak men med en osynlig kopia och en lockande knapp — och stjäl klick eller inloggning.

🎁 DU HAR VUNNIT EN FLASKA!Bekräfta din ålder och hämta priset nedan
Lucka 2 — Sessionskakan är oskyddad

Inloggningskakan saknar tre skydd

När du loggar in sätter butiken den här kakan. Den saknar Secure, HttpOnly och SameSite:

Set-Cookie: PHPSESSID=5svj166biqk8gd0d3e0red0347; path=/
Lucka 3 — Säkerhetsheaders saknas

Siten svarar utan något av de grundläggande skydden

Det enda som skickas är server: Apache — som också avslöjar vilken stack som körs.

Lucka 4 — Ingen åldersgräns

Man ser priser och lägger varor i kundvagnen utan ålderscheck

Varken startsidan, leveransvillkoren eller "så handlar du" frågar efter 18/20 år. För en alkoholbutik i Sverige är det här den lucka som kan kosta mest — juridiskt.

Åtgärden tar fem minuter

Lägg in detta i .htaccess (och cookie-flaggor i php.ini) så stängs lucka 1–3 på en gång:

<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
  Header always set X-Content-Type-Options "nosniff"
  Header always set X-Frame-Options "SAMEORIGIN"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
  Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()"
</IfModule>

# php.ini
session.cookie_httponly = 1
session.cookie_secure = 1
session.cookie_samesite = Lax
Demo skapad 2026-10-07 · noindex · riktar sig enbart till vinsajten.com