1. URIs내 저장된 데이터를 우리는 권한 없이 접근하여 추출할 수 있으며, 여기서 password 필드는 Base64로 인코딩되어 화면에 출력을 확인하고 컨텐트 프로바이더 SQL Injeciton을 시도 시 아래와 같이 Projection 및 Select 연산자를 이용하여 싱글쿼터 " ' " 문자를 입력하였을 때 SQL 에러가 발생 여기서 SQL Injeciton이 취약하다고 판단할수 있다.
2. key 테이블을 조회 시 Projection 연산자에 의해 이 쿼리는 key 테이블내 모든 컬럼 값을 반환 아래와 같이 테이블을 확인 가능하다.
(run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* from SQLITE_MASTER where type='table';--")
3. Content Provider에 대한 정보 수집 시Key table에 대한 접근이 제한되어 있었으나 SQL Injeciton 공격을 통해 Key table 내 password를 확인 가능한 것을 확인 가능하다
(run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "*from key;--")
이상으로 SQL Injection 공격 가능 여부를 확인 하였다.
'모바일 앱 진단' 카테고리의 다른 글
frida 사용하기 설치 및 환경설정 (0) | 2019.12.24 |
---|---|
안드로이드 drozer를 이용한 앱 취약점 진단 방법-컨텐트 프로바이더 (0) | 2019.12.20 |
안드로이드 drozer를 이용한 앱 취약점 진단 방법-액티비티 (0) | 2019.12.20 |