YapDatabase 란?
- YapDatabase는 SQLite를 기반으로 구축된 collection/key/value 저장소
- macOS, iOS, watch를 대상으로 Swift & Objective-C 개발자를 위해 SQLite 위에 구축됨
DVIA-v2 앱을 통한 실습
로컬 시스템(iOS 설치기기) 내에 중요 정보가 평문으로 저장되는지 확인하기 위해 DVIA-v2 앱을 실행.
메인메뉴 좌측 상단 메뉴 클릭 > Local Data Storage 클릭 > YapDatabase 클릭
평문 저장 테스트를 위한 Text 입력(ID, Password) > Save in YapDatabase 클릭 > OK 클릭
3uTools Files에서 Applications (User) 클릭 또는 탐색창에 /var/containers/Bundle/Application 을 입력.
DVIA-v2 폴더의 수정 시간 확인.
/private/var/mobile/Containers/Data/Application 에서 위에서 확인한 DVIA-v2 폴더와 수정 시간이 같은 폴더를 찾음.
/private/var/mobile/Containers/Data/Application/$uuid/Library/Application Support
위 경로로 이동하여 YapDatabase.sqlite, YapDatabase.sqlite-wal, YapDatabase.sqlite-shm 파일을 선택한 다음 우클릭하여 Export 한다.
추출한 YapDatabase.sqlite 파일을 DB Browser for SQLite.exe 으로 연다.
DB Browser for SQLite.exe 설치 방법 및 사용방법은 아래의 글을 참고하길 바란다.
2022.06.28 - [Mobile App 취약점 진단/iOS App 진단] - [iOS App 진단] 03강 - 진단 도구 설치
테이블(T)의 콤보박스를 클릭 > database2 선택 > 입력한 TEXT가 평문으로 저장됨을 확인.
데이터 평문 저장 대응방안
아래의 게시글을 참조하여 데이터가 평문으로 저장되지 않도록 한다.
2023.01.15 - [Mobile App 취약점 진단/iOS App 진단] - [iOS App 진단] 05강 - 저장소 내에 중요 정보 평문 저장(저장 위치)
'Mobile App 취약점 진단 · 모의해킹 > iOS App 취약점 진단 · 모의해킹' 카테고리의 다른 글
프리다(Frida) 관련 오류 해결방법 정리 (0) | 2023.02.05 |
---|---|
아이폰 기기 별 강제 재부팅 방법 (0) | 2023.01.27 |
[iOS 취약점 진단] 05강 - 저장소 내에 중요 정보 평문 저장(Couchbase Lite) (0) | 2023.01.23 |
[iOS 취약점 진단] 05강 - 저장소 내에 중요 정보 평문 저장(Realm) (0) | 2023.01.23 |
[iOS 취약점 진단] 05강 - 저장소 내에 중요 정보 평문 저장(Webkit Caching) (0) | 2023.01.23 |