취약점 개요

매개변수 조작 취약점은 안드로이드 모바일 앱이 서버와 통신하도록 구현되어 있는 경우 사용자와 서버가 통신하는 과정에서 발생한다.


사용자가 입력 가능한 아이디, 비밀번호, 계좌 번호, 송금 금액, 전화번호 등의 정보를 중간에 가로채어 특정한 값으로 변조 후 서버로 전송이 가능한 취약점이다.

요청, 응답 값을 검증하는 로직이 구현되어 있지 않으면 원래의 요청 값이 변조된 값으로 처리되므로 중요 정보를 수정하여 인증을 우회하거나 정보 유출 등의 피해가 발생한다.


취약점 진단

모바일 앱에서 아이디와 비밀번호를 입력 후 로그인 버튼을 클릭하면 사용자가 입력한 정보가 login 주소로 전달된다.


입력한 계정 정보가 정확하면 서버는 Correct Credentials 메시지를 사용자에게 전달하게 되고, 사용자는 모바일 앱의 기능을 이용할 수 있다.



사용자의 비밀번호를 다르게 입력하면 서버는 Wrong Password 메시지를 사용자에게 전달한다.


로그인 성공, 실패 메시지가 서로 다르므로 비밀번호를 다르게 입력하고, 응답 패킷의 메시지를 로그인 성공했을 때 전달받은 메시지로 변조한다.


피들러(Fiddler) 요청 패킷 브레이크 포인트

- Rules > Automatic Breakpoints > Before Requests (Alt + F11)


피들러(Fiddler) 응답 패킷 브레이크 포인트

- Rules > Automatic Breakpoints > After Responces (F11)



로그인 성공 시 응답 패킷의 메시지로 변조했으므로 로그인이 정상적으로 처리되어 계좌 이체, 계좌 목록, 비밀번호 변경 기능을 이용할 수 있다.


현재 로그인 기능을 이용할 때 응답 패킷만 변조를 해본 결과 검증 로직이 구현되어 있지 않아 비정상적으로 인증 우회가 가능하다.


로그인 기능 뿐만 아니라 모바일 앱에서 서버와 통신이 가능한 모든 구간인 비밀번호 변경, 계좌 이체 등에서 동일하게 취약점이 발생되며, 요청 데이터를 변조해도 동일한 현상이 발생한다.



대응 방안 및 검증

매개변수 조작 취약점은 요청 및 응답 패킷으로 전달되는 매개변수를 적절한 검증 절차 없이 전달할 때 발생한다. 이를 해결하려면 매개변수를 암호화하고, 서버 측에서 요청 값을 검증하도록 해야 한다.


매개변수 조작 취약점
사용자가 입력 가능한 중요한 매개변수를 암호화하여 조작이 불가능하도록 조치

▶ Android Drozer 설치 및 사용법

▶ 안드로이드 컴포넌트 취약점 (Android Activity)

▶ 안드로이드 컴포넌트 취약점 (Android Broadcast Receiver)

▶ 안드로이드 컴포넌트 취약점 (Android Content Provider)

▶ 안드로이드 백업 취약점 (Android Backup)

▶ 안드로이드 메모리 노출 취약점 (메모리 덤프)

▶ 안드로이드 키보드캐시 취약점

▶ 안드로이드 난독화 (코드 보호 기법)

▶ 안드로이드 루팅 탐지 우회 (Frida Hooking)

▶ 안드로이드 로컬 암호화 취약점 (Android Local Encryption)

▶ 안드로이드 다중 사용자 로그인 취약점

▶ 안드로이드 웹뷰 취약점 (Android Webview)

▶ 안드로이드 SD카드 저장소 취약점 (Android SDCard Storage)

▶ 안드로이드 하드코딩 취약점 (Android Hardcoded Secrets)

▶ 안드로이드 HTTP 통신 취약점 (Android Insecure HTTP Connections)

▶ 안드로이드 사용자 계정 목록화 취약점 (Android Username Enumeration)

▶ 안드로이드 인시큐어뱅크 앱 설치 (Android InsecureBankv2)

▶ 안드로이드 개발자 백도어 취약점 (Android Developer Backdoors)

▶ 안드로이드 로깅 메커니즘 취약점 (Android Logging Mechanism)

▶ 안드로이드 인증 취약점 (Android Weak Autorization Mechanism)

  • 카카오톡-공유
  • 네이버-블로그-공유
  • 네이버-밴드-공유
  • 페이스북-공유
  • 트위터-공유
  • 카카오스토리-공유