Erlik:一个包含了针对SOAP的漏洞学习和研究平台
字数 1506 2025-08-12 11:34:25

Erlik: Vulnerable-SOAP-Service 教学文档

1. 项目概述

Erlik (Vulnerable-SOAP-Service) 是一个专门针对 SOAP 协议的安全漏洞学习和研究平台,包含大量故意设计的 SOAP 安全漏洞,用于 Web 渗透测试技术的研究和学习。

关键特性

  • 基于 Python 开发的漏洞实验环境
  • 已在 Kali Linux 2022.1 系统上完整测试
  • 包含多种常见 Web 安全漏洞类型
  • 遵循 GPL-3.0 开源许可证协议

2. 包含的漏洞类型

2.1 LFI 本地文件包含漏洞

  • 允许攻击者包含本地系统文件
  • 可能导致敏感信息泄露或远程代码执行
  • 参考代码: lfi.py

2.2 SQL 注入漏洞

  • 通过恶意构造的 SOAP 请求注入 SQL 命令
  • 可能导致数据库信息泄露或未授权访问
  • 参考代码: sqli.py

2.3 信息披露漏洞

2.4 命令注入漏洞

  • 通过 SOAP 请求注入系统命令
  • 可能导致服务器被完全控制
  • 参考代码: commandi.py

2.5 暴力破解漏洞

  • 设计用于测试认证机制的强度
  • 参考代码: brute.py

2.6 反序列化漏洞

3. 环境搭建

3.1 系统要求

  • Python 3 环境
  • Kali Linux 2022.1 (已测试) 或其他 Linux 发行版

3.2 安装步骤

  1. 克隆项目仓库:
git clone https://github.com/anil-yelken/Vulnerable-Soap-Service.git
  1. 进入项目目录:
cd Vulnerable-Soap-Service
  1. 安装依赖:
sudo pip3 install -r requirements.txt
  1. 运行漏洞服务:
sudo python3 vulnerable_soap.py

4. 漏洞利用方法

4.1 LFI 漏洞利用

  • 构造包含 ../ 等路径遍历字符的 SOAP 请求
  • 示例:尝试读取 /etc/passwd 文件

4.2 SQL 注入利用

  • 在 SOAP 参数中插入 SQL 语句片段
  • 如:' OR '1'='1 等经典注入语句

4.3 命令注入利用

  • 在参数中插入系统命令分隔符
  • 如:; cat /etc/passwd

4.4 反序列化攻击

  • 构造恶意序列化对象
  • 利用不安全的反序列化过程执行任意代码

5. 防御措施

针对每种漏洞的防御建议:

  1. LFI 防御

    • 禁用动态文件包含
    • 白名单验证文件路径
    • 使用 chroot 等沙箱技术
  2. SQL 注入防御

    • 使用参数化查询
    • 实施最小权限原则
    • 输入验证和过滤
  3. 命令注入防御

    • 避免直接调用系统命令
    • 使用安全的 API 替代
    • 严格验证所有输入
  4. 信息披露防御

    • 禁用调试信息
    • 严格控制日志访问
    • 实施适当的错误处理
  5. 反序列化防御

    • 避免反序列化不可信数据
    • 使用数字签名验证数据完整性
    • 在沙箱环境中执行反序列化

6. 学习资源

7. 法律与道德声明

  • 本工具仅用于合法安全研究和教育目的
  • 未经授权对系统进行测试是违法行为
  • 使用前请确保获得目标系统的明确授权
  • 遵循当地法律法规和道德准则

通过本实验环境的学习,安全研究人员可以深入了解 SOAP 服务中的各种安全漏洞及其利用技术,从而更好地防御现实世界中的 Web 服务攻击。

Erlik: Vulnerable-SOAP-Service 教学文档 1. 项目概述 Erlik (Vulnerable-SOAP-Service) 是一个专门针对 SOAP 协议的安全漏洞学习和研究平台,包含大量故意设计的 SOAP 安全漏洞,用于 Web 渗透测试技术的研究和学习。 关键特性 : 基于 Python 开发的漏洞实验环境 已在 Kali Linux 2022.1 系统上完整测试 包含多种常见 Web 安全漏洞类型 遵循 GPL-3.0 开源许可证协议 2. 包含的漏洞类型 2.1 LFI 本地文件包含漏洞 允许攻击者包含本地系统文件 可能导致敏感信息泄露或远程代码执行 参考代码: lfi.py 2.2 SQL 注入漏洞 通过恶意构造的 SOAP 请求注入 SQL 命令 可能导致数据库信息泄露或未授权访问 参考代码: sqli.py 2.3 信息披露漏洞 两种实现方式: 日志信息泄露: get_ logs_ information_ disclosure.py 数据信息泄露: get_ data_ information_ disclosure.py 2.4 命令注入漏洞 通过 SOAP 请求注入系统命令 可能导致服务器被完全控制 参考代码: commandi.py 2.5 暴力破解漏洞 设计用于测试认证机制的强度 参考代码: brute.py 2.6 反序列化漏洞 两种实现方式: 基于套接字: deserialization_ socket.py 基于请求: deserialization_ requests.py 3. 环境搭建 3.1 系统要求 Python 3 环境 Kali Linux 2022.1 (已测试) 或其他 Linux 发行版 3.2 安装步骤 克隆项目仓库: 进入项目目录: 安装依赖: 运行漏洞服务: 4. 漏洞利用方法 4.1 LFI 漏洞利用 构造包含 ../ 等路径遍历字符的 SOAP 请求 示例:尝试读取 /etc/passwd 文件 4.2 SQL 注入利用 在 SOAP 参数中插入 SQL 语句片段 如: ' OR '1'='1 等经典注入语句 4.3 命令注入利用 在参数中插入系统命令分隔符 如: ; cat /etc/passwd 等 4.4 反序列化攻击 构造恶意序列化对象 利用不安全的反序列化过程执行任意代码 5. 防御措施 针对每种漏洞的防御建议: LFI 防御 : 禁用动态文件包含 白名单验证文件路径 使用 chroot 等沙箱技术 SQL 注入防御 : 使用参数化查询 实施最小权限原则 输入验证和过滤 命令注入防御 : 避免直接调用系统命令 使用安全的 API 替代 严格验证所有输入 信息披露防御 : 禁用调试信息 严格控制日志访问 实施适当的错误处理 反序列化防御 : 避免反序列化不可信数据 使用数字签名验证数据完整性 在沙箱环境中执行反序列化 6. 学习资源 项目地址: Vulnerable-SOAP-Service GitHub SOAP 安全规范: W3C SOAP 安全 OWASP SOAP 安全指南: OWASP Web Service Security 7. 法律与道德声明 本工具仅用于合法安全研究和教育目的 未经授权对系统进行测试是违法行为 使用前请确保获得目标系统的明确授权 遵循当地法律法规和道德准则 通过本实验环境的学习,安全研究人员可以深入了解 SOAP 服务中的各种安全漏洞及其利用技术,从而更好地防御现实世界中的 Web 服务攻击。