Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ubercookie — Lehrreiche evercookie-Demo, die zeigt, wie Browser-Speicher und HTTP-Cache-Techniken einen Besucher dauerhaft wiedererkennen können. | Kitploit
Tools/GitHubGitHub/elpy1/ubercookie
OSINT (Open-Source-Intelligence)IDS/IPS-UmgehungWebsicherheitPrivatsphäreLernen & BildungFingerabdruck-Spoofing
GitHubelpy1/ubercookie

ubercookie

Lehrreiche evercookie-Demo, die zeigt, wie Browser-Speicher und HTTP-Cache-Techniken einen Besucher dauerhaft wiedererkennen können.

Repository anzeigen
1124vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

🍪 ubercookie

Eine lehrreiche Demonstration, wie Websites dich dauerhaft identifizieren – und warum "Cookies löschen" nicht mehr ausreicht.

ubercookie pflanzt eine einzelne zufällige ID in 12 verschiedene Browser-Speichervektoren auf einmal ein. Bei jedem Besuch liest es alle aus, ermittelt einen Konsens und schreibt die ID überall wieder zurück. Lösche einen beliebigen Speicher – oder sogar alle deine Cookies – und die Überlebenden stellen sie still wieder her. Die Seite zeigt dir in klarer Sprache, wo genau deine ID versteckt ist und wie oft sie deinen Browser bereits erkannt hat.

Es ist die gleiche Idee wie Samy Kamkars klassisches evercookie – hier als offenes, transparentes Lehrmittel gebaut, das sich auf das Wiederherstellen von Speicher und die Persistenz von Supercookies konzentriert.

[!IMPORTANT] Dieses Projekt verfolgt den Besucher absichtlich, um Bewusstsein zu schaffen. Es verwendet nur Erstanbieter-Techniken, speichert lediglich eine zufällige ID, Besuchszahlen, erste/letzte Zeitstempel und Quell-Labels zur Wiederherstellung, teilt nichts mit Dritten und bietet einen echten "Vergiss mich"-Button. Nutze es nicht, um Menschen ohne ihr Wissen oder ihre Zustimmung zu verfolgen – das wäre das Gegenteil des Zwecks. Siehe Ethik.


Was es demonstriert

VektorArtBenötigt JS?Aus JS löschbar?Was es lehrt
document.cookieclientyesyesDer Basistracker
localStorageclientyesyesÜberlebt Cookie-Löschungen
sessionStorageclientyesyesRedundanz pro Tab
IndexedDBclientyesyesEine ganze DB, die man vergisst zu löschen
Cache API (caches)clientyesyesProgrammierbarer Speicher, getrennt von den obigen
window.nameclientyesyesÜberlebt Navigationen
OPFS (Origin Private File System)clientyesyesEin sandboxed Dateisystem, das manuelle Bereinigungen übersehen
Service Worker + CacheclientyesyesHintergrundskript stellt die ID erneut bereit, sogar offline
Server-Cookie (HttpOnly)servernoüber ServerFür JS unsichtbar, wird trotzdem bei jeder Anfrage gesendet
ETag-Supercookieservernonur Cache leerenID wird in If-None-Match zurückgespiegelt
Last-Modified-Supercookieservernonur Cache leerenID ist im Datum der gecachten Ressource kodiert
HTTP-Cache (eingebettetes ID-Skript)servernonur Cache leerenID in eine immutable gecachte Datei eingebacken

Darüber hinaus fordert die Seite beim Browser persistenten Speicher an (navigator.storage.persist()), der die IndexedDB-/Cache-/Service-Worker-/OPFS-Kopien von der automatischen Räumung ausnimmt – was sie noch schwerer zu entfernen macht.

Die drei cache-basierten Vektoren sind der Höhepunkt der Persistenz: Sie leben im HTTP-Cache des Browsers, sodass JavaScript (einschließlich unseres eigenen "Vergiss mich") sie nicht löschen kann – nur das Leeren des Browser-Caches schafft das. So kehrt die ID von den Toten zurück.

