EYEN

DIVA 8단계 본문

Wargame/android

DIVA 8단계

EYEN 2024. 5. 3. 12:49

#1 문제 분석

가. 목적

민감정보를 webURL없이 접근해보자

나. 활용

소스코드,adb

#2 취약점 정보

가. 취약점

 

나. 취약점 확인법

경로 탐색 공격 중 하나일 것이라고 생각했다.

경로 이것저것 넣어보다가 nox 파일시스템에서 jakhar.assem.diva의 데이터 저장소로 가서 다 뒤져보았다.

 

 

 #3 코드 분석

1. 

import android.webkit.WebSettings;

android.webkit.WebSettings: 안드로이드 웹뷰가 웹 페이지를 어떻게 표시하고 동작해야하는지 관리할 수 있는 클래스

웹뷰는 안드로이드 애플리케이션에서 웹 콘텐츠를 표시하고 웹페이지와 상호작용하는 데 사용된다.

Websettings:

  1. 자바스크립트 사용 설정: setJavaScriptEnabled() 메서드를 사용하여 웹뷰에서 자바스크립트를 사용할 수 있도록 설정합니다.
  2. 캐시 관리 설정: 웹페이지 로딩 시 캐시를 사용할지 여부를 결정합니다. setCacheMode() 메서드를 사용하여 캐시 모드를 설정할 수 있습니다.
  3. 화면 크기 조정: setLayoutAlgorithm() 메서드를 사용하여 웹 페이지의 레이아웃 알고리즘을 설정합니다.
  4. 줌 설정: setSupportZoom() 및 setBuiltInZoomControls() 메서드를 사용하여 확대/축소를 지원하도록 설정할 수 있습니다.
  5. 웹 페이지 로드 속도 및 데이터 사용량 관리: setRenderPriority() 및 setAppCacheEnabled() 메서드를 사용하여 웹 페이지 로드 속도를 최적화하고 데이터 사용량을 관리할 수 있습니다

2. 

import android.webkit.WebView;

 

android.webkit.webView: 안드로이드 애플리케이션에서 웹 콘텐츠를 표시, 웹 페이지를 제어, 사용자와 상호작용할 수 있는 클래스

Webview:

  1. 웹페이지 로딩: loadUrl() 메서드를 사용하여 지정된 URL의 웹페이지를 로드합니다.
  2. HTML 코드 로딩: loadData() 또는 loadDataWithBaseURL() 메서드를 사용하여 HTML 코드를 로드합니다.
  3. 웹페이지 제어: 뒤로가기, 앞으로가기, 새로고침 등과 같은 기능을 제공합니다.
  4. JavaScript와 상호작용: addJavascriptInterface() 메서드를 사용하여 JavaScript와 네이티브 코드 간에 상호작용할 수 있습니다.
  5. 페이지 로딩 상태 확인: WebViewClient를 설정하여 페이지 로딩 상태를 확인하고 필요한 조치를 취할 수 있습니다.

3. 

WebView wview = (WebView) findViewById(R.id.ivi2wview);

 

XML 레이아웃 파일에서  ivi2wview로 정의된 WebView를 찾아 wview에 저장

 

4.

WebSettings wset = wview.getSettings();

 

getSettings(): WebView에서 설정을 관리하는 WebSettings 객체를 반환한다

이 객체를 통해 웹 페이지를 어떻게 표시하고 동작할지 구성할 수 있다.

 

5.

wset.setJavaScriptEnabled(true);

WebView에서 JS를 활성화하는 메서드, 웹페이지의 동적인 기능을 구현하는 데 사용

 

6.

wview.loadUrl(uriText.getText().toString());

 

uriText 객체에서 사용자가 입력한 값을 가져와서 스트링으로 바꿔어 wview에 로드함

 

#4 안드로이드 파일 시스템

 

'Wargame > android' 카테고리의 다른 글

DIVA 10단계  (0) 2024.05.04
DIVA 9단계  (0) 2024.05.04
DIVA 7단계  (0) 2024.05.02
DIVA 6단계  (0) 2024.05.02
DIVA 5단계  (0) 2024.05.02