ค้นหาเว็บไซต์

สำรวจ Linux Shell (เทอร์มินัล) จากระยะไกลโดยใช้ PHP Shell


PHP Shell หรือ Shell PHP เป็นโปรแกรมหรือสคริปต์ที่เขียนด้วย PHP (Php Hypertext Preprocessor) ซึ่งให้ >Linux Terminal (Shell เป็นแนวคิดที่กว้างกว่ามาก) ในเบราว์เซอร์ PHP Shell ช่วยให้คุณสามารถรันคำสั่งเชลล์ส่วนใหญ่ในเบราว์เซอร์ แต่ไม่ใช่ทั้งหมดเนื่องจากข้อจำกัด

อัปเดต: เมื่อเร็วๆ นี้ ฉันได้พบเครื่องมือที่มีอนาคตสดใสชื่อว่า 'Wetty (Web + tty)' ซึ่งให้การเข้าถึงเทอร์มินัล Linux ที่สมบูรณ์ ผ่านโปรโตคอล HTTP หรือ HTTPS และช่วยให้คุณสามารถรันคำสั่งและโปรแกรม Linux ทั้งหมดได้ราวกับว่าคุณกำลังนั่งอยู่หน้าเทอร์มินัลจริงหรือเสมือน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งและการใช้งาน Wetty โปรดไปที่: วิธีติดตั้ง Wetty เพื่อเข้าถึง Linux Terminal ผ่านทางเว็บเบราว์เซอร์

PHP Shell มีประโยชน์อย่างมากในการรันคำสั่ง Shell บนเว็บเซิร์ฟเวอร์ระยะไกล ซึ่งคล้ายกับ Telnet และ SSH ซึ่งจะเป็นประโยชน์ในการย้าย คลายซิป และจัดการไฟล์ขนาดใหญ่หรือไฟล์จำนวนมากบนเว็บเซิร์ฟเวอร์ การดูแลและบำรุงรักษาเว็บเซิร์ฟเวอร์โดยใช้ PHP Shell นั้นง่ายกว่ามาก หากผู้ใช้มีความรู้เกี่ยวกับการทำงานของโปรแกรม Shell

เมื่อมี Telnet และ SSH อยู่แล้ว อะไรคือความจำเป็นของ phpshell ซึ่งเป็นคำถามที่อาจเข้ามาในความคิดของคุณ คำตอบคือ ในหลายกรณี ไฟร์วอลล์เข้มงวดมากจนไม่มีสิ่งใดผ่านไปได้ ในกรณีนี้ phpshell ให้คุณสามารถเข้าถึงเชลล์บนเซิร์ฟเวอร์ระยะไกลได้

อย่างไรก็ตาม คุณไม่สามารถรันโปรแกรม GUI หรือสคริปต์/โปรแกรมเชิงโต้ตอบโดยใช้ PHP Shell ได้ อาจเป็นข้อจำกัดก็ได้ แต่ข้อจำกัดนี้มีประโยชน์ เนื่องจากการปิดใช้งาน GUI หมายถึงความปลอดภัยที่สูงขึ้น

ดาวน์โหลด PHP เชลล์

สามารถดาวน์โหลดเวอร์ชันล่าสุดได้จากที่นี่:

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

วิธีการติดตั้งเชลล์ PHP

ตามที่ระบุไว้ข้างต้น PHP Shell เขียนด้วย PHP ดังนั้นคุณไม่จำเป็นต้องติดตั้ง เพียงแค่ย้ายไฟล์ที่เก็บถาวรไปยัง apache/ ที่ทำงานของคุณ ไดเรกทอรี httpd และแน่นอนว่าคุณต้องติดตั้ง Apache และ PHP

ติดตั้งอาปาเช่และ PHP

ติดตั้งบนระบบที่ใช้ Debian โดยใช้คำสั่ง apt-get

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

ติดตั้งบนระบบที่ใช้ Red Hat โดยใช้คำสั่ง yum

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

ตามค่าเริ่มต้นไดเรกทอรีการทำงานของ apache/http คือ:

บน distro ที่ใช้ Debian /var/www

บน distro ที่ใช้ Red Hat /var/www/html

หมายเหตุ: สามารถเปลี่ยนเป็นโฟลเดอร์อื่นได้ และแนะนำให้ใช้เป็นมาตรการรักษาความปลอดภัย

ย้ายไฟล์เก็บถาวร PHP Shell ที่ดาวน์โหลดไปยังไดเร็กทอรีการทำงานของ Apache ที่นี่ฉันใช้ระบบ Debian ดังนั้นไดเร็กทอรีการทำงานของ Apache ของฉันจึงเป็นเช่นนั้น

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

แตกไฟล์เชลล์ php

tar -zxvf phpshell-2.4.tar.gz

