[안드로이드 APK 진단] DIVA - 8.입력 값 검증 부재 파트 2
·
Android_Vuln
8 번째 문제 "8. INPUT VALIDATION ISSUES - PART 3"을 클릭한다. 목표를 보면 웹 URL을 이용하는 것이 아니라, 다른 것을 이용하여 민감 정보를 접근하라고 한다. 일단 혹시 모르니 http://google.com 입력 후 VIEW를 클릭한다. 그냥 구글 홈페이지가 열릴 뿐 별다른 행위는 발생하지 않는다. (logcat 으로 보아도 마찬가지) InputValidation2URISchemeActivity 클래스의 코드를 대충 보면 별 문제가 없어 보인다. 문제는 위 사진에서 강조 된 라인에서 사용자의 입력에 대하여 별다른 필터링을 하지 않고 loadUrl 함수의 인자로 사용한다는 뜻이다. > URL 이 아닌 다른 것을 이용하여 민감 정보를 획득하라고 했으니 파일 접근을 시도해 ..
[안드로이드 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" 파일을 보면 사용자가 입력한 로그인 정보를 볼 수 있다.