WPScan is a well-known WordPress vulnerability scanner, designed to detect potential security flaws on your WordPress sites.
The tool is free and open-source, and is now available directly in the official Arch Linux repositories for a streamlined installation.
⚠️ LEGAL WARNING
This article is provided for educational purposes to help you secure your own sites. The author cannot be held responsible for any malicious use of this tool. Scanning third-party sites without authorization is illegal.
Installation#
Recommended method: Arch Linux repositories#
WPScan is available in the official Arch Linux repositories:
sudo pacman -S wpscanThis method automatically installs all required dependencies (Ruby, curl, libxml2, etc.).
Alternative method: Ruby Gem#
If you need the latest version from RubyGems:
# Install Ruby dependencies
sudo pacman -S ruby ruby-bundler
# Install via RubyGems
sudo gem install wpscanConfiguration and updates#
Update the vulnerability database#
After installation, update the vulnerability database:
wpscan --updateWPVulnDB API token (optional)#
For detailed results, get a free API token at WPVulnDB :
# Create the configuration file
mkdir -p ~/.wpscan
nano ~/.wpscan/scan.ymlAdd your token:
cli_options:
api_token: YOUR_API_TOKEN_HEREUsage#
Basic full scan#
Full scan of a WordPress site with verbose output:
wpscan --url https://your-site.com --verbosePlugin scan#
Scan installed plugins and their vulnerabilities:
# All installed plugins
wpscan --url https://your-site.com --enumerate plugins
# Vulnerable plugins only
wpscan --url https://your-site.com --enumerate vpTheme scan#
Scan themes and their vulnerabilities:
# All installed themes
wpscan --url https://your-site.com --enumerate themes
# Vulnerable themes only
wpscan --url https://your-site.com --enumerate vtUser enumeration#
Enumerate WordPress user accounts:
wpscan --url https://your-site.com --enumerate usersSpecific vulnerability scan#
Search for known vulnerabilities (TimThumb, etc.):
wpscan --url https://your-site.com --enumerate ttUseful options#
--verbose: Verbose mode for more details--output file.txt: Save results to a file--random-agent: Use a random User-Agent--proxy http://proxy:port: Use a proxy--rate-limit 1/2s: Limit request rate
Full example#
wpscan --url https://your-site.com \
--enumerate vp,vt,tt,users \
--verbose \
--output report.txt \
--random-agentBest practices#
Legality and ethics#
- Only scan your own sites or those with written authorization
- Respect
robots.txtand terms of service - Use reasonable delays between requests
Performance#
- Use
--rate-limitto avoid overloading the server - Prefer targeted scans over full scans for quick checks
- Save results for future comparison
Security#
- Keep your WPVulnDB API token confidential
- Regularly update WPScan with
wpscan --update - Combine results with other security tools