kkapsner / CanvasBlocker

A Firefox extension to protect from being fingerprinted.
https://canvasblocker.kkapsner.de
Mozilla Public License 2.0
1.17k stars 87 forks source link

the canvas fingerprint is the same every time #327

Closed solarenergie closed 5 years ago

solarenergie commented 5 years ago

Description

Expected Behavior

the fingerprint should be different every time

Current Behavior

the fingerprint is the same every time

Possible Solution

fingerprint.js uses only the first few letters of the data url. the first few letters are probably the png header, which should also be changed.

Steps to Reproduce (for bugs)

  1. open https://fingerprintjs.com/
  2. press the "Click here to generate your fingerprint" button at the end of the page
  3. open the developer console
  4. look at the canvas fingerprint
  5. close the webpage and open it again

Context

I did reproduce the problem with a fresh Firefox profile.

Your Environment

Your Settings

{ "logLevel": 1, "urlSettings": [], "hiddenSettings": {}, "expandStatus": { "blockMode": false }, "displayHiddenSettings": false, "whiteList": "", "sessionWhiteList": "", "blackList": "", "blockMode": "fake", "protectedCanvasPart": "readout", "minFakeSize": 1, "maxFakeSize": 0, "rng": "nonPersistent", "protectedAPIFeatures": {}, "useCanvasCache": true, "ignoreFrequentColors": 0, "minColors": 0, "fakeAlphaChannel": false, "persistentRndStorage": "", "persistentIncognitoRndStorage": "", "storePersistentRnd": false, "persistentRndClearIntervalValue": 0, "persistentRndClearIntervalUnit": "days", "lastPersistentRndClearing": 1553438854889, "sharePersistentRndBetweenDomains": false, "askOnlyOnce": "individual", "askDenyMode": "block", "showCanvasWhileAsking": true, "showNotifications": true, "highlightPageAction": "none", "highlightBrowserAction": "color", "displayBadge": true, "storeNotificationData": false, "storeImageForInspection": false, "ignoreList": "", "ignoredAPIs": {}, "showCallingFile": false, "showCompleteCallingStack": false, "enableStackList": false, "stackList": "", "protectAudio": true, "audioFakeRate": "100", "audioNoiseLevel": "minimal", "useAudioCache": true, "audioUseFixedIndices": true, "audioFixedIndices": "6", "historyLengthThreshold": 2, "protectWindow": false, "protectDOMRect": true, "domRectIntegerFactor": 4, "blockDataURLs": true, "protectNavigator": false, "navigatorDetails": {}, "displayAdvancedSettings": false, "displayDescriptions": false, "theme": "default", "dontShowOptionsOnUpdate": false, "isStillDefault": false, "storageVersion": 0.5 }

solarenergie commented 5 years ago

I have made a mistake. I have assumed that the cvanvas fingerprint displayed in the console is the whole. I also assumed that fingerprintjs is well-programmed. I came to the conclusion that something was running low on CanvasBlocker. In the console, however, only a part of the fingerprint is displayed, probably for readability reasons. However, the first assumption is wrong and in reality the fingerprint changes every time it should.