Kapning av QR-kodsomdirigering: Den osynliga mellanhanden
När din QR-kod fungerar är mellanhanden osynlig. När den går sönder är det för sent. Att förstå omdirigeringsmodellen är första steget till att undvika den.
Varje dynamisk QR-kod du någonsin skannat involverade en tredje part du aldrig valde. Mellan telefonkameran och destinationswebbplatsen vidarebefordrade en omdirigeringsserver som ägs av QR-leverantören tyst begäran. De flesta användare märker aldrig. Det är själva poängen.
Den här artikeln förklarar hur kapning av omdirigering ser ut i praktiken, vad mellanhanden faktiskt gör och vad som står på spel.
Omdirigeringssekvensen
När du skannar en statisk QR för https://shop.example.com:
- Kameran läser QR-koden
- OS:et känner igen den som en URL
- Webbläsaren öppnar
https://shop.example.com
Tre steg. Inga tredje parter.
När du skannar en dynamisk QR för samma destination:
- Kameran läser QR-koden, som kodar något i stil med
https://qr-provider.com/r/x7n2 - OS:et öppnar den URL:en
- qr-provider.com tar emot en begäran, loggar den, slår upp
x7n2i sin databas - qr-provider.com utfärdar en 301- eller 302-omdirigering till
https://shop.example.com - Webbläsaren följer omdirigeringen och kommer fram till den verkliga destinationen
Fem steg. En extra part i steg 3 — en du aldrig gick med på, aldrig betalade och inte kan se.
Vad mellanhanden får
Varje enskild skanning producerar en serverloggpost som innehåller:
- Tidsstämpel för skanningen
- IP-adress för skannern
- User-agent-sträng (enhet, OS, webbläsare)
- Referrer-header (varifrån skannern kom, om tillämpligt)
- Accept-Language-header (språkpreferens)
Utifrån dessa kan leverantören dra slutsatser om: ungefärlig geografisk plats, enhetstyp, operativsystemsversion och i aggregat skanningsmönster över tid. Detta marknadsförs till kunder som "analys". Det är också, på samma gång, övervakning av de personer som skannar dina koder — som aldrig samtyckt.
Vad mellanhanden kan göra
Ändra destinationen
Omdirigeringsdestinationen lever i leverantörens databas. QR-ägaren kan vanligtvis redigera den via en instrumentpanel. Detta säljs som en funktion, och för vissa användningsfall är det verkligen det. Men det betyder att QR-koden inte längre är vad den verkar vara. Den fysiska artefakten säger "skanna för att besöka vår sajt". Det faktiska beteendet är vad leverantörens databas säger idag.
Inaktivera omdirigeringen
Om ägarens prenumeration löper ut, eller kontot stängs, eller leverantörens ToS överträds, kan omdirigeringen tas bort. Varje tryckt kopia av QR-koden slutar omedelbart fungera. Användare skannar och ser en generisk felsida eller 404.
Injicera en mellansida
Vissa leverantörer dirigerar dynamiska QR-skanningar genom en märkt mellansida innan den slutliga omdirigeringen — visar annonser, ber om samtycke, samlar in e-postadresser. QR-ägaren gick vanligtvis inte med på detta. Det läggs till senare, när leverantören monetiserar mer aggressivt.
Sälj eller förlora skanningsdata
Skanningsloggar är värdefulla. De har sålts till analysmäklare, använts för att träna modeller för annonsriktning och — i åtminstone några dokumenterade intrång — läckt när leverantörer komprometterats. Dina kunder skannade en meny; nu lever deras enhetsfingeravtryck i en intrångsdataset.
Varför användare aldrig märker
Moderna webbläsare följer omdirigeringar automatiskt. Om du inte har utvecklarverktyg öppna ser du inte det mellanliggande hoppet. Skanningen känns omedelbar eftersom omdirigeringen är snabb (när den fungerar). Ur användarens perspektiv beter sig en dynamisk QR identiskt med en statisk.
Tills omdirigeringsservern misslyckas. Då divergerar upplevelsen skarpt — men vid den tidpunkten är QR-koden redan tryckt på tusen ytor.
Säkerhetskonsekvenser
En omdirigeringsserver är en enda felpunkt för varje QR-kod som är beroende av den. Tre attackytor värda att överväga:
- Kontoövertagande. Om en angripare får tillgång till QR-ägarens leverantörskonto kan de omdirigera varje QR till en nätfiskessida. Kunder skannar den fysiska koden i förväntan om restaurangmeny; de landar på en kopia av restaurangens inloggningssida som skördar inloggningsuppgifter.
- Leverantörskompromiss. Om själva QR-leverantören bryts kan varje dynamisk QR i cirkulation potentiellt omdirigeras till angriparkontrollerat innehåll. Detta är inte teoretiskt — intrångsrapporter finns för flera QR-as-a-service-leverantörer.
- DNS- eller TLS-fel hos leverantören. Om omdirigeringsdomänen slutar lösas eller TLS-certifikatet löper ut, misslyckas varje QR som är beroende av det. Ingen illvillig aktör — bara vanlig driftsrisk som QR-ägaren inte kontrollerar.
Statiska QR-koder har ingen av dessa fellägen, för det finns ingen tredjepartsserver mellan skanningen och destinationen.
Så kontrollerar du om du skannar en omdirigering
Använd en QR-skanner som visar det avkodade innehållet innan den följer det — vår webbskanner gör det. Skanna QR-koden och inspektera den avkodade URL:en. Om det är din faktiska destination är QR:en statisk. Om det är något i stil med qrco.de/xyz eller en kort domän du inte känner igen, är det en omdirigering — och en tredje part sitter i mitten.
Alternativet
Generera QR-koder som kodar din destination direkt. Inga tredjepartsservrar, inga omdirigeringsloggar, ingen prenumeration. Se statiska vs dynamiska QR-koder för den fullständiga jämförelsen och sanningen om QR-kodbedrägerier för varför mellanhandsmodellen dominerar branschen.
Eller generera bara en statisk QR-kod och sluta oroa dig.
Redo för en statisk QR-kod?
Skapa en i din webbläsare — inget konto, ingen spårning, ingen prenumeration. Det du skapar tillhör dig.
Relaterad läsning
Sanningen om QR-kodbedrägerier: Hur "gratis"-generatorer pressar användare
Dynamiska QR-koder låter leverantörer spåra, redigera, inaktivera och tjäna pengar på dina koder efter att du tryckt dem. Så här fungerar schemat och hur man undviker det.
Statiska vs dynamiska QR-koder: Vad varje användare borde veta
Den ena kodar ditt innehåll; den andra kodar en omdirigering. Just den skillnaden avgör om din QR-kod fortfarande kommer att fungera om fem år.
Prenumerations-QR-fällan: Hur leverantörer håller dina länkar som gisslan
Betet är en gratis QR-kod. Kroken är att den bara fungerar så länge du betalar. Fällan stängs den dag du trycker tiotusen kopior.
5 varningstecken på att din QR-generator är en fälla
Fem signaler som skiljer ärliga QR-verktyg från dynamic-first-generatorer som senare kommer ta ut hyra av dig eller inaktivera dina koder.