关联漏洞
标题:
WordPress 安全漏洞
(CVE-2025-54352)
描述:WordPress是WordPress基金会的一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。 WordPress 3.5至6.8.2版本存在安全漏洞,该漏洞源于对pingback.ping XML-RPC请求处理不当,可能导致私有和草稿文章标题被猜测。
介绍
# CVE-2025-54352 PoC
# Usage
Steps to install and test the WordPress PoC:
## 1. Install a fresh version of WordPress using Docker:
1.1 Start the MySQL database container:
```
docker run --name wp-db -e MYSQL_DATABASE=wp-db -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=password -e MYSQL_ROOT_PASSWORD=rootpass -d mysql:5.7
```
1.2 Start the WordPress container linked to the DB
```
docker run --name wp-site --link wp-db:mysql \
-e WORDPRESS_DB_HOST=wp-db \
-e WORDPRESS_DB_NAME=wp-db \
-e WORDPRESS_DB_USER=wpuser \
-e WORDPRESS_DB_PASSWORD=password \
-p 8080:80 -d wordpress
```
## 2. In the WordPress admin dashboard (http://localhost:8080):
- Log in
- Create a new draft or private post with the title "secret title"
## 3. Install the required Node.js dependency:
npm install node-fetch
## 4. Save the PoC:
As test.js for example.
## 5. Run the PoC:
node test.js http://localhost:8080/ secret
After around 10 seconds, you should see:
"Done! the title is: secret title"
https://www.imperva.com/blog/beware-a-threat-actor-could-steal-the-titles-of-your-private-and-draft-wordpress-posts/
文件快照
[4.0K] /data/pocs/685ae31e5518c6a35e2a7145140f1b5f1a9dbbf6
├── [4.0K] node_modules
│ ├── [4.0K] data-uri-to-buffer
│ │ ├── [4.0K] dist
│ │ │ ├── [ 439] index.d.ts
│ │ │ ├── [1.8K] index.js
│ │ │ └── [1.7K] index.js.map
│ │ ├── [1.3K] package.json
│ │ ├── [2.9K] README.md
│ │ └── [4.0K] src
│ │ └── [1.7K] index.ts
│ ├── [4.0K] fetch-blob
│ │ ├── [ 102] file.d.ts
│ │ ├── [1.2K] file.js
│ │ ├── [ 819] from.d.ts
│ │ ├── [2.6K] from.js
│ │ ├── [ 102] index.d.ts
│ │ ├── [7.3K] index.js
│ │ ├── [1.0K] LICENSE
│ │ ├── [1.6K] package.json
│ │ ├── [5.0K] README.md
│ │ └── [1.6K] streams.cjs
│ ├── [4.0K] formdata-polyfill
│ │ ├── [ 145] esm.min.d.ts
│ │ ├── [2.3K] esm.min.js
│ │ ├── [ 12K] FormData.js
│ │ ├── [8.7K] formdata.min.js
│ │ ├── [1.3K] formdata-to-blob.js
│ │ ├── [1.1K] LICENSE
│ │ ├── [1.2K] package.json
│ │ └── [5.2K] README.md
│ ├── [4.0K] node-domexception
│ │ ├── [ 461] index.js
│ │ ├── [1.0K] LICENSE
│ │ ├── [ 716] package.json
│ │ └── [2.0K] README.md
│ ├── [4.0K] node-fetch
│ │ ├── [1.1K] LICENSE.md
│ │ ├── [3.0K] package.json
│ │ ├── [ 28K] README.md
│ │ ├── [4.0K] src
│ │ │ ├── [9.6K] body.js
│ │ │ ├── [4.0K] errors
│ │ │ │ ├── [ 218] abort-error.js
│ │ │ │ ├── [ 346] base.js
│ │ │ │ └── [ 871] fetch-error.js
│ │ │ ├── [6.8K] headers.js
│ │ │ ├── [ 13K] index.js
│ │ │ ├── [8.4K] request.js
│ │ │ ├── [3.4K] response.js
│ │ │ └── [4.0K] utils
│ │ │ ├── [ 296] get-search.js
│ │ │ ├── [2.2K] is.js
│ │ │ ├── [ 229] is-redirect.js
│ │ │ ├── [9.4K] multipart-parser.js
│ │ │ └── [ 12K] referrer.js
│ │ └── [4.0K] @types
│ │ └── [6.5K] index.d.ts
│ └── [4.0K] web-streams-polyfill
│ ├── [4.0K] dist
│ │ ├── [208K] polyfill.es2018.js
│ │ ├── [399K] polyfill.es2018.js.map
│ │ ├── [ 63K] polyfill.es2018.min.js
│ │ ├── [341K] polyfill.es2018.min.js.map
│ │ ├── [189K] polyfill.es2018.mjs
│ │ ├── [399K] polyfill.es2018.mjs.map
│ │ ├── [212K] polyfill.es6.js
│ │ ├── [422K] polyfill.es6.js.map
│ │ ├── [ 64K] polyfill.es6.min.js
│ │ ├── [362K] polyfill.es6.min.js.map
│ │ ├── [193K] polyfill.es6.mjs
│ │ ├── [422K] polyfill.es6.mjs.map
│ │ ├── [227K] polyfill.js
│ │ ├── [434K] polyfill.js.map
│ │ ├── [ 70K] polyfill.min.js
│ │ ├── [368K] polyfill.min.js.map
│ │ ├── [207K] polyfill.mjs
│ │ ├── [434K] polyfill.mjs.map
│ │ ├── [207K] ponyfill.es2018.js
│ │ ├── [397K] ponyfill.es2018.js.map
│ │ ├── [188K] ponyfill.es2018.mjs
│ │ ├── [397K] ponyfill.es2018.mjs.map
│ │ ├── [211K] ponyfill.es6.js
│ │ ├── [420K] ponyfill.es6.js.map
│ │ ├── [192K] ponyfill.es6.mjs
│ │ ├── [420K] ponyfill.es6.mjs.map
│ │ ├── [226K] ponyfill.js
│ │ ├── [432K] ponyfill.js.map
│ │ ├── [206K] ponyfill.mjs
│ │ ├── [432K] ponyfill.mjs.map
│ │ └── [4.0K] types
│ │ ├── [1.3K] polyfill.d.ts
│ │ ├── [ 34K] ponyfill.d.ts
│ │ ├── [4.0K] ts3.6
│ │ │ ├── [1.2K] polyfill.d.ts
│ │ │ └── [ 33K] ponyfill.d.ts
│ │ └── [ 329] tsdoc-metadata.json
│ ├── [4.0K] es2018
│ │ └── [ 327] package.json
│ ├── [4.0K] es6
│ │ └── [ 315] package.json
│ ├── [1.1K] LICENSE
│ ├── [2.7K] package.json
│ ├── [4.0K] ponyfill
│ │ ├── [4.0K] es2018
│ │ │ └── [ 295] package.json
│ │ ├── [4.0K] es6
│ │ │ └── [ 286] package.json
│ │ └── [ 259] package.json
│ └── [6.4K] README.md
├── [ 227] package.json
├── [3.1K] package-lock.json
├── [1.1K] README.md
└── [4.0K] test.js
21 directories, 92 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。