Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

Module 3 · 3.2

Domeinen en links lezen

Module 3: Phishing herkennen · Leestijd: 13 minuten

Leerdoel: Na deze les kun je van elke link het echte doel bepalen: je vindt het registreerbaar domein met de publieke suffixlijst en je herkent subdomein-, pad- en @-trucs, lookalikes, punycode, verkorters en open redirects.
Kernbegrippen: URL, schema, host, registreerbaar domein, publieke suffix, subdomein, pad, lookalike, typosquatting, homograaf, punycode (xn--), URL-verkorter, open redirect

De onderdelen van een link

Een webadres heet een URL. Hij bestaat uit vaste onderdelen:

https://inlog.mijnbank.example:443/klant/overzicht?taal=nl#saldo
OnderdeelIn dit voorbeeldWat het doet
SchemahttpsHoe de browser verbinding maakt
Hostinlog.mijnbank.exampleMet welke server je praat
Poort (zelden te zien)443Het "deurnummer" op die server
Pad/klant/overzichtWelke pagina op die server
Query?taal=nlExtra gegevens voor de pagina
Fragment#saldoEen plek op de pagina

De host is het enige deel dat bepaalt van wie de site is. Pad, query en fragment bepaalt de eigenaar van die host zelf. Daar kan dus alles staan, ook de naam van een andere organisatie.

De host lees je van rechts naar links, label voor label. Het eind is het belangrijkst.

Het registreerbaar domein en de publieke suffixlijst

Niet de hele host vertelt wie de eigenaar is, maar één stuk ervan: het registreerbaar domein. Dat is de naam die iemand bij een registrar heeft vastgelegd. Alles links daarvan zijn subdomeinen, en die maakt de eigenaar zelf, zoveel als hij wil.

Om het registreerbaar domein te vinden, moet je weten waar je wél zelf een naam kunt registreren. Zo'n deel heet een publieke suffix. Voorbeelden zijn com, nl en example, maar ook co.uk: in het Verenigd Koninkrijk registreer je als bedrijf een naam onder co.uk. Het registreerbaar domein is dan de publieke suffix plus één label ervoor.

HostPublieke suffixRegistreerbaar domein
www.example.comcomexample.com
inlog.mijnbank.exampleexamplemijnbank.example
www.shop.[naam].co.ukco.uk[naam].co.uk
mijnbank.co.uk.exampleexampleuk.example

De vuistregel "pak de laatste twee stukjes" gaat dus fout. Bij www.shop.[naam].co.uk zou je co.uk krijgen, en dat is van niemand in het bijzonder. En het laatste voorbeeld laat zien dat co.uk midden in een naam niets betekent: daar is uk.example de eigenaar.

Welke suffixen publiek zijn, staat in de Public Suffix List (publicsuffix.org), een lijst die Mozilla is begonnen en die nu door de gemeenschap wordt bijgehouden. Browsers gebruiken hem onder andere om te bepalen welke sites cookies mogen delen en om het belangrijke deel van een adres te laten opvallen. De lijst heeft ook een deel met "private" suffixen: diensten waar klanten een eigen subdomein krijgen, zoals sommige hostings voor blogs en projectpagina's. Elke klant daaronder telt als een aparte eigenaar.

Staat een suffix niet in de lijst, dan geldt de standaardregel: het laatste label is de suffix. Daarom is bij .example het registreerbaar domein altijd de laatste twee labels.

Trucs met subdomein, pad en @

Nu je weet waar de eigenaar staat, zie je hoe aanvallers je ogen misleiden. Ze zetten de naam die je verwacht ergens anders in de link.

Subdomein-truc.

https://mijnbank.example.inlog-check.example/login

Je ziet mijnbank.example vooraan. Maar lees van rechts: de suffix is example, het registreerbaar domein is inlog-check.example en dat is van de aanvaller. De aanvaller heeft dat domein gekocht en er zelf het subdomein mijnbank.example voor gezet.

Pad-truc.

https://inlog.example/mijnbank.example/klant/login

De host is inlog.example en verder niets. Alles na de eerste enkele / is het pad, en dat kiest de eigenaar van inlog.example zelf.

@-truc.

https://mijnbank.example@aanvaller.example/inloggen

