fingerprint-suite icon indicating copy to clipboard operation
fingerprint-suite copied to clipboard

WebGLRenderingContext getParameter override is detected in CreepJS as recursion error

Open dekelev opened this issue 2 years ago • 3 comments

The following code override seems to be detected in CreepJS:

image image

Any idea why it happens and if it can be fixed?

To Reproduce Load CreepJS website.

Expected behavior No detection.

System information:

  • OS: MacOS
  • Node.js version 16.14.0

dekelev avatar Dec 02 '22 11:12 dekelev

Duplicate of #102 , direct cause of #100.

Just like with the #102 - let us know if you find out this change (#100) trips any real bot protection service in your pipeline - as CreepJS is notoriously pedantic but seldom used in any real-world applications. I won't close this issue as this should be addressed soon-ish. Either way, thank you for submitting this, feel free to add any extra information :)

barjin avatar Dec 02 '22 12:12 barjin

Duplicate of #102 , direct cause of #100.

Just like with the #102 - let us know if you find out this change (#100) trips any real bot protection service in your pipeline - as CreepJS is notoriously pedantic but seldom used in any real-world applications. I won't close this issue as this should be addressed soon-ish. Either way, thank you for submitting this, feel free to add any extra information :)

haha I detect "too much recursion" in my BOT/DDoS protection project :D is that not a reason?

ja3abuser avatar Dec 03 '22 16:12 ja3abuser

I think this one might be connected to the getChainCycleLie function from CreepJS - this tests the error line thrown by the JS execution engine when you try to set up a cyclic prototype chain - you cannot setup a prototype chain cycle as that might cause an infinite loop during property access.

The actual error line when setting the cyclic prototype differs between browsers (Chrome/Firefox...), but when you tamper with the prototype object, very often you override this behaviour with your injections; and then no error stops you from creating the cycle - which is exactly what this test tests.

The more you know, I guess? :)

barjin avatar Dec 07 '22 13:12 barjin