Giter Site home page Giter Site logo

jonasstrehle / supercookie Goto Github PK

View Code? Open in Web Editor NEW
4.5K 71.0 261.0 22.06 MB

⚠️ Browser fingerprinting via favicon!

Home Page: https://supercookie.me

License: MIT License

JavaScript 13.49% TypeScript 16.85% HTML 69.66%
fingerprint favicon javascript html security tracking identification express typescript nodejs

supercookie's Introduction

Hey there ,

🚀 Check out my work at unyt.org! 🚀

followers

🧑 About me

It's me - Jonas Strehle - a 23yo developer living in southern Germany. I do a lot of personal programming projects and some security research. At the time I'm working in the civil aviation industry ✈️.

For more than three years now, we have been working with an ever-growing team on unyt.org: a free open-source project that establishes the new standard for communication, focusing on privacy, security and data ownership. We are creating the Supranet!

🥇 Specialised in

🔸 unyt.org project

  • UIX
  • DATEX

🔸 Web development

  • full-stack

🔸 Languages

  • TypeScript
  • Java
  • C#
  • C++
  • Python



🤹 Skills

apachecordova arduino bash c cplusplus csharp css3 docker electron express firebase gcp git grafana html5 java javascript jenkins kubernetes linux mariadb mongodb mysql nextjs nginx nodejs objectivec opencv postgresql postman python react reactnative redis swift tensorflow typescript unity vagrant vuejs


ℹ️  Github Info

🔎 Github Profile Details

jonasstrehle

⚡ Github Stats

jonasstrehle jonasstrehle

🔥 Github Streaks

jonasstrehle

📊 Github Contribution Graph

jonasstrehle

🏆 Github Achievements

jonasstrehle


supercookie's People

Contributors

cl0ne avatar commanderroot avatar corusm avatar joel0 avatar jonasstrehle avatar julianyaman avatar szepeviktor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

supercookie's Issues

How to distinguish between write and read

I saw the documentation but didn't really get it how can you know if this is the first time for the user to enter the site so you car write some favicon to him and give him identifier or if he already have favicons and u will then give him 404 request on all favicons. so can you please tell in details how the script distinguish? Or maybe the first redirect is always test and if the user asked for favicon "a" then he is new and if not we start reading?

Not working.

@jonasstrehle help me please.

I am useing node v15.12.0, but after install dependencies have next error. How can it be resolved?

mnt/d/Projects/Dev/supercookie/server$ node --experimental-json-modules main.js
node:internal/process/esm_loader:74
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'express.js' imported from /mnt/d/Projects/Dev/supercookie/server/main.js
    at new NodeError (node:internal/errors:329:5)
    at packageResolve (node:internal/modules/esm/resolve:714:9)
    at moduleResolve (node:internal/modules/esm/resolve:755:18)
    at Loader.defaultResolve [as _resolve] (node:internal/modules/esm/resolve:869:11)
    at Loader.resolve (node:internal/modules/esm/loader:86:40)
    at Loader.getModuleJob (node:internal/modules/esm/loader:230:28)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:57:40)
    at link (node:internal/modules/esm/module_job:56:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

Never ends :-)

Maan, I have a lot of extensions which protect my fingerprint and one for No fingerprint (that is same name for extension :-) ) .
Also, I have one extensions which makes websites think that I am using Android Browser and also ProtonVpn which hides my vpn. BTW, I am on LM 20.3, Cinnamon.
And I am using LibreWolf.
I am asking question to you, dear dev: it never ends - does that means that I have full real privacy?????

You are an accomplice of IT companies violating User Privacy

If you can track and identify user for good by using this approach, you are depriving our right to privacy.
You said that this is only for educational usage but once it is carried out, there is no way to revert.
You are helping big companies like Google by identifying users. And you are violating First Amendment to the United States Constitution.
So I suggest you remove this repo or develop an approach to against it

Not working)

I got one ID through chrome, another one through Tor. Opera without VPN gave a third identifier, Mozilla also showed another. This nonsense does not work and also does not run on NodeJs))

Node version and docker documentation

I tried running your docker as per your documentation, unfortunately it doesn't work for me.
I get the following error message, but it's out of the question.
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'express' imported from /home/node/app/main.js

This leads me to think I have the wrong node version. (I am no expert in JS environnement)

So would it be possible for you to update your docker-compose.yml with a specific node version ?

For example : image: "node:20.11"

Also it would be nice to know which docker version you're using and on which OS.

Last point in your documentation for docker you could add the creation of the network "main" that you use
docker network create main

(Thanks for the project, it's very interesting)

Not Working When cookies are disabled

Your solution is supposed to work without cookies enabled, but when I turn on the Block all cookies flag on Safari I am getting an endless redirect loop on demo.supercookie.me and on my local nodejs project.
It looks like you are highly reliant on cookies.

ServiceWorker behavior?

In your research have you explored the behavior when combined with ServiceWorkers? Possibly because it could remove the need for a server altogether by "spoofing" URLs under a specific prefix, but also because it can reduce round trip to the server by generating the response within the worker itself locally.

Safari on macOS not affected

For me the function "Clear History..." and selecting "all history" in Safari 14.0.3 (Big Sur) clears the complete favicon cache in ~/Library/Safari/Favicon Cache/

With Safari on iOS on the other hand there appears to be no way to clear the cache short of factory resetting.

Chrome on Incognito produces different ID

As title says!



Google Chrome | 114.0.5735.248 (Official Build) (arm64)
-- | --
Revision | 6a4d58406feefcfe55d9fa6c53bf40ebc5453342-refs/branch-heads/5735_243@{#3}
OS | macOS Version 13.3.1 (a) (Build 22E772610a)
JavaScript | V8 11.4.183.27
User agent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Command Line | /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --flag-switches-begin --allow-insecure-localhost --flag-switches-end
Executable Path | /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

Is it working??

I had the supercookie demonstration running; since its not coming to an end, my question: Is it still working? When should it come to an end? 1 Hour? 10 Hours?
The details of my test: "OSX" or mac Monterey 10.3
Browser Firefox Nightly 100.0a1 (2022-03-15) (64-bit)
In Safari Browser it runs endlessly. Should I expect the same for Firefox Nightly?

Not working when redirecting is interrupted

Click the stop button and the refresh button on the browser (left top corner) quickly when redirecting to next page, the process will continue but I get a new identifier.(Not every time but often.)

image

Can't fully reproduce with Firefox 85

I can't reproduce my IDs with Firefox 85 (Linux). I don't know if it is related to this, they only mention cross-site supercookie protection.

Chromium 88 seems to be still vulnerable.
Tabs underlined in blue are part of the same container (Firefox extension), others (left to right) are vanilla Firefox, private Firefox and vanilla Chromium.

First try:
first-run

After restarting my browsers:
second-run

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.