[안드로이드 APK 진단] DIVA - 9.접근 제어 부재 파트 1
·
Android_Vuln
9 번째 문제, "9. ACCESS CONTROL ISSUES - PART 1"을 클릭한다. 목표를 보면 버튼을 클릭할 때 API 자격 증명을 접근할 수 있는데 앱을 실행하지 않고 해당 자격 증명에 접근해야 한다. API 자격 증명을 보면 위 사진과 같다. APK. 파일의 Manifest.xml 파일을 보면 위 사진과 같은데, activity는 intent-filter로 보호 된 것을 볼 수 있다. 그러나 절대 intenet-filter를 보호 메커니즘으로 사용하면 안 된다. intent-filter가 activity와 같은 어플리케이션 컴포넌트에 쓰였을 때 해당 컴포넌트는 공개적으로 export 되기 때문에 임의로 접근할 수 있게 되어 진다. * 인텐트 필터와 구성 요소에 대해서는 다음 링크 참고 ->..
[안드로이드 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=\'"사용자..