Znemožnění detekce, zda je zapnutá webová konzole

masofox

Znemožnění detekce, zda je zapnutá webová konzole
« kdy: 19. 01. 2018, 07:26:20 »
Prý existuje v javascriptu možnost (možná nepřímo, nějak pomocci "side-channel"),  zjistit, zda je zapnutý vývojářské nástroje na webu, tedy hlavně konzole a to pak způsobí problém:
-bez otevřených vývojář. nástrojů a konzole se těžko "analyzuje" stránka
- otevřený vývojář. nástroj  skript pozná
čili jde o podobný problém, jako když virus zkoumá, jestli běží ve virtuální prostředí (jednak aby vznikl dojem, že je neškodný na první pohled a za druhé ztížit co dělá fakticky)


Nevíte jak to stránka zkoumá a jak tuto detekci znemožnit?

Napadají mě 2 možnosti:
-Console.log vrátí třeba false/vyjimku místo undefined
-stránka počítá rozměry plochy a  okna (window.height, documentElement.offset/client/scrollHeight)  - otevřené panely a dokovací okna ukrajují nějaký rozměr - pokud by to byla pravda, stačí detachovat okno konzole na jiný monitor (za pár tisíc přikoupit, zvrácený.cz)
« Poslední změna: 19. 01. 2018, 09:57:02 od Petr Krčmář »



masofox

Re:Znemožnění detekce, zda je zapnutá webová konzole
« Odpověď #2 kdy: 19. 01. 2018, 10:23:36 »
Možná jsem to přehlédl, ale je tam i , jak znemožnit?

DK

Re:Znemožnění detekce, zda je zapnutá webová konzole
« Odpověď #3 kdy: 19. 01. 2018, 11:33:35 »
Jak to znemoznit tam sice napsane neni, ale je tam napsana jedna moznost detekce - 'This solution takes advantage of the fact that toString() is not called on logged objects unless the console is open.'

Tento usecase by se dal teoreticky vyresit prepsanim console objektu za vlastni, nicmene ve vysledku zalezi na tom, jakou metodu detekce pouziva dana stranka.

Steve

Re:Znemožnění detekce, zda je zapnutá webová konzole
« Odpověď #4 kdy: 19. 01. 2018, 11:36:36 »
Myslim ze postaci zabalit tu stranku do <iframe> a pak je jeji window objekt sandboxovan a nema nic s hlavnim window objektem.


mmm

Re:Znemožnění detekce, zda je zapnutá webová konzole
« Odpověď #5 kdy: 19. 01. 2018, 14:19:07 »
Kód: [Vybrat]
window.innerHeight = window.outerHeight
po načtení okna může fungovat, pokud zjišťují podle rozdílu těch hodnot jako tento script https://github.com/sindresorhus/devtools-detect

Tomas2

  • ****
  • 310
    • Zobrazit profil
    • E-mail
Re:Znemožnění detekce, zda je zapnutá webová konzole
« Odpověď #6 kdy: 19. 01. 2018, 20:27:27 »
většinu detekcí dříve vyřešil vzdálený debuging, kdy v contextu samotné stránky se nemění interní JS objecty.

Neměl by být velký problém odstranit či zamezit změně globálních objektů při otevření konzole, prakticky interaktivní režim není potřeba a co si pamatuji jinej důvod změny globálních objektů nebyl.

On ale i tak asi bude existovat side channel, js běží v jednom vláknu a konzole musí běžet v tom samém vláknu a je těžké sledovat kód a přitom ho neovlivnit aby to poznal.