Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!
vulnerable-bsr-lab-CVE-2023-6933 — Hands-on lab for CVE-2023-6933, a PHP Object Injection vulnerability in Better Search Replace WordPress plugin, with Docker deployment, nuclei template, and exploit scripts for security research and education. | Kitploit
Hands-on lab for CVE-2023-6933, a PHP Object Injection vulnerability in Better Search Replace WordPress plugin, with Docker deployment, nuclei template, and exploit scripts for security research and education.
This laboratory environment demonstrates CVE-2023-6933, a critical PHP Object Injection vulnerability in the Better Search Replace WordPress plugin versions ≤1.4.4.
Vulnerability Details
CVE ID: CVE-2023-6933
CVSS Score: 9.8 (Critical)
Affected Plugin: Better Search Replace ≤1.4.4
Vulnerability Type: PHP Object Injection via unserialized user input
Attack Vector: AJAX endpoint /wp-admin/admin-ajax.php with action search_replace_db
Quick Start
1. Deploy the Lab
root@kitploit:~
# Clone the repository
git clone https://github.com/Trex96/vulnerable-bsr-lab-CVE-2023-6933.git
cd vulnerable-bsr-lab-CVE-2023-6933
# Deploy using Docker Hub image (automatic pull)
docker-compose up -d
The lab will automatically:
Pull the vulnerable WordPress image from Docker Hub (trex999/vulnerable-bsr-lab:latest)
Set up WordPress with MySQL and phpMyAdmin
Install and activate the vulnerable Better Search Replace plugin (v1.4.4)
✅ Confirms object injection capability through response analysis
✅ Demonstrates functional vulnerability without error reliance
✅ Provides behavioral verification of successful deserialization
Security Notice
⚠️ WARNING: This environment contains intentionally vulnerable software. Use only in isolated testing environments. Do not deploy to production or internet-accessible systems.
# Test basic plugin presence
curl "http://localhost:8080/wp-content/plugins/better-search-replace/readme.txt"
# Test vulnerability with safe payload
curl -X POST "http://localhost:8080/wp-admin/admin-ajax.php" \
-d "action=bsr_search_replace&search_for=O:8:\"stdClass\":1:{s:4:\"test\";s:8:\"nuclei\";}&replace_with=safe&select_tables[]=wp_posts&dry_run=1"
Nuclei Template Features
Multi-vector testing: 5 different HTTP requests
Success-based matchers: Looks for functional processing, not errors
Comprehensive extraction: Version detection, response analysis