Een URL mag vóór de host een gebruikersdeel bevatten, afgesloten met @ (de standaard voor URL's, RFC 3986, noemt dat userinfo). Alles vóór de @ is dus geen host. De browser gaat naar aanvaller.example en nergens anders. Sommige browsers waarschuwen of halen het gebruikersdeel weg, maar reken daar niet op.

Een handige vaste werkwijze: zoek de eerste / na https://. Wat ervoor staat is de host (met eventueel een gebruikersdeel en @). Staat er een @, dan begint de host pas daarna. Lees de host van rechts naar links tot je het registreerbaar domein hebt.

Lookalikes, typosquatting en punycode

Een lookalike is een eigen domein dat lijkt op dat van een ander:

LookalikeTruc
rnijnbank.examplern lijkt in veel lettertypen op m
mijnbnak.exampletwee letters omgedraaid (typosquatting: gokken op een tikfout)
mijnbank-veilig.exampleeen woord erbij met koppelteken: een totaal ander domein
mijnbank-example.examplede punt vervangen door een koppelteken
mijnbank.example.inlog-check.examplehet echte domein als subdomein (zie hierboven)

Een stap verder is de homograaf: een domein met letters uit een ander schrift die er hetzelfde uitzien. De Cyrillische а ziet eruit als de Latijnse a, maar is voor de computer een ander teken. Domeinnamen met zulke tekens heten internationale domeinnamen. Het DNS kent alleen letters a tot z, cijfers en het koppelteken, dus zo'n naam wordt omgezet naar punycode (RFC 3492): een vorm die begint met xn--.

mijnbаnk.example   (met een Cyrillische а)
xn--mijnbnk-6fg.example   (dezelfde naam in punycode)

Zie je xn-- in een adres, dan bevat die naam tekens buiten a tot z. Dat kan heel normaal zijn (veel talen hebben accenten of een eigen schrift), maar bij een naam die verder Nederlands of Engels oogt, is het een sterk signaal. Browsers hebben regels om verdachte combinaties als punycode te tonen; Chrome toont bijvoorbeeld een label met gemengd Latijns en Cyrillisch schrift als xn--. Maar die regels vangen niet alles, en in een mail of chat zie je vaak gewoon de nette letters.

Verkorters en open redirects

URL-verkorters maken van een lange link een korte, zoals https://kort.example/a8Xk2. Handig, maar je ziet het doel niet. Het registreerbaar domein van de link is van de verkorter, niet van de organisatie die je verwacht. Een bank of leverancier die je om een inlog vraagt via een verkorte link: niet doen.

Een open redirect is een pagina op een echte site die bezoekers doorstuurt naar elk adres dat in de link staat:

https://mijnbank.example/doorsturen?naar=https://aanvaller.example/inloggen

De host is echt mijnbank.example, maar na één klik sta je op aanvaller.example zonder het te merken. Ook met een verkorter of een trackinglink van een nieuwsbriefdienst kom je ergens anders uit dan het eerste domein. De les: kijk na het klikken opnieuw naar de adresbalk, voordat je iets invult. En het slotje? Dat zegt alleen dat de verbinding versleuteld is. Ook nepsites hebben een geldig certificaat.

In de praktijk: zo ziet het eruit

Op een computer ga je met de muis over een link zonder te klikken; het echte doel verschijnt linksonder in het venster of in een ballon. In de meeste mailprogramma's en webmail werkt dat ook. Op een telefoon houd je de link ingedrukt: je krijgt een menu met het adres erboven. Kies dan niet "openen".

Let op twee valkuilen:

  • De zichtbare tekst is niet het doel. In een mail kan op de knop of in de tekst https://mijnbank.example staan, terwijl de link eronder naar een heel ander adres gaat. Alleen wat je bij de muis of het lang indrukken ziet, telt.
  • Lange adressen worden afgekapt. Telefoons tonen vaak alleen het begin. Juist het belangrijke eind valt dan weg. Scrol of tik in het adres om het helemaal te zien.

Twijfel je, typ dan zelf het adres dat je kent of gebruik je bladwijzer. Het NCSC verwijst ook naar checkjelinkje.nl om een link eerst te laten controleren.

Samenvatting

  • Alleen de host bepaalt van wie een site is. Pad, query en alles vóór een @ kiest de aanvaller zelf.
  • Het registreerbaar domein is de publieke suffix plus één label. Gebruik de Public Suffix List, niet "de laatste twee stukjes" (denk aan co.uk).
  • Lees de host van rechts naar links. Het echte domein vooraan als subdomein is een klassieke truc.
  • Lookalikes: letterverwisseling, extra woorden, homografen. xn-- betekent tekens buiten a tot z.
  • Verkorters verbergen het doel, open redirects sturen je door. Kijk na een klik opnieuw naar de adresbalk.

Quiz

1. Wat is het registreerbaar domein van https://mijnbank.example.inlog-check.example/login?



2. Waar gaat de browser naartoe bij https://mijnbank.example@aanvaller.example/inloggen?



3. Wat is het registreerbaar domein van www.shop.[naam].co.uk (met [naam] als de naam van een Brits bedrijf)?



4. Je ziet de link https://xn--mijnbnk-6fg.example/. Wat betekent xn--?



5. Je klikt op een link die begint met https://mijnbank.example/doorsturen?naar=.... Wat doe je voordat je iets invult?



Opdracht

Opdracht A3.2: Het registreerbaar domein vinden. Je krijgt acht links. Vul bij elke link het registreerbaar domein in en geef aan of de link past bij de echte organisatie. Het programma kijkt je antwoord na met de Public Suffix List.

Opdracht A3.2: Het registreerbaar domein vinden

De links verschijnen na het laden.

















Wat je invult en wat we vinden, slaan we niet op. Je browser onthoudt je antwoorden en of je de opdracht hebt gehaald. Ben je aangemeld, dan bewaren we alleen dat je de opdracht (bijna) goed had in Mijn cursussen; daar kun je het ook verwijderen.

Opdracht A3.2b: Lastige links. Acht links met @-trucs, punycode, verkorters en doorstuurpagina's. Vul per link in op welk domein je uitkomt, of kies "niet te zien".

Opdracht A3.2b: Lastige links

De links verschijnen na het laden.

























Wat je invult en wat we vinden, slaan we niet op. Je browser onthoudt je antwoorden en of je de opdracht hebt gehaald. Ben je aangemeld, dan bewaren we alleen dat je de opdracht (bijna) goed had in Mijn cursussen; daar kun je het ook verwijderen.

Verder lezen

De stappen in de WebOké-artikelen gelden voor de omgeving van WebOké; bij andere aanbieders werkt het vergelijkbaar.

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…