施耐德電氣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/
參考鏈接