WordPress
General
# Web root
/wp-admin
admin.php
/wp-content
/themes
/plugins
/wp-includes
index.php
license.txt
readme.html
wp-activate.php
wp-blog-header.php
wp-comments-post.php
wp-config-sample.php
wp-cron.php
wp-links-opml.php
wp-load.php
wp-login.php
wp-mail.php
wp-settings.php
wp-signup.php
wp-trackback.php
xmlrpc.php
.htaccess
wp-config.php # database infoEnumeration
WPScan is a free, Ruby-based WordPress security scanner that performs black-box testing to identify vulnerabilities in WordPress core, plugins, themes, and user configurations.
Attacks
BFA
wp-login.php is the standard login form that accepts one login attempt per request. xmlrpc.php allows login via API calls and can bundle many attempts in one request, making brute-force faster. Even if wpscan outputs that XML-RPC is enabled, login-related methods may be blocked by plugins or server settings, so attacks through it can fail while wp-login attacks still work.
WPScan uses 2 kinds of BFA:
xmlrpc → uses WP's API to BF (
xmlrpc.php) (faster)wp-login → attempts to BF
wp-login.php
RCE
Modify an inactive theme (for avoiding breaking the site) by inserting a PHP web shell:

Interact with the shell via CLI.
The same exact method can be done with Plugins:
Remeber to activate the plugin after: Plugins → Installed Plugins → Activate.

MSF's wp_admin_shell_upload module can be used:
Plugins
The AdRotate plugin is an advertising management tool that enables administrators to create, schedule, and track ads across posts, pages, and widgets. It supports self-hosted and network ads, uses shortcodes for placement, and provides performance metrics.


Simple File List plugin < 4.2.3 is vulnerable to an unauthenticated RCE flaw (CVE-2025-34085). Despite being designed to allow file uploads, the plugin fails to properly validate files after they are renamed. An attacker can upload a file with a benign extension (e.g., .png) that actually contains PHP code. Using a vulnerable script within the plugin, the file can then be renamed to .php and accessed directly, resulting in full remote code execution. The available PoC allows direct RCE via the --cmd parameter:
The Site Editor plugin, up to version 1.1.1, is vulnerable to an unauthenticated LFI flaw (CVE-2018-7422) via the ajax_path parameter in the ajax_shortcode_pattern.php script, part of its PageBuilder extension. This endpoint fails to sanitize input, allowing attackers to include arbitrary files using absolute paths.
No longer supported:
wpDiscuz version 7.0.4 contains a file upload vulnerability that can lead to unauthenticated remote code execution (CVE-2020-24186). Although the plugin is meant to accept only image attachments in comments, its MIME type validation can be bypassed, allowing a PHP file to be uploaded and executed. Exploitation requires a valid post with comments enabled.
The PoC takes two arguments: -u for the target URL and -p for the path to a comment-enabled post. Once executed, the script uploads the payload and returns the file path for remote code execution.
The default PoC may fail, but curl can be used to interact with the uploaded webshell.
Last updated
Was this helpful?