广播是 Android 的事件通知机制。第一章简单提过广播注入和劫持,这一章深入展开——有序广播的优先级劫持、隐式广播的信息泄露、Sticky 广播的数据残留,以及各版本的限制变化。
Deep Link 让 App 可以通过 URL 被唤起,这个机制把 Web 的入口引入了 Android 应用——URL 解析、参数校验、组件跳转,每一步都可能出问题。
by AugustTheodor & 千堆雪与长街 文章太长了,有稍微的删改。
Android 通过 Settings Provider 存储设备的各种配置项——Wi-Fi 开关、屏幕亮度、开发者选项等。这些配置分布在三个命名空间中,各自的读写权限不同。部分设置项的权限控制存在缺口,第三方 App 可以读取甚至修改一些本不该暴露的配置。
SSRF(Server-Side Request Forgery,服务端请求伪造)是 Web 安全中的经典漏洞类型。在 Android 客户端中,类似的问题同样存在——App 根据外部输入构造网络请求时,如果没有校验 URL,攻击者可以让 App 去访问内网资源、本地服务,甚至利用 App 携带的认证信息访问受限接口。
讲解jsf框架的成因,以及jsf框架下的gadget构造,最后以现实世界列子来突出漏洞风险。
PendingIntent 是 Android 中一种延迟执行的 Intent 包装机制。它允许一个 App 把自己的操作权限"委托"给其他 App 或系统,在未来某个时刻代为执行。这个委托机制如果处理不当,就是权限提升的入口。
Android App 在本地存储数据时有多种选择——SharedPreferences、SQLite 数据库、文件、KeyStore。存储方式本身不是问题,问题在于敏感数据是否加密、加密方式是否可靠、密钥放在哪里。
在sql注入的延时注入中,常见的函数有sleep()直接延时、BENCHMARK()通过让数据库进行大量的计算而达到延时的效果、笛卡尔积、正则匹配等,但还有一个常常被忽略的函数,也就是Mysql中的锁机制。虽然早些年就已经出现过相关的技术文章,但是他的应用却几乎见不到,也没有看到有文章对他的机制和运用进行深入讲解,而且该函数也常常被waf忽略导致延时。
在测试过程中,常常会遇到jwt的泄露,但是在测试时,无论加什么header,如何改uri,最后的结果不是401,就是404。不妨试一下同IP站点或者相似站点。
当我自信的将`ClassPathXmlApplicationContext不出网`融入到`SnakeYaml`中进行利用第一时间居然没有成功复现, 当我排查问题时却又想到我真的懂`beans.xml`吗, 这一系列蝴蝶效应而衍生出的各种细节问题, 太多了, 因此在本篇文章中会讲一个特别长的故事进行刨析它们之间的原理并记载我所遇到的问题.
通过分析系统路由找到未授权路径,针对目标路径找到文件下载漏洞并展开攻击。
HTTPS 通信的安全性建立在证书校验之上——客户端验证服务器的身份,确认自己在和正确的服务器通信而不是中间人。Android App 中如果证书校验被禁用或实现有缺陷,攻击者在同一网络中就能截获和篡改所有通信内容。
App 解压 ZIP 文件是一个常见操作——热更新、资源下载、插件加载都会用到。如果解压时不校验 ZIP 条目的文件名,攻击者可以构造包含 `../` 的文件名,让文件被写入预期目录之外的位置。这就是 Zip Slip 漏洞。