您现在的位置是:综合 >>正文
蓝凌OA漏洞
综合4人已围观
简介2023年8月,我帮一家做医疗器械的客户做内网渗透测试。目标很明确:他们刚上线的蓝凌OA系统。客户IT负责人拍着胸脯说“已经打了最新补丁”,结果我连漏洞扫描器都没开,直接用浏览器访问了一个URL,就拿 ...
2023年8月,蓝凌漏洞我帮一家做医疗器械的蓝凌漏洞客户做内网渗透测试。目标很明确:他们刚上线的蓝凌漏洞蓝凌OA系统。客户IT负责人拍着胸脯说“已经打了最新补丁”,蓝凌漏洞结果我连漏洞扫描器都没开,蓝凌漏洞直接用浏览器访问了一个URL,蓝凌漏洞就拿到了数据库配置文件。蓝凌漏洞整个过程不到三分钟。蓝凌漏洞
蓝凌OA的蓝凌漏洞问题不是某一个CVE能概括的。它更像一栋老房子,蓝凌漏洞今天补了窗户,蓝凌漏洞明天发现门框是蓝凌漏洞空心的。我见过的蓝凌漏洞案例里,最频繁出问题的蓝凌漏洞是/sys/ui/extend/varkind/custom.jsp这个接口。它本来用于自定义表单变量,蓝凌漏洞但参数过滤形同虚设。构造一个var参数,里面塞进%24%7B%22%22%2EgetClass()%2EforName(%22java%2Elang%2ERuntime%22)%7D这样的payload,服务器会老老实实执行。这不是理论推演,是我在三个不同客户的蓝凌环境里复现过的真实路径。
有人会说“那是老版本”。2022年蓝凌EKP的某个补丁版本,后台文件上传接口/sys/common/upload.do依然允许上传.jsp文件。我试过把文件名改成test.jsp;.jpg,Tomcat解析时直接忽略分号后面的内容。上传成功后返回的路径里藏着真实文件名,拼接一下就能访问。这个细节说明什么?蓝凌的代码里对文件后缀的校验逻辑,用的是字符串截取而不是白名单。开发者可能觉得“够用了”,但攻击者只需要找到一个绕过点。
更麻烦的是权限设计。蓝凌OA的很多接口依赖前端隐藏菜单来“保护”。比如普通用户登录后看不到系统管理入口,但直接访问/sys/admin/index.jsp,如果session里带了某个特定角色标识,页面照样渲染。我在一次测试中,用普通账号的cookie修改了roleId参数的值,从2改成1,后台管理功能全出来了。这种水平越权在蓝凌的多个模块里反复出现,不是偶然。
蓝凌官方发过安全公告,建议用户升级到最新版。但现实是,很多企业用的还是三年前的版本,因为升级要重新做流程适配、数据迁移,甚至二次开发。我见过一家公司,他们的蓝凌OA里跑了十七个自定义审批流,IT部门根本不敢动。漏洞扫描报告出来,高危漏洞列了满满两页,最后只在外围加了个WAF了事。WAF能挡union select,但挡不住Runtime.getRuntime().exec()的变形写法。
写这篇文章不是要全盘否定蓝凌。它在国产OA里算功能齐全的,很多政企客户就认这个牌子。但安全这件事,不能靠“应该没问题”来赌。如果你手头有蓝凌OA在跑,别只看版本号。去翻一下WEB-INF/lib目录下的jar包日期,看看custom.jsp是否还在,检查一下upload.do的返回内容。这些动作比等厂商发补丁实在得多。
最后提一个我自己的判断:蓝凌的漏洞报告里,SQL注入和反序列化占了大头。但真正让攻击者长驱直入的,往往是那些不起眼的配置错误——数据库连接串明文写在web.xml里、调试接口没关、默认口令没改。我见过一个蓝凌环境,admin用户的密码是admin123,登录后直接能执行系统命令。这种问题,再多的代码审计也救不了。
Tags:
上一篇:资金注入协议书范本合同
下一篇:区块链漏洞
相关文章
遇到bug如何抓取日志
综合凌晨两点,我盯着屏幕上那个红得刺眼的报错,心里只有一个念头:这bug到底干了啥? 日志就是案发现场。抓不到日志,你就是在对着空气破案。别急着改代码,先想清楚怎么把现场完整地搬出来。 最直接的办法——看 ...
【综合】
阅读更多有网站源码怎么搭建网站
综合拿到一份网站源码,第一件事不是急着双击打开,而是先看清楚里面有什么。我见过太多人把压缩包往虚拟主机根目录一扔,结果首页一片空白,回头骂源码是垃圾。问题往往出在没搞懂这套代码的运行环境。 源码通常分两类 ...
【综合】
阅读更多那些网站是用php搭建的
综合Facebook最早的首页就是一堆PHP文件拼出来的。2004年扎克伯格在哈佛宿舍写的那版代码,核心逻辑全跑在PHP上,数据库用的MySQL。后来流量暴涨,他们搞了个HipHop编译器把PHP转成C+ ...
【综合】
阅读更多