IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:security vulnerability

共 4 篇相关文章

IT 累计浏览 1,952

launchAnyWhere: Activity组件权限绕过漏洞解析(Google Bug 7699048 )

这篇讲的是一个影响安卓2.3至4.3版本的权限绕过漏洞——“launchAnyWhere”。作者从AccountManagerService的工作机制切入,揭示了一个严重的设计问题:当应用请求添加账户时,系统服务会调起认证应用并转发一个Intent,但这个Intent的内容完全由认证应用控制。如果请求方是系统应用(如“设置”),它就会在用户不知情的情况下,执行攻击者精心构造的Intent,从而启动任意未导出的Activity。 漏洞的巧妙之处在于其利用链非常简洁:攻击者通过特定Intent调起“设置”中的AddAccountSettings,就能让系统自动完成从触发到启动目标组件的全过程。文章列举了几个危害场景,例如绕过验证直接重置手机PIN码,或利用未导出的WebView加载恶意页面。这本质上是一个权限委托的信任链被恶意劫持的案例。 对于移动安全研究者而言,这篇文章清晰地展示了如何从一个合法的系统服务接口中,挖掘出突破进程隔离限制的攻击面。它提醒开发者,即使是系统服务的“便利”设计,也可能在无意中成为危险的权限提升通道。

IT 累计浏览 4,295

一个绝妙的 exploit

这篇讲的是 Linux 内核一个经典的提权漏洞分析。漏洞源于 `perf_swevent_init` 函数中,`event_id` 被定义为带符号的 `int`,而后续检查仅校验了其上界。当传入一个高位为1的负数时,该值能绕过检查并导致 `perf_swevent_enabled[]` 数组越界访问。 作者详细剖析了 exploit 的巧妙思路:利用数组越界,分别对一个内核地址和一个用户空间地址(通过精心计算 `mmap` 得到)执行原子加一和原子减一操作,从而探测出数组基地址。更精妙的是,作者选择了修改中断描述符表(IDT)中某个条目的高32位偏移地址。这个地址原本固定为 `0xffffffff`(内核空间),通过一次原子加一,它被变为 `0x00000000`,从而指向了用户空间。如此一来,触发对应的中断(`int 0x4`)便会跳转到攻击者预先布置好的、用于修改进程 uid/gid 的用户代码,最终获得 root shell。 整个攻击链条的核心,就是一个看似微小的类型符号不一致问题,经过层层推导和内存布局计算,最终转化为强大的攻击能力,令人印象深刻。

IT 累计浏览 3,649

Linux 系统文件描述符继承带来的危害

这篇讲的是 Linux 系统里一个看似无害、却可能被利用的特性——文件描述符的继承机制。 很多开发者和运维人员可能都注意到,当一个进程派生子进程时,父进程打开的文件描述符默认会被子进程继承。文章从这个常见的进程行为切入,揭示了其背后被忽视的风险。如果父进程打开了敏感文件(如密钥、密码文件),而子进程的来源不可信(比如执行了用户可控的脚本),攻击者就可能通过恶意子进程访问到这些本不该暴露的资源。更麻烦的是,这种访问是静默的,日志里通常不会留下记录。 文章进一步分析了这种“继承漏洞”在实际环境中的攻击路径。例如,一个以 root 身份运行的 Web 服务,如果其工作进程意外 fork 并 exec 了某个 shell,攻击者就可能间接获取到 root 的权限。作者结合具体场景,阐述了风险从配置不当到实际可被利用的演进过程。 最后,文章也给出了清晰的防御指南:在编写可能创建子进程的代码时,应该有意识地关闭那些不需要传递的文件描述符。对于关键应用,可以使用 `CLOEXEC` 标志来精确控制。它提醒我们,在复杂的系统中,一些“默认行为”往往是安全盲区,需要开发者主动去管理。

IT 累计浏览 2,607

php mail function open_basedir bypass

这篇讲的是 PHP 的 `mail` 函数存在一个设计上的缺陷,可能导致绕过 `open_basedir` 等目录限制,从而引发严重的文件读写风险。 作者从 `mail` 函数在 PHP 源码中的具体实现入手,揭示了问题的根源。当 PHP 通过该函数发送邮件时,在某些系统调用过程中可能会不当地继承或处理环境变量,这为攻击者提供了绕过安全配置的可能。具体来说,攻击者可以利用这一缺陷,突破 `open_basedir` 的约束,以 Web 服务器进程的身份去访问或操作本应被隔离的任意文件。 这个漏洞的影响不容小觑。它意味着,即使开发者配置了 `open_basedir` 作为一道防线,攻击者仍可能找到通道。更关键的是,如果应用程序本身存在其他漏洞,比如能够控制传入 `mail` 函数的部分参数或环境,那么结合此漏洞,危害将被显著放大,可能导致敏感数据泄露或服务器被完全控制。文章通过源码分析,清晰地展示了“巧妙”的实现细节如何意外地成为了安全缺口,提醒开发者在依赖 PHP 内置函数时,也需审慎评估其底层行为的安全性。