Выбор ответа Senior Безопасность мобильных приложений обновлено
Безопасность WebView
Вопрос
Приложение открывает в WebView страницы партнёров и даёт им JS-мост к нативному коду. В чём главный риск?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Любая открытая страница (подменённая или с XSS) получит доступ к нативным функциям через мост. JS-мост (addJavascriptInterface, WKScriptMessageHandler) превращает уязвимость веб-страницы в уязвимость приложения.
Варианты ответа
- WebView медленнее Safari и Chrome, поэтому мост будет тормозить при частых вызовах
- JS-мосты не работают на iOS в
WKWebView, поэтому такая схема возможна только на Android - WebView не поддерживает HTTPS с современными шифрами, и трафик партнёров идёт открытым
- Любая открытая страница (подменённая или с XSS) получит доступ к нативным функциям через мостправильный ответ
Разбор
JS-мост (addJavascriptInterface, WKScriptMessageHandler) превращает уязвимость веб-страницы в уязвимость приложения. Мост включают только для доверенных доменов, проверяют origin каждого сообщения, отдают минимум методов и не передают токены в JS. Сторонний контент лучше открывать в системном браузере или Custom Tabs/SFSafariViewController.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.