🛠️ DIVA 소개 & Insecure Logging 문제 풀이
DIVA(“Damn Insecure and Vulnerable App”) 는 OWASP MSTG 학습 목적의 안드로이드 워게임입니다.
각 단계마다 실전에서 자주 발생하는 모바일 취약점을 체험하며 “원인–악용–대응” 흐름을 스스로 실습할 수 있게 설계되었습니다.
이번 글에선 1단계 Insecure Logging 문제를 다뤄 보겠습니다.
1. 문제 개요 : Insecure Logging

- Objective : “어디서·어떻게 민감 정보가 로그에 남는지 찾아라”
- 힌트 : 개발자가 인증정보/세션 ID/카드번호 등을 무심코 Log.*() 로 남기면 공격자가 Logcat을 통해 그대로 열람 가능
2. 풀이
-
앱 실행 → “Insecure Logging” 단계 선택
카드 번호 입력 창에 임의 값 (나의 경우 123) 입력 후 CHECK OUT 클릭 -
adb logcat | grep diva-log로 애플리케이션 전용 태그만 확인 (나는 Android Studio Logcat 기능 활용)

민감 정보(ex: 카드번호)가 평문 그대로 노출
-
****decompile

Log.e() 호출부에서 사용자가 입력한 문자열을 그대로 덧붙이고 있음을 확인.
3. Root Cause 분석
| 원인 | 설명 |
| 개발 단계 디버그 로그를 그대로 출하 | Log.d / Log.e 등을 조건 분기 없이 사용 → Release 빌드에도 포함 |
| 민감 데이터 마스킹 부재 | 카드번호·세션토큰 등 그대로 출력 |
| 권한 없는 프로세스도 Logcat 접근 | Android < 13 에선 READ_LOGS 퍼미션이 없어도 동일 UID 앱·PC ADB 모두 로그 열람 가능 |