您现在的位置是:百科 >>正文

信呼oa图片上传漏洞

百科2446人已围观

简介```html 信呼OA图片上传漏洞 body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, H ...

```html 信呼OA图片上传漏洞

信呼OA图片上传漏洞

上周帮一个朋友看他们公司的内网OA,用的图片是信呼。本来只想查个登录日志,上传结果顺手点了一下头像上传,漏洞发现事情没那么简单。信呼

信呼OA的图片图片上传接口在 /index.php?m=upload&a=img 这个位置。正常流程是上传前端选图,后端校验后缀、漏洞MIME,信呼然后存到 /upload/ 目录下。图片但问题出在校验逻辑上——它只检查了文件扩展名,上传而且用的漏洞是黑名单。

黑名单里写了 php、信呼php5、图片phtml 这些常见后缀。上传可它漏了一个东西:.pht。Apache 在某些配置下会把 .pht 当成 PHP 解析。你传一个 shell.pht 上去,内容写 <?php @eval($_POST['x']); ?>,访问 /upload/shell.pht,直接就是 webshell。

更离谱的是,它连 MIME 类型都没认真验。你抓包把 Content-Type 改成 image/jpeg,文件名写 test.pht,后端照单全收。我试了一下,返回的 JSON 里 code 是 0,msg 是“上传成功”,路径直接拼在 data.url 里。没有任何二次渲染,没有重命名,连时间戳都不加。

实际测试: 用一个普通账号(非管理员),上传 1.pht,内容是一句话木马。成功。访问 http://oa.example.com/upload/1.pht,蚁剑直接连上。整个过程不到两分钟。

为什么这种漏洞还能在 2024 年出现?我翻了一下信呼的更新记录,图片上传这块最近一次改动是 2022 年,只是加了几个黑名单后缀。开发者的思路大概是“用户传图片,我拦掉危险的就行”。但黑名单永远有漏网之鱼,.pht、.phar、.inc,甚至 .php.(在某些 Nginx 配置下)都能绕过。

正确的做法应该是白名单:只允许 jpg、png、gif,并且用 getimagesize() 验证图像内容。文件名要重写,比如 md5(时间戳).jpg,存到非 Web 根目录或者至少禁止执行权限。信呼一样没做。

还有个细节:上传目录的权限是 755,属主是 www-data。这意味着上传的 .pht 文件可以被 Apache 执行。如果运维把 php_admin_flag engine off 加在 /upload/ 目录下,就算传上去也跑不起来。但大多数中小企业的运维根本不会配这个。

我后来搜了一下,信呼的官方论坛里有人 2023 年就提过 .pht 的问题,官方回复是“建议修改黑名单”。这态度挺敷衍的。黑名单改来改去,永远追不上解析漏洞的变种。与其打补丁,不如重写上传逻辑。

如果你正在用信呼OA,赶紧去 /upload/ 目录下看看有没有奇怪的文件。或者更直接点,把上传目录的 PHP 解析关掉。Nginx 加一行 location ~* /upload/.*\.(php|pht|phar)$ { deny all; },Apache 就在 .htaccess 里写 php_flag engine off。别等被人传了马再后悔。

这漏洞不复杂,但危害不小。一个普通员工账号就能拿到服务器权限,内网横向移动不要太方便。写出来就是提醒一句:别太信那些“成熟”的国产 OA,该审计还得审计。

```

Tags:

相关文章

  • 网站制作人员技术有待提高

    百科

    上个月我帮朋友修改一个企业官网,打开源代码的那一刻,我差点以为自己在看二十年前的网页。整个页面用表格嵌套布局,CSS样式全部写在标签里,一个简单的轮播图代码居然有四百多行,还全是复制粘贴的jQuery ...

    【百科】

    阅读更多
  • 综合漏洞扫描是什么

    百科

    ```html 一台服务器开着22端口,另一台Web服务跑着老版本Nginx,还有三台数据库没打最新补丁——这些信息如果靠人工一台台翻,黄花菜都凉了。综合漏洞扫描干的就是一件事:把资产发现、端口识别、 ...

    【百科】

    阅读更多
  • 网络诈骗举报中心

    百科

    上周三下午,我接到一个电话。对方自称是某电商平台的客服,说我买的一件外套甲醛超标,要给我三倍赔偿。他准确报出了我的订单号、收货地址,甚至知道我买的是哪个颜色。那一瞬间,我差点信了。 这就是网络诈骗的可 ...

    【百科】

    阅读更多


友情链接