1. Insecure data storage - PART3
○ 안드로이드 저장소
● 내부 저장소 ( /data/data )
- /data/data/<package>/databases : 설정 파일, 컨텐츠 파일의 쿼리 정보가 포함된 SQLite 데이터베이스 파일
- /data/data/<package>/cache : 브라우저 캐시 같이 일시적인 사용자의 상태 정보가 포함
- /data/data/<package>/shared_prefs : XML 파일로 저장되며, 앱에 공유되는 설정 파일
● 외부 저장소 ( /mnt/sdcart )
○ 신용 정보가 및 취약한 코드가 저장소 어디에/어떻게 존재하는지 찾아라.
○ 임시 파일 내 계정/패스워드가 존재하지 않거나, 임시 파일이 생성되지 않도록 대응해야 함
2. Insecure data storage - PART4
○ 신용 정보가 및 취약한 코드가 저장소 어디에/어떻게 존재하는지 찾아라.
○ 외부 저장소 내 계정/패스워드가 존재하는 txt 파일을 생성하지 않도록 대응
3. Input Validation Issues - PART1
○ 사용자 입력 값 검증 부재로 인해 데이터 정보 노출
○ 따라서 사용자가 입력한 데이터의 검증이 이뤄져야 함.
ex) PreparedStatement 객체 사용, 쿼리 메서드 사용, 특수문자 필터링 등
사용자 입력값 검증 방법 : https://developer.android.com/privacy-and-security/risks/sql-injection?hl=ko#kotlin
SQL 삽입 | App quality | Android Developers
SQL 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. OWASP 카테고리: MASVS-CODE: 코드 품질 개요 SQL 삽입은 SQL 문에 코드를 삽입하여 의도적으로 노출된 인터
developer.android.com
3. Input Validation Issues - PART2
○ WebView 취약점을 이용한 모바일 장악 사례
● WebKit은 구글 크롭 웹 브라우저와 안드로이드 브라우저에 포함되어 수많은 브라우징들을 위한 엔진
● android.webkit 패키지는 웹을 출력하기 위해 제공됨
● webview는 이 패키지의 가장 중요한 클래스
● 안드로이드는 webview를 이용해 웹 페이지 브라우징을 함
○ setJavaScriptEnabled(true)
● WebView에서 JavaScript 실행을 활성화, WebView가 로드한 웹 페이지의 JavaScript 코드를 실행
○ loadUrl(uriText.getText().toString())
● loadUrl() 메서드는 주어진 URL을 WebView에 로드
● uriText.getText().toString()은 사용자가 입력한 텍스트를 URL로 변환하여 로드
○ setAllowFileAccess(false)는 WebView에서 파일 시스템에 대한 접근을 비활성화
○ 웹 콘텐츠가 디바이스의 로컬 파일에 접근할 수 없음
'프로젝트 > AOS 모바일 앱 모의해킹' 카테고리의 다른 글
12. AOS 진단 도구 정리 (0) | 2024.12.31 |
---|---|
11. 드로저(Drozer)를 통한 모바일 취약점 정리 (0) | 2024.12.30 |
9. DIVA를 통한 모바일 취약점 정리(1) (1) | 2024.12.27 |
8. 취약한 브로드캐스트 리시버 (0) | 2024.12.26 |
7. 취약한 콘텐츠 프로바이더 접근 (2) | 2024.12.25 |