
WPScan is a black box WordPress vulnerability scanner. It's a command-line tool designed for assessing the security posture of WordPress websites.
Installation and Setup
sudo apt update && sudo apt install wpscangem install wpscandocker pull wpscanteam/wpscandocker run -it --rm wpscanteam/wpscan --url https://example.com/ --enumerate ubrew install wpscanteam/tap/wpscan #Install the latest stable versionbrew install wpscanteam/tap/wpscan --HEAD #Install the latest code from the master branchgit clone https://github.com/wpscanteam/wpscan.gitcd wpscanbundle install && ruby wpscan.rb --helpgem update wpscanWordPress Vulnerability Database & API
The API collects reports of WordPress vulnerabilities that could be used hand in hand with the CLI scanner. Create an account and receive an API token here. For WPScan to retrieve the vulnerability data, an API token must be supplied via the --api-token option, or via a configuration file.
Basic Usage
wpscan --url http://example.com #Basic WordPress Scanwpscan --url http://example.com --enumerate u #Enumerate Userswpscan --url http://example.com --api-token <YOUR_API_KEY> #Use API Token for More RequestsTarget Enumeration
wpscan --url http://example.com --enumerate #Enumerate Everythingwpscan --url http://example.com --enumerate u #Enumerate Userswpscan --url http://example.com --enumerate p #Enumerate Pluginswpscan --url http://example.com --enumerate vp #Enumerate Vulnerable Pluginswpscan --url http://example.com --enumerate ap #Enumerate All Plugins (Not Just Active)wpscan --url http://example.com --enumerate vt #Enumerate Vulnerable Themeswpscan --url http://example.com --enumerate at #Enumerate All Themeswpscan --url http://example.com --enumerate c #Enumerate Config BackupsBrute-Forcing WordPress Logins
wpscan --url http://example.com -U admin -P rockyou.txt #Brute-Force Admin Passwordwpscan --url http://example.com --usernames users.txt --passwords passwords.txt #Multi-User Brute-Forcewpscan --url http://example.com --usernames admin --passwords passwords.txt --max-threads 10 #Speed Up Brute-Forcewpscan --url http://example.com --usernames admin --passwords rockyou.txt --throttle 1 #Add 1-Second Delay Between RequestsDetecting Vulnerabilities
wpscan --url http://example.com --enumerate vp #Enumerate Vulnerable Pluginswpscan --url http://example.com --enumerate vt #Enumerate Vulnerable Themeswpscan --url http://example.com --api-token <YOUR_API_KEY> #Use API for Latest Vulnerability Datawpscan --url http://example.com --detection-mode aggressive #Aggressive Detection ModeUser Enumeration and Exploitation
wpscan --url http://example.com --enumerate u #Enumerate Userswpscan --url http://example.com --enumerate u --wp-content-dir wp-content #Custom WordPress Directorywpscan --url http://example.com -U admin -P passwords.txt --force #Force Login Brute-Forcewpscan --url http://example.com --wp-content-dir custom-dir #Scan Custom WordPress InstallationPlugin and Theme Analysis
wpscan --url http://example.com --enumerate p #Enumerate Installed Pluginswpscan --url http://example.com --enumerate ap #Enumerate All Plugins (Active & Inactive)wpscan --url http://example.com --enumerate vp #Enumerate Vulnerable Pluginswpscan --url http://example.com --enumerate vt #Enumerate Vulnerable ThemesConfiguration and Backup Files Enumeration
wpscan --url http://example.com --enumerate c #Enumerate Config Backupswpscan --url http://example.com --enumerate db #Enumerate Database Dumpswpscan --url http://example.com --enumerate med #Enumerate Media FilesPerformance Tuning
wpscan --url http://example.com --max-threads 20 #Increase Scan Speedwpscan --url http://example.com --throttle 1 #Add Delay Between Requestswpscan --url http://example.com --random-user-agent #Use Random User-Agentswpscan --url http://example.com --request-timeout 10 #Set Request TimeoutBypassing Security Measures
wpscan --url http://example.com --proxy http://127.0.0.1:8080 #Use Proxywpscan --url http://example.com --proxy socks5://127.0.0.1:9050 #Use SOCKS5 Proxywpscan --url http://example.com --random-user-agent #Spoof User-Agentwpscan --url http://example.com --headers "X-Forwarded-For: 127.0.0.1" #Bypass WAFStealth Mode and Obfuscation
wpscan --url http://example.com --quiet #Silent Mode (No Output)wpscan --url http://example.com --random-user-agent #Use Random User-Agentwpscan --url http://example.com --proxy http://127.0.0.1:8080 #Route Through Proxywpscan --url http://example.com --throttle 5 #Add Delay to Reduce DetectionSaving and Exporting Results
wpscan --url http://example.com -o results.txt #Save Results to Filewpscan --url http://example.com -o results.json --format json #Save Results as JSONwpscan --url http://example.com --log wpscan.log #Save Scan LogCombining Multiple Options
wpscan --url http://example.com --enumerate u,p,vp --max-threads 15 --random-user-agent #Multi-Enumeration with Speed & Stealthwpscan --url http://example.com -U admin -P rockyou.txt --proxy socks5://127.0.0.1:9050 --random-user-agent #Brute-Force via Proxy with Spoofed User-AgentTroubleshooting and Debugging
wpscan --url http://example.com --debug-output debug.log #Enable Debug Loggingwpscan --url http://example.com --disable-tls-checks #Ignore SSL/TLS ErrorsBest Practices
wpscan --url http://example.com --enumerate u,p,vp,vt --api-token YOUR_API_KEY --max-threads 20 #Full Scan with API Datawpscan --url http://example.com -U admin -P rockyou.txt --max-threads 10 --throttle 1 #Slow Brute-Force to Avoid Lockoutswpscan --url http://example.com --random-user-agent --proxy socks5://127.0.0.1:9050 #Stealth Scan via Proxy



