인시큐어뱅크에서 찾을 수 있는 취약점 중 "취약한 웹 뷰 구현" 취약점을 찾아보기로 했다.

 

우선 웹뷰에 대해 간단하게 알아보자.

 

웹 뷰(Web View) 란?
모바일 앱의 일부 페이지를 웹 페이지로 제공하는 기능이다.

 

즉, 앱 내에 웹 브라우저(HTML iframe)를 넣은 구조라고 생각하면 된다.

그렇기 때문에 이 취약점은 웹 취약점인 XSS 취약점과 발견 방법이 같다.

 

 

1. 발견 방법

 

앱 내에서 webview 를 사용하는 로직을 찾는다.

 

ViewStatement 클래스 안에서 사용 중이었다.

setJavaScriptEnabled(true) 이 부분이 취약한 부분이다.

제대로 된 필터링이 안 돼있고 javascript를 허용해놓았기 때문이다.

 

 

 

2. 악용 방법

 

dotransfer 엑티비티 에서 입력 시 ViewStatement에서 볼 수 있기 때문에 다음과 같이 테스트해보았다.

 

 

비록 Transfer Failed라고 오류가 뜨지만 ViewStatement 안에는 들어가기 때문에 상관없다.

 

 

 

 

 

 출처 :

- 웹뷰

https://hanamon.kr/%EC%9B%B9%EB%B7%B0-webview/

복사했습니다!