บทนำ (Overview)
เราเคยเสนอวิธีการตรวจสอบ “LogCat” ในบทความ How to find the sensitive information in LogCat และ
How to read Logcat by using ADB โดยบทความนี้เราจะทดสอบโดยใช้โปรแกรม “pidcat” ที่ติดตั้งมาพร้อม “Appie2” ในการอ่าน “LogCat” บน “Genymotion Emulator”
ขั้นตอน (Steps)
- ติดตั้งโปรแกรม “sieve.apk” เพื่อใช้สำหรับแสดงวิธีการหาช่องโหว่ สามารถติดตามได้ที่บทความ How to install sieve.apk on Genymotion Emulator
- เปิดโปแกรม “sieve”
- เรียกใช้งาน “console” จากโปแกรม “Appie2”
- จากนั้นใช้คำสั่งดังนี้ pidcat [ชื่อเรียกโปรแกรม สามารถตรวจได้ใน folder /data/data]
C:\Users\[user]\Desktop λ pidcat com.mwr.example.sieve Process com.mwr.example.sieve created for activity com.mwr.example.sieve/.MainLoginActivity PID: 1508 UID: 10060 GIDs: {50060, 1028, 1015, 3003} Process com.mwr.example.sieve:remote created for service com.mwr.example.sieve/.AuthService PID: 1522 UID: 10060 GIDs: {50060, 1028, 1015, 3003} libEGL D loaded /system/lib/egl/libEGL_genymotion.so D HostConnection::get() New Host Connection established 0xb844d7c0, tid 1508 libEGL D loaded /system/lib/egl/libGLESv1_CM_genymotion.so D loaded /system/lib/egl/libGLESv2_genymotion.so EGL_genymotion W eglSurfaceAttrib not implemented OpenGLRenderer E Getting MAX_TEXTURE_SIZE from GradienCache E MAX_TEXTURE_SIZE: 16384 E Getting MAX_TEXTURE_SIZE from Caches::initConstraints() E MAX_TEXTURE_SIZE: 16384 D Enabling debug mode 0 ActivityThread D Loading provider com.mwr.example.sieve.DBContentProvider: com.mwr.example.sieve.DBContentProvider dalvikvm D GC_CONCURRENT freed 58K, 4% free 3482K/3604K, paused 3ms+3ms, total 13ms D GC_CONCURRENT freed 14K, 2% free 3901K/3976K, paused 2ms+3ms, total 8ms EGL_genymotion W eglSurfaceAttrib not implemented
- จากผลการใช้งานโปรแกรม “pidcat” จะพบข้อมูลของการ “debug” เช่น “E” “D” และ “W” เป็นต้น
- ทดสอบใช้งาน โปรแกรม “sieve” จากตัวอย่างพบว่ามีการเปิดเผยข้อมูลใน “LogCat” ของการกรอกข้อมูลรหัสผ่าน