Webbeveiliging

Fingerprinting: definitie

Definitie

Fingerprinting is het herkennen van de software waarop een website draait, de versie en de onderdelen ervan aan de hand van zichtbare sporen: HTTP-headers, de generator-tag, bestandspaden, cookies. Bots gebruiken het om per site te kiezen welke bekende kwetsbaarheden ze uitproberen.

Fingerprinting, Webbeveiliging

Fingerprinting is bijna altijd de eerste stap van een geautomatiseerde aanval. Voordat een bot iets probeert, wil hij weten met wie hij te maken heeft: WordPress, Joomla! of Drupal, welke versie, welke plugins. Met die selectie kiest hij uit zijn lijst met bekende lekken de lekken die kans van slagen hebben, en slaat hij sites over die niet passen. De testgids van OWASP (WSTG) wijdt er zelfs een apart hoofdstuk aan binnen de fase van informatieverzameling.

Hoe fingerprinting werkt

Detectietools vergelijken wat de site terugstuurt met een database van kenmerken. OWASP noemt verschillende soorten sporen:

  • HTTP-headers, zoals X-Powered-By of X-Generator;
  • cookies, waarvan de naam vaak de software verraadt (wordpress_logged_in_...);
  • de HTML-code: commentaar, de tag <meta name="generator">, paden die bij de software horen;
  • bekende bestanden en mappen, die een voor een worden getest;
  • foutmeldingen die paden of het platform prijsgeven.

Tools als WhatWeb, Wappalyzer of WPScan automatiseren dit werk. Een bot heeft maar een paar verzoeken nodig om een site in te delen.

Tabel in drie kolommen: sporen in de HTML-code (generator-tag, paden wp-content en wp-includes, parameter ver, commentaar van plugins), sporen in headers en adressen (link naar wp-json, X-Powered-By, cookies wordpress_logged_in, wp-login.php en xmlrpc.php) en wat de bot ermee doet (software, versie, plugins, bekende lekken om te proberen)
De belangrijkste sporen die detectietools op een WordPress-site lezen, en wat ze eruit afleiden.

Voorbeelden op WordPress

Een standaard WordPress-site is heel snel herkenbaar. De functie get_the_generator() zet de tag <meta name="generator" content="WordPress x.y"> in de pagina's en iets vergelijkbaars in de RSS- en Atom-feeds, inclusief versienummer. Stylesheets en scripts staan onder de paden /wp-content/ en /wp-includes/ met een parameter ?ver= erachter. De header Link kondigt de REST API aan, en veel plugins voor SEO, caching of pagebuilding ondertekenen de paginacode met een commentaar dat hun naam en versie vermeldt. Ons artikel over hoe bots en Wappalyzer WordPress herkennen loopt die kenmerken een voor een door.

Video: “Fingerprint Web Apps & Servers for Better Recon [Tutorial]” (Null Byte, in het Engels)

Hoe je de vingerafdruk verkleint

  • Verwijder de generator-tag en de HTML-commentaren die plugins achterlaten.
  • Schakel X-Powered-By uit (expose_php = Off in PHP) en maak de header Server zo zwijgzaam mogelijk, zoals OWASP aanraadt voor response-headers.
  • Haal overbodige technische links weg (RSD, shortlinks) en sluit adressen af die je niet gebruikt, zoals XML-RPC.

Blijf wel realistisch: OWASP rekent deze maatregelen tot security through obscurity. Ze remmen de minst geavanceerde bots af en verminderen de ruis, maar een vastberaden aanvaller herkent de software uiteindelijk toch. Ze vullen updates aan zonder ze ooit te vervangen: een kwetsbare plugin blijft kwetsbaar, zichtbaar of niet. Het artikel WordPress verbergen: wat het oplevert en wat niet zet de zaken op een rij.

Voor WordPress

WP Masquerade pakt precies deze sporen aan. De gratis versie verwijdert de vermelding van WordPress, de commentaren en generator-tags van bekende plugins en een deel van de technische links; ze kan de site ook laten doorgaan voor een ander CMS, zodat bots er aanvallen proberen die niets uithalen. De handleiding van de plugin benoemt de grenzen: de imitatie voegt de bekendste kenmerken van het opgegeven CMS toe maar bootst het niet volledig na, en een header kan ontbreken op een pagina die door een cache ervoor wordt geserveerd.

Verder lezen

  • Artikel Zo herkennen bots en detectietools WordPress, en welke sporen je weghaalt
  • Artikel HTML-opmerkingen en generator-tag: wis de sporen van WordPress
  • Pagina WordPress vermommen als ander CMS
  • Pagina Technische WordPress-links verwijderen

Bronnen

  1. OWASP WSTG: Fingerprint Web Application Framework (externe link, opent in een nieuw tabblad)
  2. WordPress Developer Resources: get_the_generator() (externe link, opent in een nieuw tabblad)
  3. OWASP: HTTP Security Response Headers Cheat Sheet (externe link, opent in een nieuw tabblad)

Alle definities

WordPress-beveiliging, zonder ruis

Eén e-mail wanneer het ertoe doet: nieuw waargenomen aanvallen, updates van de plugin en praktische gidsen. Geen spam, afmelden met één klik.

Begin gratis, stap over op Pro wanneer je eraan toe bent

De gratis versie verbergt WordPress al en verplaatst de inlogpagina. Pro voegt aliassen, tweestapsverificatie en bewaking toe.