PHP Kabuğu Kullanarak Linux Kabuğunu (Terminal) Uzaktan Keşfetmek


PHP Shell veya Shell PHP, PHP (Php Hypertext Preprocessor) dilinde yazılmış bir program veya komut dosyasıdır. Tarayıcıda >Linux Terminali (Shell çok daha geniş bir kavramdır). PHP Kabuğu, kabuk komutlarının çoğunu tarayıcıda yürütmenize izin verir, ancak sınırlamaları nedeniyle hepsini değil.

Güncelleme: Yakın zamanda, tam bir Linux terminal erişimi sağlayan 'Wetty (Web + tty)' adında çok umut verici bir araç buldum. HTTP veya HTTPS protokolü üzerinden tüm Linux komutlarını ve programlarını sanki gerçek veya sanal bir terminalin önünde oturuyormuşsunuz gibi yürütmenize olanak tanır.

Wetty'in kurulumu ve kullanımına ilişkin daha fazla bilgi için şu adresi ziyaret edin: Web Tarayıcı Üzerinden Linux Terminaline Erişim için Wetty Nasıl Kurulur

PHP Shell, Telnet ve SSH'ye benzer şekilde, uzak web sunucusunda Shell komutlarının yürütülmesinde çok faydalıdır. Web Sunucusunda daha büyük dosyaları veya toplu dosyaları taşımak, açmak ve yönetmek için yararlı olabilir. Kullanıcının Shell Programları hakkında çalışma bilgisine sahip olması koşuluyla, PHP Shell'i kullanarak bir web sunucusunu yönetmek ve bakımını yapmak çok daha kolaydır.

Zaten Telnet ve SSH varken phpshell'e ne gerek var diye aklınıza gelebilecek bir sorudur. Cevap şu; çoğu durumda güvenlik duvarı o kadar kısıtlayıcı ki HTTP(S) dışında hiçbir şey geçemiyor, bu durumda phpshell uzak bir sunucuda kabuk erişimi elde etmenize izin veriyor.

Bununla birlikte, PHP Shell kullanarak bir GUI programını veya etkileşimli bir komut dosyasını/programı çalıştıramazsınız. Bu bir sınırlama olabilir ancak bu sınırlama bir nimettir, çünkü GUI'yi devre dışı bırakmak daha yüksek güvenlik anlamına gelir.

PHP Shell'i indirin

En son sürüm buradan indirilebilir:

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

PHP Kabuğu Nasıl Kurulur

Yukarıda belirtildiği gibi PHP Kabuğu PHP dilinde yazılmıştır, dolayısıyla onu yüklemenize gerek yoktur, arşivlenen dosyayı çalışan Apache/'inize taşımanız yeterlidir. httpd dizini ve elbette Apache ve PHP'nin kurulu olması gerekir.

Apache ve PHP'yi yükleyin

apt-get komutunu kullanarak Debian tabanlı sistemlere kurulum yapın.

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

Yum komutunu kullanarak Red Hat tabanlı sistemlere yükleyin.

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

Apache/http'nin varsayılan çalışma dizini şu şekildedir:

Debian tabanlı dağıtımda /var/www

Red Hat tabanlı dağıtımda /var/www/html

Not: Başka herhangi bir klasöre değiştirilebilir ve bir güvenlik önlemi olarak önerilir.

İndirilen PHP Shell arşiv dosyasını Apache çalışma dizinine taşıyın. Burada Debian sistemini kullanıyorum, yani Apache çalışma dizinim öyle.

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

Php kabuğunu açın

tar -zxvf phpshell-2.4.tar.gz

Sıkıştırılmış dosyayı kaldırın.

rm -rf phpshell-2.4.tar.gz

Bir güvenlik önlemi olarak php kabuk klasörünü tahmin edilmesi zor bir adla yeniden adlandırın. Örneğin, phpshell (şimdi tecmint-nix) klasörüne taşınıyorum ve phpshell.php'yi index.php olarak yeniden adlandırıyorum. Strong> böylece klasörün içeriğine değil doğrudan dizin sayfasına yönlendirilirsiniz.

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

Tamam, Web tarayıcınızı açıp "http://127.0.0.1/tecmint-nix" adresine gitme zamanı geldi.

Varsayılan olarak hiçbir kullanıcı adı veya şifre çalışmaz, dolayısıyla kullanıcı adı ve şifre'yi manuel olarak eklemeniz gerekir.

Bir kullanıcı adı ve şifre oluşturmak için, halihazırda phpshell klasöründe bulunan pwhash.php betiğini “http://127.0.0.1/tecmint-nix/pwhash.php“ gibi çağırın.

Yukarıdaki php sayfasına Kullanıcı adı ve şifre'yi girin ve 'Güncelle'yi tıklayın.

Sonuç bölümünde belirtildiği gibi, sha satırını, kopyalayıp [user] dosyasındaki config.php dosyasına yapıştırarak olduğu gibi eklemeniz gerekir. bölüm.

Favori düzenleyicinizi kullanarak config.php dosyasını açın.

nano config.php

Satırı ekleyin.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

[Kullanıcı bölümünde] olduğu gibi, sha1'iniz, kullanıcı adınıza ve şifrenize bağlı olarak benzersiz olacaktır. .

config.php dosyasını geçerli değişikliklerle kaydedin ve çıkın.

Şimdi giriş yapma zamanı. http://127.0.0.1/tecmint-nix'i ziyaret edin. 'Kullanıcı Adınızı' ve 'Şifrenizi' kullanarak giriş yapın.

Evet, phpshell'inize başarıyla giriş yaptınız. Artık kabuk programının çoğunu, sanki bu komutları ve komut dosyalarını kendi sisteminizde çalıştırıyormuşsunuz gibi sorunsuz bir şekilde çalıştırabilirsiniz.

PHP Shell'in belirli darboğazları

  1. Hiçbir ek giriş desteklenmez, yani bir program başlatıldığında hiçbir etkileşimli komut dosyası kullanılamaz.
  2. Tüm web sunucusu belirli bir zaman diliminde (örneğin 30 saniye) zaman aşımına uğrayacak şekilde yapılandırılmıştır. Bu sınırlama web sunucusu/Apache'ye aittir, phpshell'e değil.
  3. Phpshell'deki her komut kesinlikle bir satır olmalıdır. Phpshell, devamdaki komutu veya döngülerdeki gibi çok satırlı bir komutu anlamıyor.

PHP Shell'in şifre korumalı olmasının çok önemli olduğunu unutmayın, aksi takdirde herkes dosyalarınızı gizlice inceleyebilir ve belki de onları silebilir! Lütfen PHP Shell kurulumunuzu korumaya zaman ayırın.

Bu makalenin amacı, Shell'in daha geniş boyutu ve uygulanması hakkında daha net bir şekilde bilgi sahibi olmanızı sağlamaktır.

Benden şimdilik bu kadar. Yakında sizlerin okumayı seveceği başka ilginç bir konuyla yeniden karşınızda olacağım. O zamana kadar bizi izlemeye devam edin ve tecmint'e bağlı kalın. Tadını çıkarın!