การถอดรหัส HTTPS (Man-in-the-Middle Attack, MitM)
Chute สามารถถอดรหัสทราฟฟิก HTTPS โดย MitM โปรดดูบทความ Wikipedia สำหรับข้อมูลเพิ่มเติม
ตัวสร้างใบรับรองสามารถช่วยคุณสร้างใบรับรอง CA ใหม่สำหรับการดีบักและทำให้ใบรับรองเชื่อถือโดยระบบ มันมีให้ใน Chute Mac และ Chute iOS Chute Editor ใบรับรองนี้ถูกสร้างขึ้นในเครื่องและบันทึกเฉพาะในไฟล์โปรไฟล์ของคุณและ Keychain ของระบบ คีย์ของใบรับรองใหม่ถูกสร้างขึ้นแบบสุ่มโดยใช้ OpenSSL
คุณยังสามารถใช้ใบรับรอง CA ที่มีอยู่ได้ ส่งออกใบรับรองเป็นรูปแบบ PKCS#12 (.p12) พร้อมข้อความรหัสผ่าน โปรดทราบว่าข้อความรหัสผ่านต้องไม่ว่างเปล่าเนื่องจากข้อจำกัดของระบบ ใช้คำสั่ง "base64" เพื่อเข้ารหัสเป็นสตริง base64 และเพิ่มการตั้งค่าเหล่านี้ด้านล่างไปยังไฟล์การกำหนดค่าของคุณ
[MITM]
enable = true
ca-p12 = MIIJtQ.........
ca-passphrase = password
hostname = *google.com
Chute ถอดรหัสเฉพาะทราฟฟิกไปยังโฮสต์ที่ประกาศที่นี่
รองรับอักขระ wildcard * และ ?
- ใช้คำนำหน้า - เพื่อยกเว้นชื่อโฮสต์
- โดยค่าเริ่มต้น เฉพาะคำขอไปยังพอร์ต 443 เท่านั้นที่ถูกถอดรหัส
- ใช้ส่วนต่อท้าย :port เพื่ออนุญาตพอร์ตอื่น
- ใช้ส่วนต่อท้าย :0 เพื่ออนุญาตทุกพอร์ต
ตัวอย่าง:
-*.apple.com: ยกเว้นคำขอทั้งหมดที่ส่งไปยัง *.apple.com บนพอร์ต 443www.google.com: อนุญาต MitM สำหรับ www.google.com บนพอร์ต 443www.google.com:8080: อนุญาต MitM สำหรับ www.google.com บนพอร์ต 8080www.google.com:0: อนุญาต MitM สำหรับ www.google.com บนทุกพอร์ต*: อนุญาต MitM สำหรับชื่อโฮสต์ทั้งหมดบนพอร์ต 443 (ไม่แนะนำ)*:0: อนุญาต MitM สำหรับชื่อโฮสต์ทั้งหมดบนทุกพอร์ต (ไม่แนะนำ)
การกำหนดค่าทั่วไปอาจเป็นดังนี้:
hostname = -*.apple.com, -*.icloud.com, *
Chute จะใช้ URL Rewrite Rule และ Header Rewrite Rule กับคำขอ MitM ทั้งหมด
บางแอปพลิเคชันมีนโยบายความปลอดภัยที่เข้มงวดในการใช้ใบรับรองหรือ CA แบบปักหมุด การเปิดใช้งานการถอดรหัสสำหรับโฮสต์เหล่านี้อาจทำให้เกิดปัญหา
ตัวเลือก
skip-server-cert-verify
skip-server-cert-verify = true
ไม่ตรวจสอบใบรับรองของโฮสต์ระยะไกลขณะทำ MITM เมื่อเปิดใช้งาน Chute จะยอมรับใบรับรองใดๆ ที่นำเสนอโดยเซิร์ฟเวอร์อัปสตรีม รวมถึงใบรับรองที่ลงนามด้วยตนเองหรือไม่ถูกต้อง สิ่งนี้มีประโยชน์สำหรับสภาพแวดล้อมการพัฒนาแต่ลดความปลอดภัย
[MITM]
enable = true
ca-p12 = MIIJtQ.........
ca-passphrase = password
skip-server-cert-verify = true
hostname = *google.com
หมายเหตุด้านความปลอดภัย: การเปิดใช้งาน
skip-server-cert-verifyทำให้การเชื่อมต่อ MITM เสี่ยงต่อการโจมตีแบบ man-in-the-middle ระหว่าง Chute และเซิร์ฟเวอร์อัปสตรีม เปิดใช้งานเฉพาะสำหรับเครือข่ายที่เชื่อถือได้หรือเพื่อการพัฒนาเท่านั้น