Diva tutorial 6 - Insecure data storage (Part 4) 에 대한 풀이이다.
취약 코드와 정보 저장 공간을 찾아야하며, 앞의 것과 비슷하다. 정보를 저장한 후 소스코드를 살펴보자.
눈에 띄는 것은 파일의 경로와 .uinfo.txt이다. 별도의 암호화 함수는 없다.
경로를 찾기위해 아래 파일 위치를 칭하는 듯한 26번 라인을 복사해 검색했다.
File sdir = Environment.getExternalStorageDirectory();
이는 외부저장소 절대경로를 뜻하는 것이라는 정보를 알게되었고 실제로 쓰임이 이와 같음을 확인하였다.
기본구조 ) Environment.getExternalStorageDirectory().getAbsolutePath();
사용방법 ) SaveFolderPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/폴더명";
기본 경로) /mnt/sdcard 나 /sdcard/emulater/0 등
내부 저장소와 외부 저장소
내부 저장소는 설치된 앱마다 가지고 있는 영역으로 다른 앱이 침범할 수 없다, 반면 외부 저장소는 다른 말로 SD카드라고 부르며 모든 앱이 접근할 수있다. 만약 외부 저장소에 중요정보를 저장하도록 구현되어 있다면 모든 앱이 접근 가능하여 민감한 정보가 노출될 수 있다. 경로 - /sdcard
이에 해당부분으로 경로 이동하여 ls로 파일을 살핀다. 여기서 mnt/sdcard 와 /sdcard는 같은 디렉토리이다.
명령어를 입력하고 찾는 파일이 없어서 당황하게 되는데, 다시 소스코드를 올려보면 파일명 앞에 . 이 존재하기 때문에 ls에 옵션을 붙여 숨김파일을 조회해주어야한다.
$ls -a
검색 시 원하는 .uinfo.txt 파일을 찾을 수 있고 조회하면 내가 저장한 정보가 존재함을 확인할 수 있다.
'App hacking' 카테고리의 다른 글
[모바일 앱 취약점] Diva tutorial 8 - Input Validation Issues (Part 2) (0) | 2022.03.19 |
---|---|
[모바일 앱 취약점] Diva tutorial 7 - Input Validation Issues (Part 1) (0) | 2022.03.19 |
[모바일 앱 취약점] Diva tutorial 5 - Insecure data storage (Part 3) (0) | 2022.03.19 |
[모바일 앱 취약점] Diva tutorial 4 - Insecure data storage (Part 2) (0) | 2022.03.19 |
[모바일 앱 취약점] Diva tutorial 3 - Insecure data storage (Part 1) (0) | 2022.03.19 |