p0wny@shell:~# -- Shell PHP monofichier

p0wny@shell:~# est un shell PHP très basique, monofichier. Il peut être utilisé pour exécuter rapidement des commandes sur un serveur lors d'un test d'intrusion d'une application PHP. À utiliser avec prudence : ce script représente un risque de sécurité pour le serveur.
Fonctionnalités :
- Historique des commandes (avec les touches fléchées
↑ ↓)
- Auto-complétion des noms de commandes et de fichiers (avec la touche
Tab)
- Navigation dans le système de fichiers distant (avec la commande
cd)
- Téléversement d'un fichier vers le serveur (avec la commande
upload <destination_file_name>)
- Téléchargement d'un fichier depuis le serveur (avec la commande
download <file_name>)
AVERTISSEMENT : CE SCRIPT EST UNE FAILLE DE SÉCURITÉ. NE L'UPLOADEZ PAS SUR UN SERVEUR SAUF SI VOUS SAVEZ CE QUE VOUS FAITES !

Démo avec Docker :
docker build -t p0wny .
docker run -it -p 8080:8080 -d p0wny
# open with your browser http://127.0.0.1:8080/shell.php
Contribuer
Questions
Si vous avez une question, vous pouvez :
Bugs
Merci d'ouvrir un ticket sur GitHub avec autant d'informations que possible si vous avez trouvé un bug :
- Votre système d'exploitation / distribution Linux (et sa version)
- La version de PHP que vous utilisez (exemple :
PHP-FPM 8.1, Apache mod_php 7.4,...)
- Le serveur Web que vous utilisez et sa version (exemple :
Nginx 1.23, Apache 2.4.55,...)
- Tous les journaux et messages produits par le logiciel
- etc.
Pull requests
Merci d'envisager de signaler un bug avant de commencer à travailler sur une nouvelle fonctionnalité ; cela nous permettra de discuter de la meilleure façon de la réaliser. C'est évidemment inutile si vous voulez simplement corriger une coquille ou de petites erreurs dans le code.
Soutenir ce projet
Envie de soutenir ce projet ?
Changelog
- v2023.08.10:
- Rendre p0wny@shell compatible avec PHP 5.3 (@FrancoisCapon, #38)
- v2023.05.28:
- Encoder tous les champs de données en base64 pour éviter les erreurs d'encodage, en particulier sous Windows (@cli-ish, #8, #35)
- v2023.05.22:
- Afficher le nom d'utilisateur et le nom d'hôte dans l'invite (@cli-ish, #33, #7)
- v2023.05.10:
- Essayer différentes fonctions d'exécution (
exec, shell_exec, system, passthru, popen, proc_open) pour exécuter des commandes et contourner les fonctions désactivées (@cli-ish, #31, #32)
- v2023.02.27:
- Rendre la fenêtre du terminal redimensionnable (@FrancoisCapon, #27)
- v2023.02.13:
- Taille de terminal plus grande sur les grands écrans (@psyray, #26)
- Plus de défilement horizontal sur les petits écrans (@flozz)
- v2022.09.19:
- Développer le chemin dans la commande
cd (cd ~, cd ~username,...)
- Aller au répertoire personnel lorsqu'on exécute cd sans argument.
- → Merci @FrancoisCapon pour la suggestion (#25)
- v2021.01.24:
- Améliorations de style :
- Barre de défilement plus élégante sur webkit (@nakamuraos)
- Affichage d'un logo plus petit sur mobile (@nakamuraos)
- Améliorations ergonomiques :
- Focus sur le champ de commande lors d'un clic sur la page (@nakamuraos)
- Placer le curseur à la fin du champ de commande lors de la navigation dans l'historique (@nakamuraos)
- v2019.06.07:
- Ajoute la commande
clear pour effacer le terminal (@izharaazmi #12)
- v2018.12.15:
- Fonctionnalité de téléversement et de téléchargement de fichiers (@Oshawk #5)
- v2018.06.01:
- Auto-complétion des noms de commandes et de fichiers (@lo001 #2)
- Adaptation aux appareils mobiles (responsive) (@lo001 #2)
- Gestion améliorée de stderr (@lo001 #2)
- v2018.05.30:
- Compatibilité ES5 (@lo00l #1)
- Dépendance à JQuery supprimée (@lo00l #1)
- Historique des commandes avec les touches fléchées (@lo00l #1)
- Garder le focus sur le champ de commande lorsqu'on appuie sur la touche Tab
- v2017.10.30:
- CSS : couleur invalide corrigée
- v2016.11.10: