Achterhaal de gegevens van elke forum-bezoeker

Door deathgrunt op zondag 2 juli 2017 20:02 - Reacties (41)
Categorie: Geen categorie, Views: 5.609




- update - De tracker is uitgezet en logt niets meer.

In drie dagen tijd heb ik op de hieronder beschreven wijze ruim 3.000 IP-adressen, locaties, coördinaten en hardware-blueprints kunnen achterhalen.

Als ik niets had gemeld in dit blogje, had niemand het geweten - omdat de tracking puur via een gemodificeerde afbeelding ging die niet van een normale afbeelding te onderscheiden valt.




Begin je wel eens een thread op het forum van Tweakers, dan wil je vast meer weten van je bezoekers;

Wie zijn ze, waar leven ze, wat voor hardware hebben ze, hoe vaak keren ze terug bij "jouw onderwerp"...





Normaliter is dat lastig; privacy en anonimiteit staan immers hoog in het vaandel bij Tweakers.net

Toch is het - relatief - eenvoudig - om veel meta-data te harvesten van elke willekeurige bezoeker op het forum.

Hoe? ...via een plaatje :) en een scriptje, dat ik hieronder zal uitleggen.




Het begon allemaal met deze thread waar een mede-Tweaker vroeg of je iemands IP-adres kon achterhalen, enkel door een plaatje te bekijken.

Dat is (natuurlijk) mogelijk; elk plaatje staat op een server (als je ze niet in een emailtje embed) en elke server houdt gedetailleerde bezoekers-logs bij.

Je zou dus op het forum van Tweakers een (willekeurig) plaatje kunnen plaatsen in een thread waar je graag meer bezoekers-details zou willen achterhalen. Door vervolgens de serverlogs door te spitten, kan je dus zien wie er zoal je forum heeft bezocht.

Alleen is dat een hoop gedoe, zeker als je een grotere site hebt die het plaatje host; dan heb je veel bezoekers-sessies, veel afbeeldingen en zie dan maar eens plaatje-x te koppelen aan bezoeker-y...

...dat kan eenvoudiger;




De benodigdheden
  • Een eigen web-server (gratis, of vanaf één euro per maand)
  • Een .htaccess bestand (een eenvoudig server-configuratie-bestand)
  • Een php-script (gewoon een text-file die uitvoerbare code bevat)
  • ...een plaatje (maar dat is niet eens verplicht)
Op de server maak je, bij voorkeur, een lege map aan - laten we zeggen "cool-images".

In die map maak je een text-file aan die je hernoemd naar ".htaccess"

In dat configuratie-bestand neem je deze code op;


code:
1
2
RewriteEngine on
RewriteRule ^image.gif$ iplogger.php



Hier gebeurt iets eenvoudigs; elke bezoeker die "image.gif" opvraagt, vraagt achter de schermen eigenlijk "iplogger.php" op terwijl het adres in de browser gewoon naar het plaatje verwijst.

Het plaatje ("image.gif") zelf boeit niet, en is eigenlijk niet eens nodig; die toon je immers niet, je "toont" het script "iplogger.php".

Dat script bevat deze code;


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php

// Het IP-adres van de bezoeker

  $ip = $_SERVER['REMOTE_ADDR'];

if ($ip == 'xx.xxx.xx.xxx') {

// Ja, ik ga mezelf niet loggen....

} else {

// Niet nodig, maar "blueprint.php" bevat een routine om zoveel
// mogelijk data te achterhalen van de bezoeker (land, hardware, etc...)

  require_once('blueprint.php');

// Wat standaard zaken die je ook graag wil achterhalen

  $page = $_SERVER['REQUEST_URI'];
  $refer = $_SERVER['HTTP_REFERER'];
  $date_time = date('l j F Y  g:i', time() - date('Z')) ;
  $agent = $_SERVER['HTTP_USER_AGENT'];

// We weten genoeg, en gaan alles wegschrijven in een bestand

  $fp = fopen('logger.html', 'a');

  fputs($fp, chr(10) . chr(10) . "<pre><b>$blueprint</b></pre><br><hr>" .
  chr(10)  . chr(10));
  flock($fp, 3);
  fclose($fp);

}

// O, ja... we deden alsof we een plaatje in het forum toonden...
// ...dus voor de lol pakken we het 'echte' plaatje, laden die in
// en spugen hem in ruwe vorm weer uit; zo merkt niemand dat je een
// script inlaadt in het forum en geen plaatje..

  $remoteImage = 'image.gif';
  $imginfo = getimagesize($remoteImage);
  header("Content-type: {$imginfo['mime']}");
  readfile($remoteImage);

?>






That's it!

De werkwijze is verder als volgt;
  • Je upload een (echt) plaatje, bv. https://deathgrunt.com/tmp/image.gif
  • Vervolgens maak je een thread aan, of reactie, en plaatst dat plaatje op de normale manier (zoals je altijd een plaatje toevoegt bij Tweakers.net). Enige eis is dat hij op een https:// server staat, anders gooit Tweakers er zelf een proxy overheen.
  • Het "plaatje" wordt normaal getoond in je post, alleen is het dus stiekem een script...
  • En dat script logt alle gegevens van je bezoekers.
  • //deathgrunt.com/tmp/logger.html
Bovenstaande URL loopt al een paar dagen te harvesten, en je kan exact zien wie het forum daar heeft bezocht, welk deel van de wereld ze vandaan komen, welke hardware ze draaien, etc...




Overigens is het minder illegaal dan je denkt; een normaal plaatje laat immers ook sporen achter op de server, maar dat is meer gedoe om te tracken.

Met 2 scriptjes en een optionele afbeelding kan je vanaf nu dus zelf alles in de gaten houden op het forum.

https://deathgrunt.com/tmp/image.gif

- nee, dit plaatje tracked niemand ... trust me :p ... 25 jaar geleden getekend door ondergetekende -