ช่องโหว่เครื่องให้บริการเปิดใช้งานเว็บเมธอดไม่จำเป็น (HTTP TRACE/TRACK Methods Allowed)

รายละเอียดประเด็นข้อตรวจพบ

จากการใช้เครื่องมือวิเคราะห์ช่องโหว่อัตโนมัติ ผู้ตรวจสอบพบว่าเป้าหมายที่กำลังทดสอบมีการเปิดใช้งาน “Methods” ไม่จำเป็น เช่น TACE หรือTRACK ซึ่ง “Method” ดังกล่าวมีไว้สำหรับการตรวจสอบข้อบกพร่องหรือวิเคราะห์การเชื่อมต่อไปยังเครื่องให้บริการ (Debugging the web server connections) ในระบบพัฒนาหรือทดสอบ (Development and test environment)

“Method” ดังกล่าวอาจนำไปสู่การโจมตีที่เรียกว่า “Cross-site Tracing (XST)” เพื่อวัตถุประสงค์ในการขโมยข้อมูลสำคัญ เช่น ข้อมูลแซสชัน (Session ID) ที่อยู่ในส่วนของ “Cookies” เป็นต้น โดยเหตุการณ์ดังกล่าวอาจเกิดจากผู้ใช้งานเว็บไซต์ได้ทำการล็อกอินเข้าระบบสำเร็จ และเข้าใช้งานเว็บไซต์ที่ไม่ปลอดภัยพร้อมกัน ซึ่งเว็บไซต์ดังกล่าวอาจมีคำสั่งอันตรายส่งผลให้ข้อมูลสำคัญดังกล่าวถูกขโมยได้ผ่านเว็บบราวเซอร์เดียวกัน

TRACK /test.php HTTP/1.1
Host: www.test.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: th,en-US;q=0.7,en;q=0.3
Connection: close

ข้อแนะนำ

ปิดการใช้งานเว็บเมธอดที่ไม่จำเป็น (TRACE และ TRACK)

สำหรับ IIS

1. เปิด IIS Manager
2. เลือกเว็บไซต์ที่ต้องการปิด "TRACE/TRACK method"
3. ดับเบิ้ลคลิก "Request Filtering" (ถ้าไม่เห็น "Request Filtering icon" ให้ติตดั้งตามลิงค์ https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/)
4. ไปที่ "HTTP Verbs"
5. คลิก "Deny Verb" พิมพ์ "TRACE" คลิก "OK"
6. คลิก "Deny Verb" พิมพ์ "TRACE" คลิก "OK"
7. ทดลอง "Restart Server"

สำหรับ Apache

เพื่อปิด "Trace/Track method" ทั้ง "Server"
1. ไปที่ "Congiuration file" 
   vim /etc/httpd/conf/httpd.conf
2. จากนั้นเพิ่มคำสั่ง
   TraceEnable Off
3. ทดลอง "Restart Server"
​
สำหรับ "Individual virtual host" ใหัตั้งค่าดังนี้
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

อ้างอิงเพิ่มเติม