Overcoming Insecurities in WebViews
summary
Walks through concrete WebView fixes and demos: demonstrates a breakout from an embedded map to Google Search, shows JavaScript running in‑process on pre‑Android 8 devices, and proves file access is allowed by default on older releases. Recommends specific APIs and settings: use loadDataWithBaseURL, prefer evaluateJavascript over loadUrl for JS, enable Safe Browsing via manifest metadata, disable file/content access unless needed, enforce an allowlist for navigations, consider Custom Tabs or Jetpack WebViewCompat and try SecureWebView (CC0) for sane defaults.
AI-written summary · about
chapters (27)
- 0:00Web view insecurities intro
- 1:49Web view history and basics
- 3:41Web view versions and limits
- 5:04Web view security classes and config
- 7:10Disable web view metrics and debugging
- 8:32Breakout attacks in web views
- 10:45Secure URL loading to prevent breakout
- 12:53JavaScript execution risks in web views
- 13:34Clear text traffic and network config
- 14:38HTTP Strict Transport Security
- 16:24Local content loading with base URL
- 18:08Safe browsing and file permissions
- 19:53File access and content provider security
- 20:56Content provider risks in web views
- 22:09Disable file and content provider access
- 22:30Cookie jar and ever cookies risks
- 23:32Jetpack WebKit and multi-profile isolation
- 24:14JavaScript process isolation security
- 25:17Safe JavaScript with evaluateJavaScript
- 26:20Sanitize JavaScript input and code injection
- 26:42Restrict JavaScript bridge interactions
- 27:46Jetpack JavaScript engine limits
- 28:49Secure external navigation with custom tabs
- 30:14Social engineering risks in web views
- 30:37Secure web view key takeaways
- 32:02Introducing secure web view library
- 32:44Resources and Q&A
related talks
42mOvercoming Unsecurities in WebViews
34mOvercoming JavaScript Unsecurities in WebViews
40mSo, You Want To Use A WebView? [BAD AUDIO]
39mAndroid and the WebView
28mControlling Safe Browsing to Protect WebView
42mDangers on Android: Vulnerabilities and Defenses
22mThe Tangled Webview ----- Javascriptinterface Once More
27mBypassing Browser Security Policies for Fun and Profit
