WP7.0.0漏洞?WP后台密码被改,如何重置密码?

PHP wes 1 day ago (2026-07-24) 10 views

若确认账号密码被篡改;SSH 可登录,提供两套方案,优先 WP-CLI(最简单、最规范),备选 MySQL 命令行。

⚠️重要:登录成功后立刻做安全排查!有人修改后台密码代表网站存在入侵入口。

方案一:WP-CLI(首选,强烈推荐)

1. SSH 进入网站根目录

bash
# 进入你的WordPress文件夹,示例(改成你实际路径) cd /www/wwwroot/你的域名 

2. 检查是否装有 wp-cli

bash
wp --info 
  • 有输出版本信息 → 直接执行重置;
  • 提示 command not found → 看文末快速安装 wp-cli。

3. 查看所有管理员账号(确认用户名)

bash
wp user list --role=administrator 
你会看到 ID、user_login(登录用户名)。

4. 重置密码(二选一)

bash
# 方式A:按用户名重置(替换admin、新密码) wp user update admin --user_pass='新高强度密码123!abc' # 方式B:按用户ID重置(管理员一般ID=1) wp user update 1 --user_pass='新高强度密码123!abc' 
出现 Success: Updated user 即成功,直接访问 /wp-admin 使用新密码登录。
⚠️安全提醒:命令行明文密码会短暂留在 shell 历史;临时应急没问题,登录后台立刻再次修改密码。

方案二:MySQL 命令行(无 WP-CLI 时备用)

步骤 1:读取数据库账号(wp-config.php)

bash
cat wp-config.php | grep DB_ 
获取:
  • DB_NAME 数据库名
  • DB_USER 数据库用户名
  • DB_PASSWORD 数据库密码

步骤 2:登录 MySQL

bash
mysql -u数据库用户名 -p # 回车后输入数据库密码 

步骤 3:切换数据库,执行重置

sql
USE 数据库名; -- 先查看管理员列表,确认用户名/ID SELECT ID,user_login FROM wp_users; -- 重置密码(admin替换成你的用户名;引号内填写新密码) UPDATE wp_users SET user_pass = MD5('新密码123456!') WHERE user_login = 'admin'; exit; 
原理:WP 兼容 MD5,首次登录 WP 会自动把 MD5 升级为标准$P$加盐哈希。 注意表前缀!如果你的表不是wp_users(比如wp123_users),语句同步修改。

WP-CLI 一键安装(如果服务器没有)

在网站目录执行:
bash
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar mv wp-cli.phar /usr/local/bin/wp 
安装完成后即可使用上面 wp 命令。

✅最重要:密码被篡改,必须立刻做安全排查(重中之重)

有人能修改 WP 管理员密码,说明网站已经失陷,只改密码治标不治本:
  1. 列出全部管理员,检查陌生账号
bash
wp user list --role=administrator 
发现不明管理员直接删除:wp user delete 可疑ID --yes
  1. 检查恶意插件 / 主题
bash
wp plugin list wp theme list 
删除你没有主动安装的插件。
  1. 修改三处密码
  • WP 后台密码;
  • 网站数据库密码;
  • 服务器 SSH 登录密码。
  1. 检查 wp-config.php、网站目录有无陌生后门 php 文件;
  2. 安装安全插件:Wordfence / WP Cerber,开启登录限制、2FA 二次验证;
  3. 不要继续使用浏览器自动填充作为唯一凭据,后台建议单独密码管理器保存。

常见踩坑

  1. 执行 wp 命令提示权限不足:增加 --allow-root
bash
wp user update admin --user_pass='xxx' --allow-root 
  1. 修改密码依旧登录失败:
    • 确认路径是真正 wordpress 根目录(存在 wp-login.php、wp-config.php)
    • 网站有缓存插件:清理缓存 wp cache flush