Pour mes besoins, j'avais envie d'avoir un shell écrit en php.

Voici mon script php, rapide, permettant d'avoir accès (sauf restriction particulière) au commande shell courante. Ce n'est pas un script extra-ordinaire, mais il permet de se déplacer dans les répertoires et lancer les commandes shells.

Pour se déplacer dans les répertoires il suffit d'utiliser la commande "cd".

J'utilise escapeshellcmd pour les commandes passés, ce qui limite son utilisation mais évite les problèmes liés à la faiblesse du code (plus d'information : http://fr2.php.net/manual/fr/function.escapeshellcmd.php).

Pour plus de facilité d'utilisation, la zone de saisie à le focus (avec javascript) et est selectionnable grâce au raccourit (accesskey) "c" (alt-c sous mozilla-firefox).

Aucune protection d'accès n'est prévu. Il suffit de connaître l'adresse pour l'utiliser.

Dernière information : le script est valide et ne génère (à ma connaissance) aucune erreur ;)

Pour l'installer, il suffit de télécharger le script et le renommer en shell.php.

Voici un exemple d'utilisation :

/bin # ls /tmp
cron.root.4342
mysql.sock
php-5.1.2-1.pkg.tar.gz
sauv.log
sess_0m0ihkc2lp10fpqgbuq8pm8h4
sess_dr1cb0j8k55fj00egggieogk3
sess_kkabnbclqq0cds4toqsbfv956
sess_l7839n96hub4q4kem8em00jp2
sess_te8920so58hdbhb32e19d6nf0

return: 0

Ici, nous sommes dans le répertoire "/bin", la commande est "ls /tmp" et le code retour est "0" (pas d'erreur).

Lien vers le projet : http://gnunux.info/projets/shell_php/.