★且听安全★-点关注,不迷路!
★漏洞空间站★-优质漏洞资源和小伙伴聚集地!
iSpy 是一款开源的视频监控软件,使用 C# 开发,该软件近期披露了 CVE-2022-29774 目录穿越和 CVE-2022-29775 远程命令执行漏洞:
CVE-2022-29774
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Score: 9.8 (Critical)
Vulnerble product version: iSpy Connect 7.2.2.0
Vulnerability 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,
a malicious actor could run an executable of her choice in the vulnerable server.
CVE-2022-29775
CVSS:CVSS: 3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Score: 9.8 (Critical)
Vulnerble product version: iSpy Connect 7.2.2.0
Vulnerability 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 版本进行分析。启动后主界面如下:
开放 8080 端口:
开启一个视频流,点击 `添加对象`->`视频文件` 即可:
服务端 8080 端口由 `iSpy.exe` 启动,接受 HTTP 请求后首先进入 `ReadCallback` 处理:
调用 `ProcessRequest` 函数:
进入 `ParseRequest` 函数解析请求:
通过计算 `sPhysicalFilePath.EndsWith("crossdomain.xml") || LocalServer.CheckAuth(sPhysicalFilePath)` 的返回结果:
只要不包含 `Referer` 头且请求以 `crossdomain.xml` 结束,便可绕过检查:
`LocalServer#ProcessRequest` 函数封装了多个请求操作,如 `mjpegfeed` 、 `loadimage` 、 `logfile` 等:
访问 `logfile `可查看服务器操作:
使用 `livefeed` 可认证绕过查看视频流:
同样是 `ProcessRequest` 函数,调用 `ProcessCommandInternal` :
漏洞函数位于 `playfile` 操作:
调用 `DoCommand` 函数:
函数非常大,这里注意 `playfile` 分支,调用 `GetDirectory` 和 `GetMediaDirectory` 获取当前目录和 `Media` 目录,之后执行 `Process.Start` 函数:
通过 `GetDirctory` 和 `GetMediaDirectory` 可知,服务器必须要有一个正在运行的实例:
最后弹出计算器:
`parseRequest` 检查时修改为等于 `crossdomain.xml` :
由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全及文章作者不为此承担任何责任。
★且听安全★-点关注,不迷路!
★漏洞空间站★-优质漏洞资源和小伙伴聚集地!
原文始发于微信公众号(且听安全):CVE-2022-22974 iSpy .NET 视频监控软件存在认证绕过&远程命令执行漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论