[안드로이드 APK 진단] DIVA - 10.접근 제어 부재 파트 2
·
Android_Vuln
10번 문제, "10. ACCESS CONTROL ISSUES - PART 2"를 클릭한다. 목표를 보면 Tveeter에 등록을 하고 나면 TVEETER API 자격 증명을 얻을 수 있다고 한다. 이 앱은 온라인 등록을 해야 하는데, 벤더가 핀 코드를 주면 해당 핀 코드를 이용해서 등록해야 한다.우리의 목표는 핀 코드를 모르는 상태에서 앱 바깥에서 API 자격 증명을 얻는 것으로, 비즈니즈 로직 문제이기 때문에 코드를 봐야한다고 한다. Register Now를 선택하고 VIEW TVEETER API CREDENTIALS 버튼을 클릭한다. 등록을 시도하면 핀 코드를 입력하라고 한다. 임의의 핀 코드를 입력하면 잘못된 코드라는 메시지가 나타난다. Already Registered를 선택하고 API 자격 증명..
[안드로이드 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 이 아닌 다른 것을 이용하여 민감 정보를 획득하라고 했으니 파일 접근을 시도해 ..