CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞

admin 2022年6月25日14:13:26评论172 views字数 1658阅读5分31秒阅读模式

★且听安全-点关注,不迷路!



CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞

★漏洞空间站-优质漏洞资源和小伙伴聚集地!


漏洞信息


iSpy 是一款开源的视频监控软件,使用 C# 开发,该软件近期披露了 CVE-2022-29774 目录穿越和 CVE-2022-29775 远程命令执行漏洞:


CVE-2022-29774CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HScore: 9.8 (Critical)Vulnerble product version: iSpy Connect 7.2.2.0Vulnerability type: Directory traversal(CWE-35) and Command Execution(CWE-78)Vulnerability Description: iSpyConnect iSpy v7.2.2.0 is vulnerable to path traversal and remote command execution,Therefore, a malicious actor could run an executable of her choice in the vulnerable server.

CVE-2022-29775CVSS:CVSS: 3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HScore: 9.8 (Critical)Vulnerble product version: iSpy Connect 7.2.2.0Vulnerability type: Improper authentication (CWE-287)Vulnerability Description: iSpyConnect iSpy v7.2.2.0 allows attackers to bypass authentication via a crafted URL.


环境搭建


iSpy 最新版本为 v7.2.6.0,下载 v7.2.1.0 版本进行分析。启动后主界面如下:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


开放 8080 端口:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


开启一个视频流,点击 `添加对象`->`视频文件` 即可:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


认证绕过


服务端 8080 端口由 `iSpy.exe` 启动,接受 HTTP 请求后首先进入 `ReadCallback` 处理:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


调用 `ProcessRequest` 函数:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


进入 `ParseRequest` 函数解析请求:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


通过计算 `sPhysicalFilePath.EndsWith("crossdomain.xml") || LocalServer.CheckAuth(sPhysicalFilePath)` 的返回结果:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


只要不包含 `Referer` 头且请求以 `crossdomain.xml` 结束,便可绕过检查:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


`LocalServer#ProcessRequest` 函数封装了多个请求操作,如 `mjpegfeed` 、 `loadimage` 、 `logfile` 等:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


访问 `logfile `可查看服务器操作:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


使用 `livefeed` 可认证绕过查看视频流:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


远程命令执行


同样是 `ProcessRequest` 函数,调用 `ProcessCommandInternal` :


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


漏洞函数位于 `playfile` 操作:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


调用 `DoCommand` 函数:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


函数非常大,这里注意 `playfile` 分支,调用 `GetDirectory` 和 `GetMediaDirectory` 获取当前目录和 `Media` 目录,之后执行 `Process.Start` 函数:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


通过 `GetDirctory` 和 `GetMediaDirectory` 可知,服务器必须要有一个正在运行的实例:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞


最后弹出计算器:


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞

修复方式


`parseRequest` 检查时修改为等于 `crossdomain.xml` :


CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞



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



★且听安全-点关注,不迷路!

CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞



★漏洞空间站-优质漏洞资源和小伙伴聚集地!

CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞

原文始发于微信公众号(且听安全):CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月25日14:13:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞https://cn-sec.com/archives/1143413.html

发表评论

匿名网友 填写信息