Android
[Android] 디버그 로그 내 중요정보 노출
Alioth02
2025. 5. 12. 14:13
※ 준비물
1. adb
2. jdk (환경 변수 설정)
3. logfilter (adb 폴더에 넣어서 사용 or adb를 환경 변수로 지정해서 사용)
4. diva application.apk (진단 대상)
1. 패키지명 확인
adb shell # adb 쉘 진입
pm list packages | grep [앱 이름]
# pm list packages | grep diva
# jakhar.aseem.diva
1.1. 프로세스 확인
adb shell # adb 쉘 진입
pidof [패키지명]
# pidof jakhar.aseem.diva
# 21306
1.2. 디버그 로그 확인
adb shell # adb 쉘 진입
logcat --pid [프로세스 ID]
# logcat --pid 21306
# 아래와 같이 하는 경우 다른 로그도 많이 잡힘
# logcat | grep [프로세스 ID]
1.3. 디버그 로그 상세 검색
logcat --pid [프로세스 ID] | grep -i "검색 문자열"
# logcat --pid 21306 | grep -i "9999"
# 앱 프로세스 지정하고
# -i 옵션을 이용해 앱에서 사용하는 중요 값을 검색해보기
# 위와 같이 중요 정보가 디버그 로그에 찍히면 취약
1.4. 디버그 로그에서 확인해야 하는 값
"""
id, pw
토큰 값, 세션 값
주민등록번호, 카드번호 등...
"""
2. logfilter 도구 이용
2.1. JDK 설치
https://www.oracle.com/kr/java/technologies/downloads/
※ 툴이 자바로 작성 되었으므로, 툴 동작을 위해선 자바(JDK) 설치 필수
※ 툴이 동작하지 않는다면 자바를 시스템 환경 변수에 등록
2.2. logfilter 설치
2.3. adb 폴더로 툴 이동 & logfilter.bat 실행
adb 폴더를 시스템 환경 변수로 등록하던가
logfilter 툴을 adb 폴더에 넣어서 사용해야 한다.
2.4. 로그 수집
OK 버튼을 이용해 연결된 안드로이드 디바이스를 확인하고
Run 버튼을 이용해 해당 단말의 디버그 로그를 수집한다.
2.5. 프로세스 및 검색 문자열 입력
프로세스 ID 값과 검색 문자열을 입력하면
좀 더 가독성 좋게 디버그 로그를 확인할 수 있다.