개발 중인 앱이 API 17 미만 버전을 지원한 상태에서 addJavascriptInterface를 사용할 경우, 아래와 같은 설명이 나옵니다.
WebView.addJavascriptInterface should not be called with minSdkVersion < 17 for security reasons: JavaScript can use reflection to manipulate application less... (Ctrl+F1) For applications built for API levels below 17, WebView#addJavascriptInterface presents a security hazard as JavaScript on the target web page has the ability to use reflection to access the injected object's public fields and thus manipulate the host application in unintended ways. |
간단하게 말하자면, API 17미만 버전에서는 보안 이슈때문에 addJavascriptInterface를 사용하지 않는 것이 좋다.
라는 의미 입니다.
무슨 보안 이슈가 있나!
Figure 3: JavascriptInterface reflection attack
출처 : https://www.cigital.com/blog/android-webviews-and-the-javascript-to-java-bridge/
FUtil 이라는 javascriptinteface를 만들어져 있다는 전제조건에서,
위와 같이 Runtime 클래스를 호출 해서 명령을 넣을 수가 있다는 의미 입니다.
즉, api 17 버전 미만 에서는 javascript로 스마트폰을 마음껏 해킹 할 수 있는 활로를 만들어 준다는 의미 입니다.
저 함수 하나 썼다고, 유저의 폰을 마음껏 뒤지고 수정 해버리는 결과가 발생할 수 있다는 것이죠.
참고하세요.
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[Android] 내가 자주 쓰는 adb 명령어 (0) | 2016.05.18 |
---|---|
[Android] Scheme 설정 시, 앱이 안보이는 현상 (5) | 2016.05.18 |
[Android] WebView에서 Javascript Alert 창이 보이지 않을 때 (0) | 2016.05.17 |
[Android] ConnectivityManager getNetworkInfo(int) deprecated (0) | 2016.05.16 |
[Android] AlarmManager를 이용한 Schedule 관리 (11) | 2016.05.13 |