ลบไฟล์บีบอัด

rm -rf phpshell-2.4.tar.gz

เปลี่ยนชื่อโฟลเดอร์ php เชลล์เป็นสิ่งที่คาดเดาได้ยาก เพื่อเป็นมาตรการรักษาความปลอดภัย ตัวอย่างเช่น ฉันย้ายไปที่โฟลเดอร์ phpshell (ปัจจุบันคือ tecmint-nix) และเปลี่ยนชื่อ phpshell.php เป็น index.php เพื่อให้คุณถูกเปลี่ยนเส้นทางโดยตรงไปยังหน้าดัชนี ไม่ใช่เนื้อหาของโฟลเดอร์

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

ได้เลย ถึงเวลาเปิดเว็บเบราว์เซอร์แล้วไปที่ “http://127.0.0.1/tecmint-nix

ตามค่าเริ่มต้น ชื่อผู้ใช้ หรือ รหัสผ่าน จะไม่ทำงาน ดังนั้นคุณต้องเพิ่ม ชื่อผู้ใช้ และ รหัสผ่าน ด้วยตนเอง

หากต้องการสร้างชื่อผู้ใช้และรหัสผ่านให้เรียกสคริปต์ pwhash.php ที่อยู่ในโฟลเดอร์ phpshell เช่น “http://127.0.0.1/tecmint-nix/pwhash.php

ป้อน ชื่อผู้ใช้ และ รหัสผ่าน บนหน้า php ด้านบน และคลิก 'อัปเดต'

ตามที่ระบุไว้ในส่วนผลลัพธ์ คุณต้องเพิ่ม บรรทัด sha เช่นเดียวกับการคัดลอกและวางลงใน config.php ใน [ผู้ใช้] ส่วน.

เปิดไฟล์ config.php โดยใช้โปรแกรมแก้ไขที่คุณชื่นชอบ

nano config.php

เพิ่มบรรทัด

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

ตามที่อยู่ใน [ส่วนผู้ใช้] แน่นอนว่า sha1 ของคุณจะไม่ซ้ำกันโดยพิจารณาจาก ชื่อผู้ใช้ และ รหัสผ่าน ของคุณ .

บันทึกไฟล์ config.php ที่มีการเปลี่ยนแปลงปัจจุบันและออกจากไฟล์

ตอนนี้ได้เวลาเข้าสู่ระบบแล้ว ไปที่ http://127.0.0.1/tecmint-nix เข้าสู่ระบบโดยใช้ 'ชื่อผู้ใช้' และ 'รหัสผ่าน'

ใช่แล้ว คุณเข้าสู่ระบบ phpshell สำเร็จแล้ว ตอนนี้คุณสามารถรันโปรแกรมเชลล์ส่วนใหญ่ได้อย่างราบรื่นราวกับว่าคุณกำลังรันคำสั่งและสคริปต์เหล่านั้นบนระบบของคุณเอง

ปัญหาคอขวดบางอย่างของ PHP Shell

  1. ไม่รองรับอินพุตเพิ่มเติม เช่น เมื่อเปิดตัวโปรแกรมแล้ว จะไม่สามารถใช้สคริปต์เชิงโต้ตอบได้
  2. เว็บเซิร์ฟเวอร์ทั้งหมดได้รับการกำหนดค่าให้หมดเวลาในกรอบเวลาที่กำหนด เช่น 30 วินาที ข้อจำกัดนี้เป็นของเว็บเซิร์ฟเวอร์/ Apache ไม่ใช่ phpshell
  3. แต่ละคำสั่งใน phpshell ต้องเป็นหนึ่งบรรทัดอย่างเคร่งครัด Phpshell ไม่เข้าใจคำสั่งต่อเนื่องหรือคำสั่งหลายบรรทัดเหมือนกับในลูป

โปรดจำไว้ว่าการมี การป้องกันด้วยรหัสผ่าน PHP Shell นั้นสำคัญมาก ไม่เช่นนั้นทุกคนจะสามารถสอดแนมไฟล์ของคุณและอาจลบไฟล์เหล่านั้นได้ด้วย โปรดสละเวลาเพื่อปกป้องการติดตั้ง PHP Shell ของคุณ

บทความนี้มีจุดมุ่งหมายเพื่อให้คุณตระหนักถึงมุมมองที่กว้างขึ้นและการใช้งานเชลล์ในลักษณะที่ชัดเจนมาก

นั่นคือทั้งหมดสำหรับตอนนี้จากฉัน เร็วๆ นี้ฉันจะกลับมาที่นี่อีกครั้งพร้อมกับหัวข้อที่น่าสนใจที่คุณผู้คนจะชอบอ่าน จนกว่าจะคอยติดตามและเชื่อมต่อกับ tecmint สนุกได้เลย!