Threat Intel
43% of all websites run WordPress — making it the #1 attack surface worldwide 1 in 25 WordPress sites is actively infected with malware right now 97% of CMS-based attacks specifically target WordPress plugins & themes 50,000+ vulnerabilities indexed · WPScan threat database 71% of hacked WordPress sites had a backdoor silently installed 4,000+ plugins carry known, unpatched security vulnerabilities Average breach goes undetected for 197 days — is your site clean? Outdated plugins are responsible for 52% of all WordPress infections SQL injection & XSS remain the top two WordPress attack vectors 60% of infections exploit a vulnerability that already had a patch available 43% of all websites run WordPress — making it the #1 attack surface worldwide 1 in 25 WordPress sites is actively infected with malware right now 97% of CMS-based attacks specifically target WordPress plugins & themes 50,000+ vulnerabilities indexed · WPScan threat database 71% of hacked WordPress sites had a backdoor silently installed 4,000+ plugins carry known, unpatched security vulnerabilities Average breach goes undetected for 197 days — is your site clean? Outdated plugins are responsible for 52% of all WordPress infections SQL injection & XSS remain the top two WordPress attack vectors 60% of infections exploit a vulnerability that already had a patch available
Scan Free →
wp-scan.org

WordPress XSS Vulnerability Scanner

Cross-site scripting (XSS) in WordPress themes and plugins happens when user-supplied data is output into HTML without escaping. A reflected XSS lets an attacker send a crafted URL; stored XSS lets them inject code that runs for every visitor. wp-scan.org scans for raw $_GET/$_POST echoes, missing esc_html()/esc_attr()/esc_url() calls, and unsafe JavaScript patterns in PHP-generated output.

What wp-scan.org detects

  • Raw echo of $_GET, $_POST, or $_REQUEST variables
  • Missing esc_html() / esc_attr() on output in templates
  • Unsafe esc_url() omissions in href and src attributes
  • PHP variables injected into inline <script> blocks
  • Stored XSS risk from unsanitized database output
  • wp_kses() bypass patterns in custom HTML filters

Scan your WordPress files now — free

Drop your ZIP here

or click to browse · up to 20 MB free

Want to see what a Premium report looks like?

View a real scan with line numbers, fix guides, and secure code for every finding.

View sample report →

Common questions

See exact line numbers and fix guides for every finding

Upgrade to Premium — from $9.99/mo →