【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞

admin 2022年2月24日09:36:14评论147 views字数 2314阅读7分42秒阅读模式

关注公众号回复“漏洞”获取研究环境或工具

漏洞信息


Solarwinds Web Help Desk 12.7.7 Hotfix 1以前版本存在一个硬编码用户凭证,导致能够本地执行任意 Hibernate 查询语句。漏洞编号为CVE-2021-35232,在特定模式下有可能被远程利用的可能性。


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞

环境搭建


下载12.7.6版本,安装完成后访问登录页面:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


跳过邮箱设置,输入用户和密码:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


登录web控制台:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


安装后版本为12.7.6.8432:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


在wrapper.conf中添加debug参数即可开启远程调试:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞

漏洞分析


抓包分析:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


请求格式为`/helpdesk/WebObjects/HelpDesk.woa`。路由规则使用`Spring`和私有代码控制,由于是硬编码问题,审计JSP代码时找到了一个固定的用户名和密码:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


全路径搜索该字符串,在`ConstantAndSettings`中定义了`Production`和`Development`两组硬编码用户密码:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


以及其他的引用位置,主要包括`RestClient`、`RouteController`和`Authentication Manager`:


λ grep -R "dev-C4F8025E7" ././helpdesk/WEB-INF/jsp/test/orionIntegrationTest.jsp:  var auth = {loginName:'helpdeskIntegrationUser', password:'dev-C4F8025E7'};./helpdesk/WEB-INF/jsp/test/orionIntegrationTest.jsp:  var auth = {loginName:'helpdeskIntegrationUser', password:'dev-C4F8025E7'};./helpdesk/WEB-INF/lib/whd-core/com/macsdesign/whd/rest/controllers/BasicAuthRouteController$1.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/service/impl/auth/HelpdeskIntegrationAuthenticationManager.class
λ grep -R helpdesk91114AD77B4CDCD9E18771057190C08B ././helpdesk/WEB-INF/lib/whd-core/com/macsdesign/whd/rest/controllers/BasicAuthRouteController$1.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/rest/RestClient.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/service/impl/auth/ClusterNodeAuthenticationManager.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/service/impl/auth/HelpdeskIntegrationAuthenticationManager.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/service/impl/ClusterLicenseServiceImpl$RestClient.class


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


在`whd-web.jar/whd-security.xml`中定位到引用的路由:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


`AssetReportController`定义了`/rawQL`接口执行HQL语句:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


`getStringHQLResult`执行HQL语句:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


回到`HelpdeskIntegrationAuthenticationManager`,其读取`Production`和`Development`模式下固定密码作为认证凭据:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


注意到里边有一个远程地址检查的语句,这里先跳过进行本地测试,添加Basic-Auth头。拷贝一个控制台POST请求,发送后出现403:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


经过分析,原因是接口需要添加`X-XSRF-TOKEN`字段, 语句成功执行但报错:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


链接postgresql嵌入式数据库,数据库、用户、密码均为`whd`,可以查看数据:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


构造语句读取用户密码:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞

远程HQL注入尝试


经测试`/helpdesk/assetReport/rawHQL`远程访问返回404,原因是`HelpdeskIntegrationAuthenticationManager`对远程地址进行检查:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞


`request.getRemoteAddress`读取数据,在反向代理模式下可以绕过检查:


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞

小结


这是一个比较鸡肋HQL注入漏洞,本地可以无条件执行。由于对源地址进行检查导致远程无法直接利用,但在反向代理模式下存在利用的可能。除了`assetReport`,其他接口也有可能存在问题。此外,执行HQL的语句还可能存在一定的限制。


【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞



由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。



点关注,不迷路!

【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞

关注公众号回复“漏洞”获取研究环境或工具

原文始发于微信公众号(且听安全):【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月24日09:36:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞http://cn-sec.com/archives/800875.html

发表评论

匿名网友 填写信息