Flutter – TLS Certificate Pinning Sample

TLS Certificate Pinning ช่วยทำให้แอปสามารถตรวจสอบได้ว่าบริการ TLS/SSL ที่กำลังจะเชื่อมต่อนั้นเป็นเป็นบริการที่รันอยู่บน server เดียวกันกับที่แอปรู้จักไหม เพื่อป้องกันการดัก traffic ด้วย proxy ในเบื้องต้นก่อน (ความเป็นจริงแล้วการ implement security control ฝั่ง client side มันย่อมมีแนวโน้มว่าจะถูก bypass ได้ แต่ทำไว้ยังดีกว่าไม่ทำเลย) หลายครั้งที่ต้องเรสประเด็นว่าแอปไม่มีการตรวจสอบ TLS certificate ของบริการ TLS/SSL ที่ตัวมันต้องเชื่อมต่อยิ่งเป็นแอปที่มีความสำคัญพวก financial app แล้วยิ่งต้องถูกกำกับด้วยข้อบังคับต่าง ๆ นานา ผู้พัฒนาแอปจึงจำเป็นที่ต้องพัฒนาแอปให้สอดคล้องกับข้อบังคับเหล่านั้น

อ่านเพิ่มเติม

How to root Android Studio Emulator (AVD) with Magisk

ในปัจจุบัน Android Virtual Device (AVD) ที่มากับ Android Studio ยังไม่มีฟังก์ชันเปิด/ปิดการ Root เครื่องเหมือน Android Emulator ตัวอื่นๆ และ AVD ที่สร้างขึ้นมาจะเป็นแบบ Non-Root โดยบทความนี้จะกล่าวถึงขั้นตอนการ Root AVD โดยใช้ Magisk

อ่านเพิ่มเติม

How to bypass certificate pinning using TrustMeAlready

ภายหลัง Android Version 6 ขึ้นไป ผู้ทดสอบจะติดปัญหาไม่สามารถการดักข้อมูล HTTP request และ Response ผ่านโปรแกรม Burp suites วิธีแก้เบื้องต้นคือการ Bypass Certificate Pinning ก็สามารถที่จะดักข้อมูลได้อย่างปกติ

อ่านเพิ่มเติม

How to install LSPosed Framework – Android (Android 8.1 ~ 12)

บทความแนะนำวิธีการติดตั้ง LSPosed Framework สำหรับ Android เพื่อช่วยให้ผู้ทดสอบสามารถปรับเปลี่ยนวิธีการทำงานของ Application ที่ติดตั้งอยู่บนเครื่องโทรศัพท์ โดยไม่จำเป็นต้องแก้ไข Application ซึงเราจะแก้ไขขณะที่โปรแกรมถูกเปิดใช้งาน (Android Runtime – ART)

อ่านเพิ่มเติม

How to intercept the HTTP traffic via OpenVPN

เป็นวิธีการดักจับข้อมูล HTTP ของ Burp โดยใช้ OpenVPN ลงบน Kali และเครื่อง iOS เพื่อที่จะทำให้สามารถดักจับ Traffic ได้ ซึ่งบาง Application ที่เขียนด้วย Flutter อาจไม่สามารถดักจับได้โดยวิธีลง Cert burp ปกติ

อ่านเพิ่มเติม