| name | wordpress-penetration-testing |
| description | This skill should be used when the user asks to "pentest WordPress sites", "scan WordPress for vulnerabilities", "enumerate WordPress users, themes, or plugins", "exploit WordPress vu... |
| category | Security & Systems |
| source | antigravity |
| tags | ["javascript","api","ai","agent","workflow","document","security","pentest","vulnerability"] |
| url | https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/wordpress-penetration-testing |
WordPress Penetration Testing
Purpose
Conduct comprehensive security assessments of WordPress installations including enumeration of users, themes, and plugins, vulnerability scanning, credential attacks, and exploitation techniques. WordPress powers approximately 35% of websites, making it a critical target for security testing.
Prerequisites
Required Tools
- WPScan (pre-installed in Kali Linux)
- Metasploit Framework
- Burp Suite or OWASP ZAP
- Nmap for initial discovery
- cURL or wget
Required Knowledge
- WordPress architecture and structure
- Web application testing fundamentals
- HTTP protocol understanding
- Common web vulnerabilities (OWASP Top 10)
Outputs and Deliverables
- WordPress Enumeration Report - Version, themes, plugins, users
- Vulnerability Assessment - Identified CVEs and misconfigurations
- Credential Assessment - Weak password findings
- Exploitation Proof - Shell access documentation
Core Workflow
Phase 1: WordPress Discovery
Identify WordPress installations:
curl -s http://target.com | grep -i wordpress
curl -s http://target.com | grep -i "wp-content"
curl -s http://target.com | grep -i "wp-includes"
curl -I http://target.com/wp-login.php
curl -I http://target.com/wp-admin/
curl -I http://target.com/wp-content/
curl -I http://target.com/xmlrpc.php
curl -s http://target.com | grep "generator"
nmap -p 80,443 --script http-wordpress-enum target.com
Key WordPress files and directories:
/wp-admin/ - Admin dashboard
/wp-login.php - Login page
/wp-content/ - Themes, plugins, uploads
/wp-includes/ - Core files
/xmlrpc.php - XML-RPC interface
/wp-config.php - Configuration (not accessible if secure)
/readme.html - Version information
Phase 2: Basic WPScan Enumeration
Comprehensive WordPress scanning with WPScan:
wpscan --url http://target.com/wordpress/
wpscan --url http://target.com --api-token YOUR_API_TOKEN
wpscan --url http://target.com --detection-mode aggressive
wpscan --url http://target.com -o results.txt
wpscan --url http://target.com -f json -o results.json
wpscan --url http://target.com -v
Phase 3: WordPress Version Detection
Identify WordPress version:
wpscan --url http://target.com
curl -s http://target.com/readme.html | grep -i version
curl -s http://target.com/feed/ | grep -i generator
curl -s http://target.com | grep "?ver="
curl -s http://target.com | grep 'name="generator"'
curl -s http://target.com/feed/
curl -s http://target.com/comments/feed/
Version sources:
- Meta generator tag in HTML
- readme.html file
- RSS/Atom feeds
- JavaScript/CSS file versions
Phase 4: Theme Enumeration
Identify installed themes:
wpscan --url http://target.com -e at
wpscan --url http://target.com -e vt
wpscan --url http://target.com -e at --plugins-detection aggressive
curl -s http://target.com | grep "wp-content/themes/"
curl -s http://target.com/wp-content/themes/
Theme vulnerability checks:
searchsploit wordpress theme <theme_name>
curl -s http://target.com/wp-content/themes/<theme>/style.css | grep -i version
curl -s http://target.com/wp-content/themes/<theme>/readme.txt
Phase 5: Plugin Enumeration
Identify installed plugins:
wpscan --url http://target.com -e ap
wpscan --url http://target.com -e vp
wpscan --url http://target.com -e ap --plugins-detection aggressive
wpscan --url http://target.com -e ap --plugins-detection mixed
curl -s http://target.com | grep "wp-content/plugins/"
curl -s http://target.com/wp-content/plugins/
Common vulnerable plugins to check:
searchsploit wordpress plugin <plugin_name>
searchsploit wordpress mail-masta
searchsploit wordpress slideshow gallery
searchsploit wordpress reflex gallery
curl -s http://target.com/wp-content/plugins/<plugin>/readme.txt
Phase 6: User Enumeration
Discover WordPress users:
wpscan --url http://target.com -e u
wpscan --url http://target.com -e u1-100
for i in {1..20}; do
curl -s "http://target.com/?author=$i" | grep -o 'author/[^/]*/'
done
curl -s http://target.com/wp-jso