Обнаружил дичь в одном популярном мобильном банке (не буду светить какой) через инжект в WebView можно подменить SSL-сертификат и слушать все HTTPS-запросы. Сам в шоке, что в 2025 еще есть приложения, которые не включают certificate pinning. Кто сталкивался?
Короче, берешь прокси (Burp/Fiddler), настраиваешь MITM, подсовываешь свой сертификат в доверенные на девайсе (на рутованном вообще без проблем), а потом через инжект JS в WebView заставляешь приложение тупо игнорить ошибки сертификата. И вуаля все сессии пользователя у тебя в логах. Самый прикол, что это работает даже если в нативном коде pinning есть WebView живет своей жизнью.
Кто-нибудь тестил подобное на других банковских приложениях? Интересуют способы обхода более жестких защит (типа реактивного блокирования при изменении сертификата).
Готов обменяться на годный скрипт для автоматизации этой херни. P.S. А разработчикам: если у вас в WebView стоит setWebContentsDebuggingEnabled(true) или onReceivedSslError с игнором ошибок вас уже наверняка грабят.
Обнаружил дичь в одном популярном мобильном банке (не буду светить какой) через инжект в WebView можно подменить SSL-сертификат и слушать все HTTPS-запросы. Сам в шоке, что в 2025 еще есть приложения, которые не включают certificate pinning. Кто сталкивался?
Короче, берешь прокси (Burp/Fiddler), настраиваешь MITM, подсовываешь свой сертификат в доверенные на девайсе (на рутованном вообще без проблем), а потом через инжект JS в WebView заставляешь приложение тупо игнорить ошибки сертификата. И вуаля все сессии пользователя у тебя в логах. Самый прикол, что это работает даже если в нативном коде pinning есть WebView живет своей жизнью.
Кто-нибудь тестил подобное на других банковских приложениях? Интересуют способы обхода более жестких защит (типа реактивного блокирования при изменении сертификата).
Готов обменяться на годный скрипт для автоматизации этой херни. P.S. А разработчикам: если у вас в WebView стоит
setWebContentsDebuggingEnabled(true)илиonReceivedSslErrorс игнором ошибок вас уже наверняка грабят.
Сталкивался с похожим в паре приложений. Иногда помогает не просто MITM, а точечный инжект JS, который принудительно отключает проверки. Но в более жестких банковских аппах уже встречал реактивные проверки. Ссли сертификат не валидный, приложение убивает сессию или блокирует функционал. Для обхода иногда приходится патчить нативный код или искать уязвимости в кеше SSL-сессий.
Сталкивался с похожим в паре приложений. Иногда помогает не просто MITM, а точечный инжект JS, который принудительно отключает проверки. Но в более жестких банковских аппах уже встречал реактивные проверки. Ссли сертификат не валидный, приложение убивает сессию или блокирует функционал. Для обхода иногда приходится патчить нативный код или искать уязвимости в кеше SSL-сессий.
Ага) а в особо упоротых случаях патчил нативку или искал дыры в кеше SSL-сессий чтобы обойти реактивные блокировки))).
