一个令人惊叹的交互式 Web 应用程序,用于演示和帮助检测 7-Zip 压缩包中的关键 CVE-2023-52169 符号链接遍历漏洞。
../、..\\)/、C:\\)克隆仓库
git clone <repository-url>
cd Se7enSlip
安装依赖
npm install
启动开发服务器
npm start
打开浏览器
访问 http://localhost:3000
# 带自动重载的开发模式
npm run dev
# 创建测试用恶意 ZIP 文件
npm run create-test-zip
# 生产构建
npm run build
该漏洞允许攻击者构造恶意 ZIP 压缩包,当易受攻击的 7-Zip 版本解压时,可以在预期解压目录之外写入文件。这是通过以下方式实现的:
../ 序列逃逸解压文件夹┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 恶意 ZIP 文件 │───▶│ 易受攻击的 7-Zip│───▶│ 系统被入侵 │
│ │ │ < v23.01 │ │ │
│ • ../../../etc/ │ │ │ │ • 文件覆盖 │
│ • /tmp/evil.sh │ │ 未能验证解压路径 │ │ • 代码执行 │
│ • 符号链接 │ │ │ │ • 权限提升 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
POST /api/scan上传并扫描 ZIP 文件以查找漏洞。
请求: 包含 zipfile 字段的多部分表单数据
响应:
{
"filename": "test.zip",
"totalEntries": 10,
"suspicious": [...],
"riskLevel": "HIGH",
"recommendations": [...],
"metadata": {
"totalSize": 12345,
"suspiciousPatterns": {...}
}
}
GET /api/vulnerability-info获取关于 CVE-2023-52169 的详细信息。
响应:
{
"cve": "CVE-2023-52169",
"cvssScore": 7.8,
"downloadUrl": "https://www.7-zip.org/download.html",
"references": [...]
}
POST /api/create-test-zip生成包含各种漏洞模式的测试 ZIP 文件。
响应: 包含恶意条目的 ZIP 文件下载,用于测试
public/css/
├── styles.css # 包含 CSS 自定义属性的主样式表
├── animations/ # 动画关键帧和过渡
├── components/ # 组件特定样式
└── responsive/ # 媒体查询和响应式设计
:root {
--primary: #00ff88; /* 霓虹绿 */
--secondary: #ff4757; /* 危险红 */
--accent: #3742fa; /* 电光蓝 */
--bg-primary: #0a0a0a; /* 深黑色 */
--text-primary: #ffffff; /* 纯白色 */
}
PORT=3000 # 服务器端口
NODE_ENV=production # 环境模式
UPLOAD_LIMIT=52428800 # 文件大小限制(50MB)
RATE_LIMIT_WINDOW=900000 # 速率限制窗口(15分钟)
RATE_LIMIT_MAX=50 # 每个窗口最大请求数
该应用程序包含多层安全防护:
// 内容安全策略
helmet({
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
styleSrc: ["'self'", "'unsafe-inline'"],
// ... 其他指令
}
}
})
# 创建包含漏洞的测试 ZIP
npm run create-test-zip
# 生成的文件将包含:
# - 路径遍历条目(../)
# - 绝对路径(/tmp/、C:\)
# - 符号链接条目
# - 长路径名
# - 可执行文件
NODE_ENV=productionFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
version: '3.8'
services:
se7enslip:
build: .
ports:
- "3000:3000"
environment:
- NODE_ENV=production
volumes:
- ./uploads:/app/uploads
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
仅供教育目的:本工具专为安全研究和教育而设计。生成的测试 ZIP 文件包含用于演示目的的模拟恶意模式。请勿将此工具用于恶意活动。在测试安全工具之前,请始终确保您已获得适当授权。
🔒 保持安全,保持更新
下载最新版 7-Zip | 报告问题 | 安全联系