{"id":39629,"date":"2026-07-27T22:21:15","date_gmt":"2026-07-27T15:21:15","guid":{"rendered":"https:\/\/dps.media\/lo-hong-wp2shell-wordpress\/"},"modified":"2026-07-27T22:21:15","modified_gmt":"2026-07-27T15:21:15","slug":"%e6%bc%8f%e6%b4%9e-wp2shell-wordpress-2","status":"publish","type":"post","link":"https:\/\/dps.media\/zh\/%e6%bc%8f%e6%b4%9e-wp2shell-wordpress-2\/","title":{"rendered":"WordPress wp2shell \u6f0f\u6d1e\uff08CVE-2026-63030\uff09\uff1a2026 \u5e74\u670d\u52a1\u5668\u6279\u91cf\u626b\u63cf\u4e0e\u6076\u610f\u4ee3\u7801\u6e05\u7406\u6307\u5357"},"content":{"rendered":"<?xml encoding=\"utf-8\" ?><p>\u6f0f\u6d1e <strong>wp2shell WordPress<\/strong> \uff08\u7f16\u53f7 CVE-2026-63030\uff09\u7684\u7206\u53d1\u6f0f\u6d1e\u6b63\u5728\u6210\u4e3a\u5168\u7403\u6570\u767e\u4e07 WordPress \u7f51\u7ad9\u9762\u4e34\u7684\u9996\u8981\u5a01\u80c1\u3002\u8fd9\u662f\u4e00\u4e2a RCE\uff08\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\uff09\u6f0f\u6d1e\uff0c\u5141\u8bb8\u653b\u51fb\u8005\u65e0\u9700\u767b\u5f55\u5373\u53ef\u63a7\u5236\u670d\u52a1\u5668\u3002\u867d\u7136 WordPress \u5df2\u53d1\u5e03 7.0.2 \/ 6.9.5 \/ 6.8.6 \u8865\u4e01\uff0c\u4f46\u4ec5\u70b9\u51fb\u5347\u7ea7 Core \u6309\u94ae <strong>\u8fd8\u4e0d\u591f<\/strong> \u65e0\u6cd5\u6e05\u7406\u4e4b\u524d\u690d\u5165\u7684\u9690\u85cf\u8d26\u6237\u548c webshell\u3002.<\/p><p>\u672c\u6587\u5206\u4eab\u4e00\u5957\u5b9e\u6218\u6d41\u7a0b\uff0c\u5e2e\u52a9\u4f60\u68c0\u67e5\u3001\u5f7b\u5e95\u6e05\u7406\u6076\u610f\u4ee3\u7801\uff0c\u5e76\u5b89\u5168\u5347\u7ea7\u5927\u91cf Linux \u670d\u52a1\u5668\uff08CyberPanel\u3001cPanel\u3001DirectAdmin\uff09\uff0c\u4e14\u4e0d\u4f1a\u9020\u6210\u670d\u52a1\u4e2d\u65ad\u3002.<\/p><h2>\u4ec0\u4e48\u662f wp2shell WordPress \u6f0f\u6d1e\uff0c\u4e3a\u4ec0\u4e48\u4ec5\u5347\u7ea7\u8fd8\u4e0d\u591f\uff1f<\/h2><p>\u6f0f\u6d1e <strong><a href=\"https:\/\/dps.media\/zh\/%e6%bc%8f%e6%b4%9e-wp2shell-wordpress-2\/\">wp2shell WordPress \u6f0f\u6d1e<\/a><\/strong> \u53d1\u751f\u5728\u5141\u8bb8\u9ed1\u5ba2\u8fdc\u7a0b\u6267\u884c\u4ee3\u7801\u7684 REST API \u5c42\u3002PoC \u51fa\u73b0\u540e\uff0c\u5168\u7403\u8303\u56f4\u5185\u7684\u81ea\u52a8\u626b\u63cf\u653b\u51fb\u5df2\u7ecf\u5411\u672a\u53ca\u65f6\u4fee\u8865\u7684\u7f51\u7ad9\u690d\u5165\u9690\u85cf Admin \u8d26\u6237\u548c webshell\u3002.<\/p><p>\u8bb8\u591a\u7ba1\u7406\u5458\u8bef\u4ee5\u4e3a\u53ea\u9700\u70b9\u51fb \u201cUpdate WordPress\u201d \u5c31\u5b8c\u6210\u4e86\u3002\u5b9e\u9645\u4e0a\uff0cWordPress \u5347\u7ea7\u53ea\u4fee\u590d\u8f93\u5165\u6f0f\u6d1e\uff0c\u800c <strong>\u4e0d\u4f1a\u5220\u9664<\/strong> \u5df2\u521b\u5efa\u7684 webshell \u6587\u4ef6\u6216\u6570\u636e\u5e93\u4e2d\u7684\u5783\u573e\u8d26\u6237\u3002\u5982\u679c\u4e0d\u6e05\u7406\u8fd9\u4e9b\u75d5\u8ff9\uff0c\u9ed1\u5ba2\u4ecd\u53ef\u80fd\u968f\u65f6\u91cd\u65b0\u8bbf\u95ee\u3002.<\/p><p><img decoding=\"async\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2026\/07\/lo_hong_wp2shell_wordpress_cve_2026_6303_img2-scaled.png\" alt=\"wp2shell WordPress \u6f0f\u6d1e\" style=\"display:block;margin:20px auto;max-width:100%;height:auto\" title=\"\"><\/p><h2>\u670d\u52a1\u5668\u4e0a\u7684 wp2shell \u6076\u610f\u4ee3\u7801\u8bc6\u522b\u75d5\u8ff9<\/h2><p>\u68c0\u67e5\u670d\u52a1\u5668\u65f6\uff0cwp2shell \u6076\u610f\u4ee3\u7801\u901a\u5e38\u4f1a\u7559\u4e0b\u4ee5\u4e0b 3 \u7c7b\u5178\u578b\u75d5\u8ff9\uff1a<\/p><ul>\n<li><strong>\u6570\u636e\u5e93\u4e2d\u7684\u9690\u85cf Admin \u8d26\u6237\uff1a<\/strong> \u5177\u6709\u524d\u7f00\u7684\u7528\u6237\u540d <code data-no-translation=\"\">wpsvc_<\/code>, <code data-no-translation=\"\">wp2_<\/code>, <code data-no-translation=\"\">w2s_<\/code>, <code data-no-translation=\"\">wp_admin_<\/code> \u6216\u8005\u90ae\u7bb1\u540e\u7f00\u4e3a <code data-no-translation=\"\">@wp2shell.*<\/code>, <code data-no-translation=\"\">@wordpress-svc.internal<\/code>, <code data-no-translation=\"\">@wordpress-noreply.net<\/code>.<\/li>\n<li><strong>\u4f2a\u88c5\u6210\u63d2\u4ef6\u7684 Webshell\uff1a<\/strong> \u4f4d\u4e8e <code data-no-translation=\"\">wp-content\/plugins\/<\/code> \u7684\u76ee\u5f55\uff0c\u540d\u79f0\u5e26\u6709\u968f\u673a hex \u5b57\u7b26\u4e32\uff0c\u4f8b\u5982 <code data-no-translation=\"\">media-optimization-core-8ed2ad<\/code>, <code data-no-translation=\"\">security-headers-manager-2a70a3<\/code> \u5305\u542b\u901a\u8fc7\u53c2\u6570\u5229\u7528\u7684\u5c0f\u578b PHP \u6587\u4ef6 <code data-no-translation=\"\">?c=<\/code>.<\/li>\n<li><strong>mu-plugins \u4e2d\u7684\u9690\u85cf\u6587\u4ef6\uff1a<\/strong> \u4f4d\u4e8e <code data-no-translation=\"\">wp-content\/mu-plugins\/<\/code> \u4e2d\u7684 PHP \u6587\u4ef6\uff08\u4f8b\u5982 <code data-no-translation=\"\">wp-fixplugin.php<\/code>\uff09\u4f1a\u5728\u540e\u53f0\u8fd0\u884c\uff0c\u6bcf\u6b21\u5220\u9664\u5783\u573e Admin \u540e\u81ea\u52a8\u91cd\u65b0\u521b\u5efa\u3002.<\/li>\n<\/ul><h2>wp2shell \u6279\u91cf\u68c0\u67e5\u4e0e\u6e05\u7406\u7684 4 \u4e2a\u6b65\u9aa4<\/h2><h3>\u6b65\u9aa4 1\uff1a\u4f7f\u7528 MySQL Root \u5feb\u901f\u626b\u63cf\u9690\u85cf\u8d26\u6237<\/h3><p>\u76f8\u6bd4\u8fd0\u884c\u6d88\u8017 PHP \u73af\u5883\u8d44\u6e90\u7684 WP-CLI\uff0c\u76f4\u63a5\u67e5\u8be2 MySQL Root \u53ef\u4ee5\u5728 2-3 \u79d2\u5185\u626b\u63cf\u6570\u767e\u4e2a\u7f51\u7ad9\uff0c\u540c\u65f6\u907f\u514d\u6743\u9650\u9519\u8bef\uff1a<\/p><pre data-no-translation=\"\"><code data-no-translation=\"\">for dir in \/home\/*\/public_html; do\n  if [ -f \"$dir\/wp-config.php\" ]; then\n    domain=$(basename $(dirname \"$dir\"))\n    dbname=$(grep -E \"DB_NAME\" \"$dir\/wp-config.php\" | cut -d'\"' -f4)\n    prefix=$(grep -E \"table_prefix\" \"$dir\/wp-config.php\" | cut -d'\"' -f2)\n    [ -z \"$prefix\" ] && prefix=\"wp_\"\n    \n    if [ ! -z \"$dbname\" ]; then\n      result=$(mysql --batch --skip-column-names -e \"USE \\`$dbname\\`; SELECT CONCAT('ID: ', u.ID, ' | User: ', u.user_login, ' | Email: ', u.user_email) FROM \\`${prefix}users\\` u JOIN \\`${prefix}usermeta\\` m ON u.ID = m.user_id WHERE m.meta_key = '${prefix}capabilities' AND m.meta_value LIKE '%administrator%' AND (u.user_login REGEXP '^w2s_|^wp_admin_|^wp2_|^wpsvc_|^wp2shell' OR u.user_email REGEXP '\\\\.invalid|\\\\.local$|internal|wp2shell|shellcode');\" 2>\/dev\/null)\n      if [ ! -z \"$result\" ]; then\n        echo \"=== \u26a0\ufe0f  Ph\u00e1t hi\u1ec7n Admin m\u00e3 \u0111\u1ed9c tr\u00ean $domain (DB: $dbname) ===\"\n        echo \"$result\"\n      fi\n    fi\n  fi\ndone<\/code><\/pre><h3>\u6b65\u9aa4 2\uff1a\u4f7f\u7528\u5b98\u65b9 wp2shell-scan \u5de5\u5177\u9694\u79bb Webshell<\/h3><p>\u5de5\u5177 <a href=\"https:\/\/github.com\/InstaWP\/wp2shell-scan\" target=\"_blank\" rel=\"noopener nofollow\">\u6765\u81ea InstaWP \u7684\u5b98\u65b9 wp2shell-scan<\/a> \u53ef\u4ee5\u5c06\u68c0\u6d4b\u5230\u7684 webshell \u6587\u4ef6\u79fb\u52a8\u5230\u9694\u79bb\u76ee\u5f55\uff08Quarantine\uff09\uff0c\u5e76\u91cd\u65b0\u751f\u6210\u5b89\u5168 SALT \u5bc6\u94a5\uff1a<\/p><pre data-no-translation=\"\"><code data-no-translation=\"\">curl -fsSLO https:\/\/raw.githubusercontent.com\/InstaWP\/wp2shell-scan\/main\/wp2shell-scan.sh\nchmod +x wp2shell-scan.sh\n.\/wp2shell-scan.sh --path \/home\/domain-bi-dinh.com\/public_html --clean --yes<\/code><\/pre><h3>\u6b65\u9aa4 3\uff1a\u4fee\u590d\u6743\u9650\u5e76\u6309\u7167 SysAdmin \u6807\u51c6\u5347\u7ea7 WordPress Core<\/h3><p>\u5728 CyberPanel \u6216 LiteSpeed \u670d\u52a1\u5668\u4e0a\uff0c\u547d\u4ee4 <code data-no-translation=\"\">sudo -u<\/code> \u901a\u5e38\u4f1a\u56e0\u4e3a\u7f3a\u5c11 <code data-no-translation=\"\">mysqli<\/code> \u800c\u5931\u8d25\uff0c\u56e0\u4e3a <code data-no-translation=\"\">\/usr\/bin\/php<\/code> \u53d7\u5230\u9650\u5236\u3002\u6211\u4eec\u9700\u8981\u76f4\u63a5\u6307\u5b9a LiteSpeed PHP \u7248\u672c\uff08\u4f8b\u5982 <code data-no-translation=\"\">lsphp81<\/code>\uff09\u4ee5\u7528\u6237\u6743\u9650\u5b89\u5168\u5347\u7ea7\uff1a<\/p><pre data-no-translation=\"\"><code data-no-translation=\"\">for dir in \/home\/*\/public_html; do\n  if [ -f \"$dir\/wp-config.php\" ]; then\n    domain=$(basename $(dirname \"$dir\"))\n    owner=$(stat -c '%U' \"$dir\")\n    echo \"==========================================\"\n    echo \"\ud83d\udd04 Updating: $domain (User: $owner)\"\n    echo \"==========================================\"\n    \n    mkdir -p \"$dir\/wp-content\/upgrade\"\n    chown -R \"$owner:$owner\" \"$dir\/wp-content\/upgrade\"\n    chmod 755 \"$dir\/wp-content\/upgrade\"\n    \n    sudo -u \"$owner\" \/usr\/local\/lsws\/lsphp81\/bin\/php \/usr\/bin\/wp core update --path=\"$dir\" --skip-plugins --skip-themes 2>&1 | grep -viE \"<|translation|b\u1ea3n d\u1ecbch\"\n  fi\ndone<\/code><\/pre><h3>\u6b65\u9aa4 4\uff1a\u5347\u7ea7\u540e\u68c0\u67e5\u7248\u672c<\/h3><p>\u6700\u540e\uff0c\u8fd0\u884c\u5feb\u901f\u68c0\u67e5\u811a\u672c\u786e\u8ba4\u6240\u6709\u7f51\u7ad9\u662f\u5426\u5df2\u5b89\u5168\u5347\u7ea7\u5230 WordPress 7.0.2\uff1a<\/p><pre data-no-translation=\"\"><code data-no-translation=\"\">for dir in \/home\/*\/public_html; do\n  if [ -f \"$dir\/wp-config.php\" ]; then\n    domain=$(basename $(dirname \"$dir\"))\n    version=$(grep '$wp_version =' \"$dir\/wp-includes\/version.php\" 2>\/dev\/null | cut -d'\"' -f2)\n    printf \"%-35s : %s\\n\" \"$domain\" \"${version:-N\/A}\"\n  fi\ndone<\/code><\/pre><h2>\u907f\u514d\u6076\u610f\u4ee3\u7801\u518d\u6b21\u611f\u67d3\u7684\u91cd\u8981\u6ce8\u610f\u4e8b\u9879<\/h2><p>\u6e05\u7406\u6b63\u5728\u8fd0\u884c\u7684\u7cfb\u7edf\u53ea\u662f\u6574\u4e2a\u8fc7\u7a0b\u7684\u4e00\u534a\u3002\u4f60\u8fd8\u9700\u8981\u6267\u884c\u4ee5\u4e0b\u6ce8\u610f\u4e8b\u9879\uff0c\u4ee5\u5168\u9762\u4fdd\u62a4\u7f51\u7ad9\uff1a<\/p><ul>\n<li><strong>\u6e05\u7406\u6240\u6709 Backup\/Snapshot \u6587\u4ef6\uff1a<\/strong> \u5982\u679c\u4f60\u4ece\u7f51\u7ad9\u611f\u67d3\u671f\u95f4\u521b\u5efa\u7684\u5907\u4efd\u6062\u590d\uff0c\u7cfb\u7edf\u4f1a\u7acb\u5373\u518d\u6b21\u611f\u67d3\u6076\u610f\u4ee3\u7801\u3002\u6062\u590d\u524d\u8bf7\u4f7f\u7528\u6807\u8bb0 <code data-no-translation=\"\">--sql backup.sql<\/code> \u68c0\u67e5\u5907\u4efd\u6587\u4ef6\u3002.<\/li>\n<li><strong>\u907f\u514d\u8bef\u626b\u771f\u5b9e\u8d26\u6237\uff1a<\/strong> \u626b\u63cf SQL \u65f6\u4e0d\u8981\u4f7f\u7528 <code data-no-translation=\"\">shell<\/code> \u8fd9\u6837\u7684\u901a\u7528\u5173\u952e\u8bcd\uff0c\u5426\u5219\u4f1a\u8bef\u5224\u540d\u79f0\u4e3a Shelley\u3001Shelly\u3001Shellie \u7b49\u82f1\u6587\u540d\u7684\u5408\u6cd5\u7528\u6237\u8d26\u6237\u3002.<\/li>\n<li><strong>\u8054\u7cfb\u4e13\u4e1a\u670d\u52a1\uff1a<\/strong> \u5982\u679c\u5927\u578b\u7cfb\u7edf\u62e5\u6709\u591a\u4e2a\u590d\u6742\u670d\u52a1\u5668\uff0c\u8bf7\u4f7f\u7528\u4e13\u4e1a\u89e3\u51b3\u65b9\u6848 <a href=\"https:\/\/dps.media\/zh\/\">DPS.MEDIA \u7684 Digital Marketing \u670d\u52a1<\/a> \u5e76\u4f18\u5316\u57fa\u7840\u8bbe\u65bd\uff0c\u4ee5\u83b7\u5f97\u6700\u5168\u9762\u7684\u7cfb\u7edf\u5b89\u5168\u652f\u6301\u3002.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>2026 \u5e74\u5728 cPanel\u3001CyberPanel\u3001DirectAdmin \u591a\u53f0 WordPress \u670d\u52a1\u5668\u4e0a\u8bc6\u522b\u3001\u6392\u67e5\u5e76\u5f7b\u5e95\u6e05\u7406 wp2shell\uff08CVE-2026-63030\uff09\u6f0f\u6d1e\u7684\u6307\u5357\u3002.<\/p>","protected":false},"author":0,"featured_media":39909,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2261,1933,1204],"tags":[],"class_list":["post-39629","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","category-tech","category-wordpress-marketing"],"acf":[],"rankmath_keywords":{"primary":"L\u1ed7 h\u1ed5ng wp2shell WordPress","secondary":[""]},"yoast_keywords":{"primary":"","secondary":[]},"yoast_focuskw":"","rankmath_focuskw":"L\u1ed7 h\u1ed5ng wp2shell WordPress","seo_keywords":{"primary":"L\u1ed7 h\u1ed5ng wp2shell WordPress","secondary":[""]},"_links":{"self":[{"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/posts\/39629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/comments?post=39629"}],"version-history":[{"count":0,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/posts\/39629\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/media\/39909"}],"wp:attachment":[{"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/media?parent=39629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/categories?post=39629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/tags?post=39629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}