用途
本技能面向 SOAP(Simple Object Access Protocol)Web 服务的安全测试。SOAP 服务在企业环境、金融系统、医疗和政府集成中仍被广泛部署。与 REST API 不同,SOAP 使用 XML 信封,并常实现复杂的安全标准,这些标准可能被错误配置。该技能通过分析 WSDL(Web Services Description Language)定义来理解可用方法,并测试基于 XML 的注入攻击、WS-Security 实现正确性、SOAPAction 头欺骗以及认证与授权控制。
主要能力
技能以 Python 脚本(SOAPSecurityTester 类)实现,包含以下测试能力:
- WSDL 侦察:解析 WSDL,提取可用操作、SOAPAction 及端点地址。
- XXE 检测:测试经典 XXE(文件读取)、盲 XXE(带外)以及 XML 炸弹(Billion Laughs)。通过响应中是否出现文件内容、是否返回 XML 解析错误、响应时间是否异常等指标判断。
- SQL 注入检测:向 SOAP 参数注入 SQL 载荷,通过响应中是否出现数据库错误特征(如 SQL syntax、ORA-、mysql_、SQLSTATE 等)判断。
- SOAPAction 欺骗检测:使用与请求体操作不匹配的 SOAPAction 头发送请求,若被接受则记录为高危发现。
- WS-Security 绕过检测:测试缺失 WS-Security 头、空安全令牌、过期时间戳等场景是否被接受。
- 报告生成:汇总目标、WSDL、测试操作数、发现总数及按严重级别(CRITICAL/HIGH)分类的发现列表。
使用方式
脚本通过命令行运行,接受 WSDL URL 作为参数(默认 http://localhost:8080/ws?wsdl)。执行流程为:解析 WSDL → 遍历每个操作执行 XXE 与 SQL 注入测试 → 执行 SOAPAction 欺骗测试 → 执行 WS-Security 绕过测试 → 输出评估报告。
前置条件包括:目标 SOAP 服务端点 URL、WSDL 文件或 URL 访问权限、SoapUI 或 ReadyAPI(用于结构化测试)、带 SOAP 扩展的 Burp Suite(用于拦截)、Python 3.8+ 及 zeep 和 lxml 库,以及执行安全测试的授权。
适用场景
- 涉及 SOAP Web 服务安全测试的安全评估。
- 相关安全事件的事件响应流程。
- 计划内的安全测试或审计活动。
- 通过动手测试验证安全控制。
限制
资料未提供关于该技能在特定平台、收费模式、性能指标或实际效果方面的信息。脚本中的检测逻辑基于响应特征匹配,可能存在误报或漏报。使用前必须获得对目标系统进行安全测试的授权。