Cross-App Scripting Reject 해결방법

2021. 9. 12. 13:57· Mobile App/Android
목차
  1. AndroidMenifest 수정
  2. webview target url string to final
  3. evaluateJavascript 보안
  4. FCM으로 넘어오는 url 검사
  5. android:exported="false" 설정
  6. Unity Project 제거
  7. Camera / File Choose Handler 제거
  8. 죄다 지우고 함수 하나씩 살리기
  9. 혹시?
SMALL

Intro

SSL Handler가 구현되어있는 최초 버전 (버전코드 1번)이 테스트 트랙에 올라가 있다는 이유로 구글플레이에서 삭제되었다.

당장 해당 트랙을 비활성화 한 뒤 업데이트를 시도해 보았지만 Cross App Scripting Vulnerability로 리젝되어 클라이언트의 요청이 지속되는 상황이었다.

Vulnerability APK Version(s) Past Due Date
Cross-app Scripting
Your app(s) are using a WebView that is vulnerable to cross-app scripting.
To address this issue, follow the steps in this Google Help Center article.
33 August 23, 2021

저 버전코드가 보이는가? 참고로 라이브 서비스중이었던 버전코드는 13이었다.

개빡친다

많고 많은 티스토리 블로그의 해결방법은 딱 두가지였는데,
내가 시도했던 방법은 이러하다.

AndroidMenifest 수정

많고 많은 티스토리 블로그들의 해결방법을 보면 아래 한 줄을 AndroidMenifest에 추가해줌으로써 해결할 수 있다고 쓰여있다.

<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing" android:value="true" />

그러나 프로젝트에는 이미 해당 메타데이터가 추가되어있는 상태였다.

webview target url string to final

private final static String target_url = "https://블라블라";

...

    webView.loadUrl(target_url);

evaluateJavascript 보안

Scheme이 "javascript:" 인 것을 죄다 evaluateJavascript로 바꿔주고,
그마저도 사전에 약속된 스크립트가 아니면 실행하지 않도록 입구컷 시켰다.

구글한테 입구컷당했다.

FCM으로 넘어오는 url 검사

bundle.getString("url").contains(target_url)

위 코드가 true일 때만 해당 URL을 로드하도록 했다.

안된다.

android:exported="false" 설정

해당 속성을 웹뷰가 있는 Activity에 넣으면 된다고 한다.
근데.. 카카오톡 등 다른 앱 intent 사용은 안하시게요? 역시 패스....하려다가 혹시나 싶어 넣어봤다.

 

앱 실행이 안된다 ㅋㅋ

Unity Project 제거

해당 프로젝트는 Unity As A Library를 이용해 Unity Player Activity와 웹뷰가 상호 통신을 한다.
일단은.. 인텐트로 처리하니 빼보자..

***구글: 응~ 안돼~ 돌아가~

Camera / File Choose Handler 제거

카메라로 사진을 찍거나 파일선택기로 파일을 가져오는 것도 역시나 인텐트로 처리했으니 일단은 지워보았다.
다른 웹뷰 서비스들은 잘 올라가있는데 이게 맞을 리 없지.

죄다 지우고 함수 하나씩 살리기

개노가다 ON
버전코드가 33(지금은 40)까지 올라간 이유가 있다.

살리다보니 handleIntent 함수에서 딱 걸렸다.

혹시?

혹시나 싶어 FCM으로 넘어오는 url 검사 부분을 주석처리 해봤다.

와 Tlqkf

결론

구글새끼들은 loadUrl 메서드로 어떤 Url을 호출하는지에 관심이 없다.
그 Url이 final로 선언한 Url을 포함하고 있더라도..

단지 해당 Url이 final 인지 아닌지에만 관심이 있는 것 같다.

어휴..

해당부분은 이렇게 수정해 주고 업데이트를 올렸다.

 private final static String target_url = "https://블라블라";

 ...


 if(bundle.getString("url") != null) {
     final String target = target_url + bundle.getString("url");

     webView.loadUrl(target);
 }

fcm 데이터에 url 전체를 줬었는데 수정을 요청해서 url path만 주도록 바꿨다.

 

 

하........현타온다............

BIG
저작자표시

'Mobile App > Android' 카테고리의 다른 글

[Android] FCM 메세지 background에서 실행 안될때 - API level 31 (안드로이드 12)  (3) 2022.03.15
[Gradle] 안드로이드 빌드 버전 자동으로 관리하기  (1) 2021.12.14
하이브리드 앱 테스트 환경에서 카톡로그인 intent 처리  (0) 2021.05.24
안드로이드 웹뷰 뒤로가기 버튼 이벤트 만들기  (1) 2021.05.12
안드로이드 웹뷰 사용 및 설정, SSL 무시  (0) 2021.05.12
  1. AndroidMenifest 수정
  2. webview target url string to final
  3. evaluateJavascript 보안
  4. FCM으로 넘어오는 url 검사
  5. android:exported="false" 설정
  6. Unity Project 제거
  7. Camera / File Choose Handler 제거
  8. 죄다 지우고 함수 하나씩 살리기
  9. 혹시?
'Mobile App/Android' 카테고리의 다른 글
  • [Android] FCM 메세지 background에서 실행 안될때 - API level 31 (안드로이드 12)
  • [Gradle] 안드로이드 빌드 버전 자동으로 관리하기
  • 하이브리드 앱 테스트 환경에서 카톡로그인 intent 처리
  • 안드로이드 웹뷰 뒤로가기 버튼 이벤트 만들기
Jade Choe
Jade Choe
Jade's Hello, World!Jade Choe 님의 블로그입니다.
Jade Choe
Jade's Hello, World!
Jade Choe
전체
오늘
어제
  • Jade's Hello World (55)
    • Projects (3)
      • DJade MAX Respect V (3)
    • Desktop App (9)
      • Win API (2)
      • C#.Net (3)
      • C, C++ (1)
      • DirectX (0)
      • Java (2)
    • Mobile App (13)
      • Android (12)
      • iOS (1)
    • Web App (3)
      • PHP (1)
      • HTML&CSS (0)
      • Javascript (0)
      • Python - Django (2)
    • ETC (25)
      • Unity (7)
      • Ubuntu (3)
      • macOS (0)
      • Git (11)
      • Docker (1)
      • Synology (3)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 깃 구축
  • 안드로이드 상태바
  • 웹뷰 안뜸
  • 웹뷰 하얀화면
  • 방화벽등록
  • 깃
  • 웹뷰
  • nosuchmethoderror
  • SU-PQR1603
  • ㅖㅗㅖ
  • git 구축
  • 깃 서버 구축
  • 에픽런처
  • git 서버구축
  • 입문
  • 웹후크
  • github
  • 노치대응
  • 웹뷰 로딩
  • 웹훅
  • 펀치홀
  • 안드로이드
  • 컷아웃디스플레이
  • gitserver
  • 사용법
  • 깃허브
  • epicgames
  • ㄴ노
  • Git
  • Remote-SSH

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Jade Choe
Cross-App Scripting Reject 해결방법
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.