Eine ausführliche Beschreibung der implementierten Speichervektoren sowie die Idee des HSTS-Supercookies, die noch in dieses Projekt passt, findest du in docs/techniques.md.


Architektur

ubercookie/
├── backend/            FastAPI — serverseitige Vektoren + das Beobachtungsprotokoll (SQLite)
│   └── app/
│       ├── main.py     Endpunkte: /api/visit, /api/whoami, /api/etag-id,
│       │               /api/lastmod-id, /api/cache-id.js, /api/clear-cookie,
│       │               /api/forget
│       ├── store.py    "Wir haben diesen Browser N-mal gesehen"-Speicher
│       └── ids.py      Erstellen/Validieren der 32-stelligen hexadezimalen Tracking-ID
└── frontend/           Vanilla JS + Vite — das Dashboard und die Client-Vektoren
    └── src/ubercookie/
        ├── index.js    Orchestrator: lesen → Konsens → wiederherstellen → melden
        └── vectors/    Ein eigenständiges Modul pro Speichervektor

So funktioniert ein Besuch (frontend/src/ubercookie/index.js):

  1. Lesen – jeden Vektor parallel auslesen.
  2. Konsens – die ID auswählen, auf die sich die meisten Vektoren einigen (oder keine, wenn du neu bist).
  3. Melden – an den Server melden, der eine neue ID erstellt, falls du keine hattest, den Besuch aufzeichnet und das HttpOnly-Cookie setzt.
  4. Wiederherstellen – diese eine ID in jeden Vektor schreiben, dem sie fehlte.

Schnellstart

Erfordert Python ≥ 3.11 (mit uv) und Node ≥ 18.

make install        # Backend-Abhängigkeiten (uv) + Frontend-Abhängigkeiten (npm)

# dann in zwei Terminals:
make backend        # FastAPI auf http://localhost:8000
make frontend       # Vite auf  http://localhost:5173  (proxed /api → :8000)

Öffne http://localhost:5173 und beobachte, wie du getrackt wirst. Öffne DevTools, lösche einige Speicher, klicke auf Neu scannen und sieh zu, wie sie wieder auftauchen.

Einzeiler für beide Server gleichzeitig: ./scripts/dev.sh

Produktionsart (FastAPI bedient das gebaute Frontend, gleiche Herkunft)

make build                                   # → frontend/dist
cd backend && uv run uvicorn app.main:app --port 8000
# öffne http://localhost:8000

Beide von einer einzigen Herkunft aus zu bedienen, ist die originalgetreueste Einrichtung, da die Cache-/ETag-Vektoren von echtem same-origin HTTP-Caching abhängen.


Testen

make test           # Backend-Pytest (serverseitige Vektorlogik + Beobachtungsprotokoll)
make build          # Frontend-Produktionsbuild

Die Backend-Tests prüfen die serverseitigen Vektoren und das Beobachtungsprotokoll. Das Browserverhalten muss noch mit einem echten Browser überprüft werden, da mehrere Vektoren vom Origin-Speicher, Service Workern und HTTP-Caching abhängen.


Ethik

Dies ist ein defensives / bewusstseinsbildendes Werkzeug. In das Design eingebaute Richtlinien:

  • Transparenz – jeder gespeicherte Wert wird dem Benutzer auf der Seite angezeigt.
  • Nur Erstanbieter – keine Drittanbieter-Anfragen, kein Cross-Site-Tracking.
  • Minimale Daten – eine zufällige ID, erste/letzte Zeitstempel, ein Besuchszähler und Labels für die Vektoren, die die ID wiederhergestellt haben. Keine personenbezogenen Daten und nichts verlässt den Server.
  • Echter Opt-out – der Vergiss mich-Button löscht alles Erreichbare und löscht den Serverdatensatz; die Seite ist ehrlich, was nur ein Cache-Leeren entfernen kann.

Bitte behalte jeden Fork im gleichen Geist: Verwende ihn, um Menschen beizubringen, wie Tracking funktioniert, damit sie sich selbst schützen können, nicht um sie heimlich zu verfolgen.

Lizenz

MIT – siehe LICENSE.

Tool herunterladen