通达OA V11任意文件上传与远程代码执行分析

需积分: 0 5 下载量 36 浏览量 更新于2024-08-05 收藏 361KB PDF 举报
"通达OA任意文件上传_文件包含GetShell1" 通达OA(Tongda Office Automation)是一款广泛使用的协同办公系统。在描述提到的版本V11中,存在一个严重的安全漏洞,允许未经身份验证的攻击者进行任意文件上传,并通过文件包含漏洞执行远程恶意代码,即所谓的“GetShell”攻击。这种攻击方式通常被黑客利用来获取服务器的控制权或进行其他非法活动。 0x01 漏洞描述 此漏洞的核心在于通达OA系统的文件上传功能存在缺陷,攻击者能够绕过身份验证机制,上传任意类型的文件。一旦攻击者上传了一个包含PHP代码的文件(例如伪装成图片的.php文件),并通过文件包含漏洞调用这个文件,就可能执行服务器上的任意系统命令。 0x02 影响版本 问题影响通达OA V11版本。可以通过下载链接(https://pan.baidu.com/s/15gcdBuOFrN1F9xVN7Q7GSA)获取此版本,解密密码为'enqx'。为了分析漏洞,可以使用解密工具(https://paper.seebug.org/203/)对相关文件进行解密,查看解密后的部分代码,这些代码位于https://github.com/jas502n/OA-tongda-RCE/tree/master/tongda/decode。 0x03 环境搭建 要复现此漏洞,需要首先下载并安装通达OA V11,运行EXE安装程序,随后访问localhost以启动系统。官方提供了补丁来修复这个问题,补丁主要针对`upload.php`和`gateway.php`两个文件,特别是`upload.php`中的任意文件上传漏洞。 0x04 漏洞分析 漏洞的触发点在于`upload.php`文件中,攻击者可以通过POST参数`$TYPE`和`$DEST_UID`来绕过身份验证。当`td_verify_ids`函数未成功验证`$DEST_UID`时,攻击者可以继续执行后续步骤。文件上传的变量名是`ATTACHMENT`,可以构造一个包含PHP代码的文件上传到服务器。在`inc/utility_file.php`文件中,系统会进行一些文件类型检查,但通过上传如.jpg的文件并包含其中的PHP代码,攻击者仍能规避这些检查,从而执行恶意代码。 为了修复此漏洞,用户应尽快更新到最新且已修补的通达OA版本,同时确保系统安全配置得当,避免类似的安全风险。对于已知的补丁,务必正确应用,防止漏洞再次暴露。此外,定期进行安全审计和漏洞扫描也是保障系统安全的重要措施。