목록Wargame (49)
EYEN
#1 문제 분석가. 목적앱 외부에서 private note 에 pin없이 접근해보자#2 취약점 정보가. 취약점provider로 감싼 부분에서 notesprovider는 exported=true라서 외부에서 경로만으로 접근가능하다.앱 밖에서 PIN을 모른채 private note에 접근하세요. 근데 왜 am start -d jakhar.aseem.diva.provider.notesprovider/notes는 이렇게 뜰까??아 am start는 어떤 액티비티를 시작하는 거라서, 시작할 때의 어떤 값을 정해주는 거고 content query --uri 는 db내의 컨텐트 프로바이더를 쿼리하기 위한 것이다. --uri옵션은 쿼리할 컨텐트 프로바이더의 URI를 지정한다. pin을 알고 접속하는 법은 없음 이건 ..
#1 문제 분석가. 목적앱 외부에서 api credentials에 pin없이 접근해보자#2 취약점 정보가. 취약점 내의 로 보호하면 안 된다.intent-filter 를 적용하면 exported가 true가 되어서 VIEW_CREDS2를 외부에서 접근할 수 있게 된다.view creds2는 저 Tveeter API credentials를 띄우는 action액티비티 jakhar.aseem.diva.APICreds2Activity 에 속한다. 그래서 저 VIEW_CREDS2를 하려면 am(activity manager) start(시작) -n(액티비티 경) jakhar.aseem.diva/.APICreds2Activity -a(액션) jakhar.aseem.diva.action.VIEW_CREDS2 위 코드..
#1 문제 분석가. 목적앱 외부에서 api credential에 접근해보자나. 활용소스코드,adb#2 취약점 정보가. 취약점 내의 로 보호하면 안 된다. 나. 취약점 확인법클릭하면 정보가 출력되는 앱. 외부에서 그 정보에 접근할 수 있다.adb를 써야한다. logcat 결과 jakhar.aseem.diva/.APICredsActivity 액티비티에서 디스플레이 한거다.nox에서 diva내부 저장소가 아니라 diva 코드에 접근해야하나? 코드 내에 텍스트로 되어있는 걸.... 외부에서 접근? 다른 서비스에서 접근해야하나보다.외부에서 접근하는 법. 나는 안드로이드 내부 저장소에서 찾아서 cat으로 보는 건 줄 알았는데 앱의 홈화면에서 이렇게 했을 때 view를 클릭하지 않고도 apicredential 화면..
#1 문제 분석가. 목적민감정보를 webURL없이 접근해보자나. 활용소스코드,adb#2 취약점 정보가. 취약점 나. 취약점 확인법경로 탐색 공격 중 하나일 것이라고 생각했다.경로 이것저것 넣어보다가 nox 파일시스템에서 jakhar.assem.diva의 데이터 저장소로 가서 다 뒤져보았다. #3 코드 분석1. import android.webkit.WebSettings;android.webkit.WebSettings: 안드로이드 웹뷰가 웹 페이지를 어떻게 표시하고 동작해야하는지 관리할 수 있는 클래스웹뷰는 안드로이드 애플리케이션에서 웹 콘텐츠를 표시하고 웹페이지와 상호작용하는 데 사용된다.Websettings:자바스크립트 사용 설정: setJavaScriptEnabled() 메서드를 사용하여 웹뷰에서..
#1 문제 분석가. 목적모든 유저 데이터에 유저 이름 모르고 접근하기를 시도하자.기본으로 3명의 유저가 있고 하나의 악한 검색을 통해 모든 유저의 데이터를 출력해보자.나. 활용소스코드, adb #2 취약점 정보가. 취약점옳지 않거나 없는 입력조건 문제는 입력값이 쓰이기 전에 필터링되지 않거나 유효성을 확인하지 않을 때 발생한다.외부에서 입력받는 컴포넌트를 개발할 때 유효성을 확인해라. 한명이 admin이면 admin을 찾아봐라나. 취약점 확인법sqlinjection 비스무리하게 시도하기문제에서는 유저 이름만 검색해도 나온다.다. 취약점인 이유입력 유효성을 검증하지 않으면 xss, sqlinjection 공격에 취약할 수 있다. 라. 저렇게 개인정보를 출력하는 경우? 혹은 입력값의 유효성을 확인하지 않는 ..
#1 문제 분석가. 목적민감정보가 어디에서 어떻게 저장되는지 알기, 취약점 코드 알기나. 활용소스코드, adb #2 취약점 정보가. 취약점민감정보를 잘못 저장할 때나. 취약점인 이유Path Traversal, Directory Traversal에서 유용하게 쓰일 정보를 소스코드에 담고 있다. #3 코드 분석java 코드이다.1.import android.os.Environment; 안드로이드 운영체제에서 외부 저장소(안드로이드 기기의 외부 메모리(SD카드등))에 접근하기 위한 클래스, 외부 저장소의 상태를 확인하고 외부 저장소에 파일을 읽거나 쓰는 데 사용외부 저장소 상태 확인: getExternalStorageState() 메서드를 사용하여 외부 저장소의 상태를 확인할 수 있습니다. 이를 통해 외부 ..
#1 문제 분석가. 목적민감정보가 어디에서 어떻게 저장되고 취약한 코드가 어디있는지 알기나. 활용소스코드, adb #2 취약점 정보가. 취약점어떤 디렉토리의 어떤 파일에 저장하는지 공개한 점나. 취약점인 이유경로 조작 공격(Path Traversal Attack) 또는 디렉토리 탐색 공격(Directory Traversal Attack)에 유용 #3 코드 분석(3과 다른 부분)1. import java.io.File;java.io.File : 자바에서 파일이나 디렉토리를 다루기 위한 클래스, 파일과 디렉토리를 생성삭제하고 파일속성을 읽고 수정할 수 있다. 2. import java.io.FileWriter; java.io.FileWriter: 파일에 문자데이터를 작성하기 위한 클래스, 파일에 문자 데..
#0. 학습 목표가. 코드 해석을 빠르게 하도록 디바의 코드 한 줄 한 줄이 무슨 의미인지 알기. 나. 나중에 비슷한 코드를 봤을 때 취약점인 줄 알도록 취약점 있는 코드와 취약점 원인인 라인알기, 보호기법이 씌워진 코드와 비교하기#1 문제 분석가. 목적민감정보가 어디에서 어떻게 저장되고 취약한 코드가 어디있는지 알기나. 활용소스코드, adb #2 취약점 정보가. 취약점myuser라는 테이블에 VARCHAR형의 user, passwd라는 이름으로 저장된다는 것을 알 수 있다. 나. 민감정보가 저장되는 곳을 노출하는 게 취약점인 이유공격자가 공격할 SQL쿼리문을 결정할 때 유용하게 쓰임 #3 코드 분석java 코드이다.1.public class InsecureDataStorage2Activity exten..