[안드로이드 APK 진단] DIVA - 7.입력 값 검증 부재 파트 1
·
Android_Vuln
7 번째 문제, "7.INPUT VALIDATION ISSUES - PART 1"을 클릭한다. 목표를 보면 특정한 사용자의 이름을 알지 못하는 상태에서 모든 사용자의 데이터에 대하여 접근하는 것이다. 3명의 사용자가 있는데 단 한번의 악용적인 검색을 통해 모든 데이터를 가져와야 한다. 사용자는 모른다고 하지만 게싱을 통해 어플의 이름인 "diva"를 입력하고 SEARCH를 클릭하면 위 사진처럼 diva 사용자의 아이디, 비밀번호, 신용카드 번호가 나타난다. SQLInjectionActivity 클래스를 보면 SQL 쿼리를 볼 수 있다. DB 생성 후 3명의 사용자(admin, dvia, john)에 대한 데이터를 삽입한다. 그리고 "SELECT * FROM sqliuser WHERE user=\'"사용자..
[안드로이드 APK 진단] DIVA - 6.안전하지 않은 데이터 저장 파트 4
·
Android_Vuln
6 번째 문제 "6. INSECURE DATA STORAGE - PART 4"를 클릭한다. 임의의 로그인 정보를 입력한다. InsecureDataStorage4Activity 클래스 코드를 보면 외장저장소 위치에 uinfo.txt 라는 파일을 생성하는데 파일명 앞에 '.' 이 붙는다 > 보통 안드로이드에서 외장 저장소라 하면은 /sdcard 경로를 의미한다. > 파일명 앞에 '.' 을 붙이면 숨김 파일로 인식 되어 파일 탐색기의 기본 설정으로는 보이지 않기 때문에 숨김 파 일 표시를 하거나 "ls -a" 명령를 이용해야 한다. /sdcard 경로로 이동하면 숨김 파일인 ".uinfo.txt" 파일을 보면 사용자가 입력한 로그인 정보를 볼 수 있다.
[안드로이드 APK 진단] DIVA - 5.안전하지 않은 데이터 저장 파트 3
·
Android_Vuln
5번째 문제 "5. INSECURE DATA STORAGE - PART 3"을 클릭한다. 기존 문제들과 마찬가지로 임의의 로그인 정보를 입력한다. InsecureDataStorage3Activity 클래스 코드를 보면 uinfo 문자열로 시작하는 임시 파일을 만들어 사용자가 입력한 값을 저장한다. diva 패키지 경로로 이동해보면 uinfo+숫자+tmp 이름을 가지는 파일을 볼 수 있는데 내용을 보면 사용자가 입력한 로그인 정보임을 알 수 있다.