CVE-2022-43452:台达电子工业能源管理系统SQL注入漏洞分析
时间:2022-12-06 作者:安帝科技
Delta Electronics DIAEnergie是中国台湾台达电子(Delta Electronics)公司推出的一款工业能源管理系统。
DIAEnergie v1.9.02.001及更早版本中存在SQL注入漏洞。该漏洞源于FtyInfoSetting.aspx中缺少对外部输入内容的验证。远程未认证攻击者可利用该漏洞执行SQL查询、修改数据库内容等操作。
Part1 漏洞状态
Part2 漏洞描述
Part3 漏洞复现
1.复现环境
靶机:Win10(192.168.117.172)
软件:DIAEnergie v1.9
2.复现步骤
浏览器访问:http://192.168.117.172/FtyInfoSetting.aspx,在厂区数据类型名称处输入“10”,如下图所示:
点击“新增”按钮,Burp抓包后请求包保存成文件sql1.txt,放入sqlmap执行,结果发现“txName_t”参数存在注入,可获得数据库版本、数据库库名信息,如下图所示:
Part4 漏洞分析
在新增厂区信息过程中,系统会首先根据输入的厂区名称进行数据查重操作,如果不重复才会在数据库中插入一条新的数据,如下图所示:
问题就出现在数据查重过程中未对用户输入的内容进行判断而直接拼接至SQL语句中,下面进行具体分析。
当用户点击“新增”按钮后,系统会调用btnBiiAddType_Click()方法,在文件第8行会判断输入的内容是否为空,如果不为空会在第17行将用户输入的“txName_t”赋值给“list”的第二个元素即“list[1]”中,之后在文件第19行调用IsBiiItemExisted()方法,并将“list”数据传入方法,如下图所示:
移步至IsBiiItemExisted()方法,该方法的作用是判断输入的数据在数据库中是否已存在,代码如下图所示:
在该方法中会执行数据库查询操作,在文件第1179、1180行构造查询语句,如下:
SELECT COUNT(1) FROM DIAE_bii WHERE kid=’list[0]’ AND name=’list[1]’;
通过以上分析可知,“txName_t”的值最终被拼接进 SQL查询语句,导致 SQL 注入漏洞。
Part5 缓解建议
厂商暂未发布漏洞补丁,请联系厂商解决,或采取以下措施降低风险:
1.严格限制数据库访问权限;
2.通过安全设备如WAF进行防御。
————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com