Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2017-13253 — CVE-2017-13253 的 PoC 代码 | Kitploit
工具/GitHubGitHub/tamirzb/cve-2017-13253
Android安全内存取证漏洞分析漏洞利用Payload 开发二进制利用
GitHubtamirzb/cve-2017-13253

CVE-2017-13253

CVE-2017-13253 的 PoC 代码

查看仓库
371125年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2017-13253

针对 CVE-2017-13253 的概念验证代码。

完整的文章可在 此处 获取。请注意,数字与博客文章略有不同,因为我发现使用堆大小为 0x2000 时崩溃的可能性更高(当然,只要运行足够多次,它无论如何都会崩溃)。

如有问题/问题/评论,欢迎通过 Twitter (@tamir_zb) 联系我。

构建

要构建此代码:

  1. 下载 Android 源代码。
  2. 将此仓库放入 AOSP/external。
  3. 运行以下命令:
root@kitploit:~
    cd AOSP
    source build/envsetup.sh
    make icrypto_overflow

结果

在未修补版本的 Android(2018年3月之前的 8.0-8.1)上运行此代码应导致溢出。根据被覆盖的数据是否可写,这可能会导致崩溃。

代码应打印 decrypt 方法的输出,结果可能有所不同:

  • 如果运行在已修补版本的 Android(2018年3月或之后)上,则 decrypt 应返回 BAD_VALUE (-22)。
  • 如果没有发生崩溃(被覆盖的数据可写),则 decrypt 应返回其复制的数据量。
  • 如果厂商将 HAL 实现为单独的进程(例如 Pixel 2),则 decrypt 应返回 UNKNOWN_ERROR (-32)。
  • 如果厂商将 HAL 实现在同一进程中(例如 Nexus 5X),则 decrypt 应返回 0。

以下是运行此 PoC 所得到的一个部分崩溃转储:

root@kitploit:~
Build fingerprint: 'google/walleye/walleye:8.1.0/OPM1.171019.011/4448085:user/release-keys'
Revision: 'MP1'
ABI: 'arm'
pid: 761, tid: 5232, name: HwBinder:761_1  >>> /vendor/bin/hw/[email protected] <<<
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xee20f000
    r0 ee20f000  r1 ee20d021  r2 00001eff  r3 00000001
    r4 00000001  r5 00000000  r6 ed117008  r7 00000000
    r8 00000000  r9 fffff82a  sl ee20d000  fp ee20efff
    ip 08000000  sp ed2893c8  lr ed369e6b  pc edda7f0c  cpsr 20070010

backtrace:
    #00 pc 00018f0c  /system/lib/libc.so (__memcpy_base+244)
    #01 pc 00004e67  /vendor/lib/mediadrm/libdrmclearkeyplugin.so (clearkeydrm::CryptoPlugin::decrypt(bool, unsigned char const*, unsigned char const*, android::CryptoPlugin::Mode, android::CryptoPlugin::Pattern const&, void const*, android::CryptoPlugin::SubSample const*, unsigned int, void*, android::AString*)+82)
    ...

memory map (205 entries):
(fault address prefixed with --->)
    ...
    ee20d000-ee20efff rw-         0      2000  /dev/ashmem/MemoryHeapBase (deleted)
--->ee20f000-ee20ffff ---         0      1000  [anon:thread signal stack guard page]
    ...

如您所见,故障地址位于共享内存之后的内存区域。由于此内存被写保护,溢出导致了段错误。

下载工具