Recherche de site Web

Explorer Linux Shell (Terminal) à distance à l'aide de PHP Shell


PHP Shell ou Shell PHP est un programme ou un script écrit en PHP (Php Hypertext Preprocessor) qui fournit Terminal Linux (Shell est un concept beaucoup plus large) dans le navigateur. PHP Shell vous permet d'exécuter la plupart des commandes shell dans le navigateur, mais pas toutes en raison de ses limitations.

Mise à jour : Récemment, j'ai trouvé un outil très prometteur appelé 'Wetty (Web + tty)', qui fournit un accès complet au terminal Linux via un protocole HTTP ou HTTPS et vous permet d'exécuter toutes les commandes et programmes Linux comme si vous étiez assis devant un terminal réel ou virtuel.

Pour plus d'informations concernant l'installation et l'utilisation de Wetty, visitez : Comment installer Wetty pour accéder au terminal Linux via un navigateur Web.

PHP Shell est très utile pour exécuter des commandes Shell sur un serveur Web distant, similaire à Telnet et SSH. Cela peut être utile pour déplacer, décompresser et gérer des fichiers plus volumineux ou des fichiers en vrac sur le serveur Web. L'administration et la maintenance d'un serveur Web à l'aide de PHP Shell sont beaucoup plus faciles, à condition que l'utilisateur ait une connaissance pratique des programmes Shell.

Lorsqu'il y avait déjà Telnet et SSH, quel est le besoin de phpshell, est une question qui peut vous venir à l'esprit. La réponse est : dans de nombreux cas, le pare-feu est si restrictif que rien, à part HTTP(S), ne passe, dans ce cas, phpshell vous permet d'accéder au shell sur un serveur distant.

Cependant, vous ne pouvez pas exécuter un programme GUI ou un script/programme interactif à l'aide de PHP Shell. Cela pourrait être une limitation, mais cette limitation est une aubaine, car la désactivation de l'interface graphique signifie une sécurité plus élevée.

Télécharger le shell PHP

La dernière version peut être téléchargée ici :

  1. http://sourceforge.net/projects/phpshell/?source=dlp

Comment installer PHP Shell

Comme indiqué ci-dessus, PHP Shell est écrit en PHP, vous n'avez donc pas besoin de l'installer, déplacez simplement le fichier archivé vers votre Apache/ de travail. Répertoire httpd, et bien sûr, vous devez avoir installé Apache et PHP.

Installer Apache et PHP

Installez sur les systèmes basés sur Debian à l'aide de la commande apt-get.

apt-get install apache2 
apt-get install php5 libapache2-mod-auth-mysql php5-mysql
service apache2 start

Installez sur des systèmes basés sur Red Hat à l'aide de la commande yum.

yum install httpd 
yum install php php-mysql
service httpd start

Par défaut, le répertoire de travail de apache/http est :

sur la distribution basée sur Debian /var/www

sur la distribution basée sur Red Hat /var/www/html

Remarque : Il peut être remplacé par n'importe quel autre dossier et il est recommandé par mesure de sécurité.

Déplacez le fichier d'archive PHP Shell téléchargé vers le répertoire de travail Apache. Ici, j'utilise le système Debian, donc mon répertoire de travail Apache l'est.

mv phpshell-2.4.tar.gz /var/www/

Décompressez le shell php

tar -zxvf phpshell-2.4.tar.gz

Supprimez le fichier compressé.

rm -rf phpshell-2.4.tar.gz

Renommez le dossier du shell php en quelque chose de difficile à deviner, par mesure de sécurité. Par exemple, je me déplace vers le dossier phpshell (maintenant tecmint-nix) et je renomme phpshell.php en index.php afin que vous soyez redirigé directement vers la page d'index et non vers le contenu du dossier.

mv phpshell-2.4 tecmint-nix 
cd tecmint-nix/
mv phpshell.php index.php

Très bien, il est temps d'ouvrir votre navigateur Web et d'accéder à « http://127.0.0.1/tecmint-nix ».

Par défaut, aucun nom d'utilisateur ou mot de passe ne fonctionnera, vous devez donc ajouter un nom d'utilisateur et un mot de passe manuellement.

Pour créer un nom d'utilisateur et un mot de passe, appelez le script pwhash.php déjà dans le dossier phpshell comme « http://127.0.0.1/tecmint-nix/pwhash.php ».

Entrez le Nom d'utilisateur et le Mot de passe sur la page php ci-dessus et cliquez sur « Mettre à jour ».

Comme indiqué dans la section Résultat, vous devez ajouter la ligne sha telle qu'elle est en copiant et collant dans config.php dans le fichier [utilisateur]. section.

Ouvrez le fichier config.php à l'aide de votre éditeur préféré.

nano config.php

Ajoutez la ligne.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

Comme c'est le cas dans la [section utilisateur], votre sha1 sera évidemment unique en fonction de votre nom d'utilisateur et de votre mot de passe. .

Enregistrez le fichier config.php avec les modifications actuelles et quittez-le.

Il est maintenant temps de vous connecter. Visitez http://127.0.0.1/tecmint-nix. Connectez-vous en utilisant votre « Nom d'utilisateur » et votre « Mot de passe ».

Oui, vous êtes connecté avec succès à votre phpshell. Vous pouvez désormais exécuter la plupart des programmes shell aussi facilement que si vous exécutiez ces commandes et scripts sur votre propre système.

Certains goulots d'étranglement de PHP Shell

  1. Aucune entrée supplémentaire prise en charge, c'est-à-dire qu'une fois qu'un programme est lancé, aucun script interactif ne peut être utilisé.
  2. Tous les serveurs Web sont configurés pour expirer après un certain laps de temps, disons 30 secondes. Cette limitation concerne le serveur Web/Apache et non phpshell.
  3. Chaque commande dans phpshell doit être strictement une seule ligne. Phpshell ne comprend pas les commandes en continuation ou les commandes multi-lignes comme dans les boucles.

N'oubliez pas qu'il est très important d'avoir PHP Shell protégé par mot de passe, sinon tout le monde pourra fouiner dans vos fichiers et peut-être aussi pouvoir les supprimer ! Veuillez prendre le temps de protéger votre installation de PHP Shell.

Cet article vise à vous faire prendre conscience de l'aspect plus large et de la mise en œuvre de Shell de manière beaucoup plus lucide.

C'est tout pour l'instant, de ma part. Je serai bientôt de retour avec un autre sujet intéressant que vous adorerez lire. D'ici là, restez à l'écoute et connecté à tecmint. Profitez !