บทนำ (Overview)
บทความนี้นำเสนอการดักจับข้อมูล (Interception) ของโปรแกรมประเภท “Java application” ที่เขียนติดต่อกับ “Server” ทั้งการส่งข้อมูลและรับข้อมูล เพื่อหาข้อมูลความลับที่สำคัญ (Sensitive information) โดยตัวโปรแกรมในการดักจับใช้กระบวน “Inject” ตัว “Process” ของโปรแกรมที่ต้องดักจับ และทำหน้าทีเหมือนเป็น “Proxy” ก่อนส่งข้อมูลออกไป ส่วนโปแกรมที่จะใช้สำหรับการทดสอบสามารถเขียนขึ้นเองได้ จากบทความดังนี้
- How to create “hello world”
- How to create Executable jar file (.jar)
- How to send data (Method Post) using HttpURLConnection
ขั้นตอน (Steps)
- ดาวน์โหลดและติดตั้งโปรแกรม “Echo Mirage” (http://echo-mirage.software.informer.com/download/)
- เปิดโปรแกรม Java (.jar) ที่เราจะทดสอบ
- ตัวโปรแกรมจะทำหน้ารับค่า “Username” และ “Password” และส่งไปประมวลที่ “Server” จากนั้นจะส่งค่ากลับคืนมาที่ตัว “Application”
- เปิดโปรแกรม “Echo Mirage”
- จากนั้นเลือกเมนู “Process > Inject” หรือเลือกที่ “icon”
- จะปรากฏรายชื่อ “Process” ที่กำลังทำงานอยู่ ให้เลือก “Process” ที่ชื่อ “javaw.exe” และคลิกปุ่ม “OK” (นอกจากนี้เรายังประยุกต์ใช้กับ “Process” อื่น ๆ ได้)
- โปรแกรมจะรอรับการส่งข้อมูลจาก “JAVA Client” เราลองทดสอบกรอกข้อมูลและคลิก “Login”
- จากรูปข้างต้นจะพบว่าส่วนของ “Head” ของโปรโตคอล “HTTP มาก่อน” จากนั้นลองคลิกปุ่ม
จะพบส่วนของ POST ที่บรรจุ “Username” และ “Password”
- และสุดท้ายเมื่อคลิก
อีกครั้งจะพบส่วนของ HTTP response จะตอบกลับมา