Electron contextIsolation RCE via Electron internal code
Beispiel 1
Beispiel von https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=41
Der "exit"-Ereignislistener wird immer vom internen Code festgelegt, wenn das Laden der Seite begonnen wird. Dieses Ereignis wird kurz vor der Navigation ausgelöst:
https://github.com/nodejs/node/blob/8a44289089a08b7b19fa3c4651b5f1f5d1edd71b/bin/events.js#L156-L231 -- Existiert nicht mehr
Dann geht es hier weiter:
Wo "self" das Node-Prozessobjekt ist:
Das Prozessobjekt hat eine Referenz zur "require"-Funktion:
Da der handler.call das process-Objekt erhalten wird, können wir es überschreiben, um beliebigen Code auszuführen:
Beispiel 2
Holen Sie sich das require-Objekt aus der Prototypenverunreinigung. Von https://www.youtube.com/watch?v=Tzo8ucHA5xw&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq&index=81
Leak:
Ausnutzung:
Last updated