Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Cooper-ndss-2022 — 一个用于有效测试脚本语言绑定层的工具 | Kitploit
工具/GitHubGitHub/tca-iscas/cooper-ndss-2022
漏洞分析动态代码分析 (DAST)模糊测试二进制分析论文与研究
GitHubtca-iscas/cooper-ndss-2022

Cooper-ndss-2022

一个用于有效测试脚本语言绑定层的工具

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Cooper:利用协同变异测试脚本语言的绑定代码

Cooper 利用协同变异来测试脚本语言的绑定代码,以发现内存安全问题。协同变异同时修改脚本代码和相关的文档对象,以探索绑定代码的各种代码路径。为了支持协同变异,我们推断脚本代码与文档对象之间的关系,以指导二维变异。我们将工具 Cooper 应用于三款流行的商业软件:Adobe Acrobat、Foxit Reader 和 Microsoft Word。Cooper 检测到了 134 个此前未知的漏洞,这带来了 33 个 CVE 条目 和 22K 的漏洞赏金。Cooper 包含三个组件:

  • 对象聚类:最初,Cooper 解析给定的样本文档以提取原生对象。为了减小对象搜索空间,Cooper 根据对象的属性将对象划分为不同的类别。
  • 关系推断:然后,Cooper 推断对象类别与 API 组之间的关系。具体来说,它通过组合不同的对象类别和 API 组生成大量文档,并记录嵌入脚本的执行结果。基于脚本执行的成功率和对象类别的分布,Cooper 推断出 API 组与对象类别之间的关系。
  • 关系引导的变异:最后,Cooper 利用推断出的关系来指导对象选择、脚本生成和对象变异。我们还设计了多种协同变异策略。

Cooper 的总体架构如下图所示。

Cooper 的总体架构

更多详情,请参阅我们在第 29 届年度网络与分布式系统安全研讨会(NDSS 2022)上发表的论文。

安装与运行

平台

  • Windows10 64 位
  • Python2

前置条件

  • PyWin32,pip install pywin32
  • Adobe Acrobat Reader(32 位,英文版), 安装到默认目录。
  • Microsoft Word(32 位,英文版), 安装到默认目录。

收集 PDF/Word 样本

你需要准备一些 PDF(Word)样本,并将它们放在一个文件夹中,该文件夹将用作 sample_dir。 PDF(Word)样本的数量应在 10,000 到 20,000 之间。 我们在 DropBox 中准备了 200 个 PDF 样本, 并在 DropBox 中准备了 214 个 Word 样本。 你可以用这些小样本进行测试,但为了获得更好的结果,建议使用更多样本。

用法

$ python PdfSolution.py/WordSolution.py <sample_dir> <data_dir> <output_dir> <generate_cnt>
  
  <sample_dir>:   the absolute path of raw pdf samples folder
  <data_dir>:     the absolute path for mid data folder
  <output_dir>:   the absolute path for folder storing generated samples
  <generate_cnt>: the amount how many input Cooper will generate

作者

  • Peng Xu [email protected]

  • Yanhao Wang [email protected]

  • Hong Hu [email protected]

  • Purui Su [email protected]

发表论文

Cooper: Testing the Binding Code of Scripting Languages with Cooperative Mutation

@inproceedings{xu:cooper,
  title        = {{Cooper: Testing the Binding Code of Scripting Languages with Cooperative Mutation (To Appear)}},
  author       = {Peng Xu and Yanhao Wang and Hong Hu and Purui Su},
  booktitle    = {Proceedings of the 29th Annual Network and Distributed System Security Symposium (NDSS 2022)},
  month        = {apr},
  year         = {2022},
  address      = {San Diego, CA},
}
下载工具