Archive Alchemist 开源项目教程

Archive Alchemist 开源项目教程

archivealchemist Archive Alchemist is a tool for creating specially crafted archives to test extraction vulnerabilities. archivealchemist 项目地址: https://gitcode.com/gh_mirrors/ar/archivealchemist

1. 项目介绍

Archive Alchemist 是一个用于创建特殊构造的归档文件的工具,旨在测试文件提取过程中的安全特性。它支持创建 ZIP 和 TAR 格式的归档文件,并且具备以下特性:

  • 支持路径遍历测试
  • 支持符号链接和硬链接
  • 能够设置特殊的权限位(如 setuid, setgid, sticky bit)
  • 对文件属性有细粒度的控制(如模式、用户 ID、组 ID、修改时间)
  • 提供多种操作命令:添加、替换、附加、修改
  • 提供多个辅助命令:提取、列表、读取
  • 支持创建多语种文件(在归档前添加数据并调整头部)

2. 项目快速启动

首先,需要克隆仓库并设置脚本为可执行。

git clone https://github.com/avlidienbrunn/archive-alchemist.git
cd archive-alchemist
chmod +x archive-alchemist.py

可选:创建一个符号链接以便全局使用。

sudo ln -s $(pwd)/archive-alchemist.py /usr/local/bin/archive-alchemist

3. 应用案例和最佳实践

以下是一些应用案例和最佳实践:

Zip 路径测试

创建一个带有路径测试载荷的 ZIP 文件。

./archive-alchemist.py zipslip.zip add "../../../tmp/test.txt" --content "Test path traversal!"

符号链接测试

创建一个含有指向系统文件的符号链接的 TAR 文件。

./archive-alchemist.py symlink_test.tar -t tar add .bashrc --symlink "/etc/example.conf"

文件冲突与符号链接

先添加一个符号链接。

./archive-alchemist.py collision.tar -t tar add config.txt --symlink "/tmp/target.txt"

然后添加一个具有相同名称的常规文件(将在符号链接创建后覆盖)。

./archive-alchemist.py collision.tar -t tar add config.txt --content "Overwrite after symlink is created"

Setuid 可执行文件

创建一个 setuid 可执行文件。

./archive-alchemist.py setuid_test.tar -t tar add test --content "#!/bin/sh\nwhoami" --mode 0755 --setuid --uid 0

多语种文件

创建一个有效的 ZIP 文件,其开始于 GIF 的魔术数字。

./archive-alchemist.py polyglot.gif add payload.txt --content "hello there"
./archive-alchemist.py polyglot.gif polyglot --content "GIF89aI am totally a GIF file"

Unicode 路径与文件名测试

创建一个 ZIP 文件,其本地文件头中的文件名为 file.txt,而 Unicode 路径额外字段中的文件名为 notfile.txt

./archive-alchemist.py weird.zip add file.txt --content "hello there" --unicodepath notfile.txt

4. 典型生态项目

目前没有直接列出 Archive Alchemist 的生态项目。不过,任何使用归档文件处理功能的项目都可能从 Archive Alchemist 的安全性测试中受益,特别是那些涉及文件上传和文件提取功能的 web 应用程序和系统。通过集成和使用 Archive Alchemist,这些项目可以提高其对潜在文件提取问题的防御能力。

archivealchemist Archive Alchemist is a tool for creating specially crafted archives to test extraction vulnerabilities. archivealchemist 项目地址: https://gitcode.com/gh_mirrors/ar/archivealchemist

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓丹游Kingsley

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值