
Exploit pour CVE-2019-17638 ciblant le serveur HTTP Jetty Java, permettant l'exécution de code à distance via des requêtes HTTP contrefaites pour les tests de sécurité et la vérification de vulnérabilités.
Le projet Jetty est un serveur HTTP, un client HTTP et un conteneur de servlets 100% Java de la fondation Eclipse.
Jetty est open source et est sous double licence Apache 2.0 et Eclipse Public License 1.0. Vous pouvez choisir l'une ou l'autre licence lors de la distribution de Jetty.
Le répertoire d'exécution est soit le niveau supérieur d'une version binaire, soit le répertoire jetty-distribution/target/distribution lorsqu'il est construit à partir des sources.
Pour exécuter avec les options par défaut :
$ cd demo-base $ java -jar ../start.jar
Pour voir les options disponibles et les arguments par défaut fournis par le fichier start.ini :
$ java -jar /path/to/start.jar --help
De nombreuses fonctionnalités de Jetty peuvent être activées en utilisant la commande --module. Par exemple :
$ cd mybase $ java -jar /path/to/start.jar --module=https,deploy
Activera temporairement les modules https et deploy (ainsi que leurs dépendances transitives) pour cette exécution spécifique de Jetty.
Pour voir quels modules sont disponibles :
$ java -jar /path/to/start.jar --list-modules
La propriété jetty.base est une propriété qui peut être définie sur la ligne de commande (elle prend par défaut la valeur de la propriété java 'user.dir'). Le mécanisme start.jar de Jetty configurera votre instance Jetty à partir de la configuration présente dans ce répertoire jetty.base.
Exemple de configuration :
$ mkdir mybase $ cd mybase
$ java -jar /path/to/jetty-dist/start.jar --add-to-start=http,deploy
$ java -jar /path/to/jetty-dist/start.jar