목록Android_Vuln (26)
뉴비에욤
3번째 문제인 "INSECURE DATA STORAGE - PART 1, 안전하지 않은 데이터 저장 파트 1"를 클릭한다. 목표를 보면 식별 정보가 어디에 어떻게 저장되는지, 관련 코드는 어떻게 되는지 알아내야 한다. 입력란을 보면 써드파티 서비스의 사용자 이름과 비밀번호를 입력하라고 하는데 이런 류의 어플은 실제로 사이트 별로 계정과 이름을 다르게 설정할 경우 외우는 것이 힘들 수 있기 때문에 자동 로그인을 위해 실제로 사용하기도 한다. 임의의 아이디와 비밀번호를 입력하면 성공적으로 저장되었다는 메시지가 나타난다. adb shell을 이용해 DIVA 앱이 설치 된 대상 디바이스의 쉘을 얻는다. 안드로이드는 보통 어플 관련 데이터가 "/data/data/어플 패키지" 경로에 저장된다. > cd `ls |..
2번째 문제인 "HARDCODING ISSUES - PART 1, 하드코딩 이슈 파트 1"를 클릭한다. 목표를 보면 어떤 정보가 어디에 하드 코딩 되어 있는지 찾으라고 한다. 중간쯤을 보면 벤더 키를 입력하라고 되어 있는데 특정한 키를 이용해야 벤더(개발 회사)만의 기능을 이용할 수 있는 듯 하다. 임의의 벤더 키를 입력하면 접근이 거부되었다고 나온다. HardcodeActivity 클래스를 보면 access 함수에 조건이 있는데 사용자가 입력한 값을 "vendorsecretkey" 문자열과비교하고 있다. 해당 키를 입력하면 접근 허용 메시지가 나타난다.
DIVA 앱을 설치하고 실행하면 위 사진처럼 13개의 취약한 문제점 목록이 나타나는데, 일단 첫 번째 문제인 "1. INSECURE LOGGING, 안전하지 않은 로깅"을 클릭 한다. Objective(목표)를 보면 로깅되는 정보와 왜 그런 취약점이 발생하는지 관련 된 코드를 알아내야 한다. 입력 창을 보면 카드 번호를 입력하라고 되어 있다. 임의의 카드 번호를 입력하고 "CHECK OUT"을 클릭하면 에러 메시지가 발생한다. 안전하지 않은 로깅이라 하면 민감 정보(아이디, 비밀번호, 세션 값, 금융 정보)가 평문으로 로그 파일에 남는다는 뜻이기 때문에 컴퓨터와 연결하여 adb를 이용하여 로그 정보를 실시간으로 살펴 보면 된다. 컴퓨터와 연결 된지 확인 후 로그를 볼 수 있게 logcat 명령어를 실행한..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.