CanvasBlocker: Fingerprinting by detecting CanvasBlocker
PoC: https://jsfiddle.net/6ke4ycmb/
In case you don’t want to click a link and execute my JS here’s the code:
var canvas = document.createElement('canvas');
var ctx = canvas.getContext("2d");
var canvasBlocker=false;
try{
ctx.getImageData(0,0,0,0);
}catch(err){
try{
console.log(err.name);
}catch(err2){
canvasBlocker=true;
}
}
if(canvasBlocker){
alert("Canvas blocker detected.");
}else{
alert("No canvas blocker detected");
}
This reliably recognized if CanvasBlocker is in use in my tests. Thus providing another bit for fingerprinting 😦
Not sure how exactly this can be fixed though, as I’m not familiar with Firefox Extensions.
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 18 (12 by maintainers)
Links to this issue
Commits related to this issue
- Prevented error when canvas has size zero Solves the third problem in #114 — committed to kkapsner/CanvasBlocker by kkapsner 7 years ago
- Prevented error when wrong object is passed to the faked functions. Solves the fourth problem in #114. — committed to kkapsner/CanvasBlocker by kkapsner 7 years ago
Finally got rid of the technical problems there. The picture will remain like that in the future.
Some upvotes can’t hurt. But I think all their ressources are blocked by the move to webExtensions. There are still APIs missing.