POC详情: 685ae31e5518c6a35e2a7145140f1b5f1a9dbbf6

来源
关联漏洞
标题: 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付费,感谢您的支持。