施耐德电气U.Motion Builder命令注入漏洞安全通告
发布时间 2019-05-22漏洞编号和级别
CVE编号:CVE-2018-7841,危险级别:严重,CVSS分值:9.8
影响版本
Schneider Electric U.Motion Builder 1.3.4及之前版本
漏洞概述
Schneider Electric U.Motion Builder 1.3.4及之前版本中的track_import_export.php脚本中存在操作系统命令注入漏洞,该漏洞源于外部输入数据构造操作系统可执行命令过程中,网络系统或产品未正确过滤其中的特殊字符、命令等。攻击者可利用该漏洞执行非法操作系统命令。
漏洞验证
CVE-2018-7841为CVE-2018-7765补丁绕过,U.Motion 1.3.4包含易受攻击的文件/smartdomuspad/modules/reporting/track_import_export.php,其中应用程序根据连接的object_id构造一个名为$ where的SQlite查询,该查询可以通过GET或POST提供:
你可以看到object_id首先被string_encode_for_SQLite方法解析,除了删除一些其他不可读的字符:
$ query之后用于调用$ dbClient-> query():
query()方法可以在dpaddbclient_NoDbManager_sqlite.class.php中找到:
在这里,您可以看到查询字符串(包含object_id)是通过一堆str_replace调用提供的,目的是过滤掉危险字符,例如$ for Unix命令替换,并且在片段末尾,您实际上可以看到 另一个字符串$ sqlite_cmd与先前构建的$ query字符串连接,最后传递给PHP exec()调用。
产生一个漂亮的反向shell:
修复建议
https://www.rcesecurity.com/
参考链接


京公网安备11010802024551号