Обложка канала

Кавычка

9725 @webpwn

Ломать - не строить

Кавычка

4 года назад
Открыть в
#mobile #deeplink Если вы нашли XSS на сайте, но у неё низкий impact — не удаётся "украсть" аккаунт жертвы или актив вне скоупа. Вам стоит поискать мобильное приложение, которое содержит WebView функциональность и присваивает токен при открытии страницы. Возьмём для примера приложение от PayPal. Открыв его в декомпиляторе можно найти функцию около webview функциональности boolean isSecureVenmoHostUrl(Uri uri) Внутри неё обнаруживаем хосты host.endsWith(".venmo.com") || host.equals("venmo.com") || host.endsWith(".venmo.biz") Теперь нужно проверить возможно ли передать свой url в класс webview. Если да, составляем полезную нагрузку: <a href="venmo://webview?url=https://legal.venmo.com/index.php?p=<svg>">PoC Send</a> Это был пример как поднять xss, до чего-то существенного. При открытии ссылки, возможно украсть access_token и получить доступ к платежам пользователя. Такая же функциональность в приложении TripAdvisor: Pattern f30622a = Pattern.compile("^(?:https?\\:\\/\\/(?:[A-Za-z0-9_\\-]+\\.(dhcp(\\-[A-Za-z]+)?\\.([A-Za-z0-9_\\-]+\\.corp\\.)?|(nw\\.)?dev(\\-[A-Za-z]+)?\\.|cmc\\.|d\\.)?)?tripadvisor\\.(?:com|(?:[a-z]{2})|(?:(?:co|com)\\.[a-z]{2})))?\\/.*$"); В перечисленных случаях выше, разработчики исправляют только xss, поэтому вы всё ещё можете это воспроизвести.