CVE-2022-3323:研华iView SQL注入漏洞复现

admin 2023年2月10日16:36:07评论110 views字数 1732阅读5分46秒阅读模式

Advantech iView 是中国台湾研华(Advantech)公司的一个基于简单网络协议(SNMP)来对 B + B SmartWorx 设备进行管理的软件。

研华iView 5.7.04.6469版本存在SQL注入漏洞,该漏洞源于在其ConfigurationServlet端点中存在缺陷,攻击者可利用漏洞在setConfiguration操作中创建一个特殊的column_value参数,以绕过com.imc.iview.utils.CUtils.checkSQLInjection()中的检查来执行SQL语句,获取数据库数据。

Part1 漏洞状态

CVE-2022-3323:研华iView SQL注入漏洞复现

Part2 漏洞描述

CVE-2022-3323:研华iView SQL注入漏洞复现

Part3 漏洞复现

1. 复现环境

靶机:Win10(192.168.44.131)

软件:研华 iView 5.7.04.6469

2. 复现步骤

第一步:打开Apache Tomcat服务,确保其已开启,如下图所示:

CVE-2022-3323:研华iView SQL注入漏洞复现

第二步:执行python 脚本,脚本如下:

CVE-2022-3323:研华iView SQL注入漏洞复现

当com.imc.iview.utils.CUtils.checkSQLInjection()对column_value参数检查存在缺陷时,脚本执行完毕后可以获取iView管理员密码,如下图所示

CVE-2022-3323:研华iView SQL注入漏洞复现

Part4 漏洞分析

Python脚本执行过程中会发起post请求,当column_vaule的值为“(SELECT IF(LENGTH((SELECT`strUserPassword`FROM(user_table) /*!WHERE*/ strUserName = 'admin')) = 8,0,99999999999999999))”时,post请求的返回值为“Configuration Update Success.”,如下图所示:

CVE-2022-3323:研华iView SQL注入漏洞复现

通过监控Mysql命令执行情况发现上图请求会执行如下SQL命令,通过该命令可以实现对user_table表中账户为“admin”的密码的长度进行判断,SQL命令如下图所示:

CVE-2022-3323:研华iView SQL注入漏洞复现

分析com.imc.iview.ui.components.configuration.ConfigurationServlet.doPost(),当page_action_type为setConfiguration时调用

com.imc.iview.ui.components.configuration.ConfigurationServlet .setConfiguration(),如下图所示:

CVE-2022-3323:研华iView SQL注入漏洞复现

跟踪setConfiguration()发现其会调用com.imc.iview.utils.CUtils.checkSQLInjection()对column_value进行检查,如果检查通过则执行78行代码,在该行会调用com.imc.iview.database. setConfigurationItem(),如下图所示:

CVE-2022-3323:研华iView SQL注入漏洞复现

跟进com.imc.iview.database. setConfigurationItem(),此处会先进行SQL命令拼接之后执行拼接后的命令,如下图所示:

CVE-2022-3323:研华iView SQL注入漏洞复现

通过上述分析可知SQL命令执行的前提是column_value值可以通过checkSQLInjection()的检测,分析com.imc.iview.utils.CUtils.checkSQLInjection()发现其虽然对关键字进行了检测,但是检测不严格,如当column_value中同时包含“select”和“from”时调用com.imc.iview.utils.Cutils.checkCommentStr()做进一步检查,如下图所示:

CVE-2022-3323:研华iView SQL注入漏洞复现

跟进com.imc.iview.utils.Cutils.checkCommentStr()发现,该方法仅对 “select”和“from”之间是否包含“/*”、“*/”及空格做了检查,很明显检查不严格,造成SQL注入漏洞。

CVE-2022-3323:研华iView SQL注入漏洞复现

Part5 修复建议

建议将软件更新至5.7.04.6583或更高版本以解决漏洞。



原文来源:安帝Andisec

“投稿联系方式:孙中豪 010-82992251   [email protected]

CVE-2022-3323:研华iView SQL注入漏洞复现

原文始发于微信公众号(CNCERT国家工程研究中心):CVE-2022-3323:研华iView SQL注入漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月10日16:36:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2022-3323:研华iView SQL注入漏洞复现http://cn-sec.com/archives/1547166.html

发表评论

匿名网友 填写信息