| 开发者 | eyesecurity |
|---|---|
| 更新时间 | 2026年7月20日 17:10 |
| PHP版本: | 7.2 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv3 or later |
| 版权网址: | 版权信息 |
author__not_in SQL injection), widely referred to as wp2shell.
It inspects the database and the plugin directory for artifacts the exploit leaves behind — even when the attacker cleaned up afterwards — and presents a scored verdict on its own admin screen. It does not change anything on your site, and it does not fix the vulnerability. To close the hole, update WordPress core.
What it checks (each weighted by severity):
oembed_cache entries that loop back to your own site, that number exactly three, or that were created around the disclosure date (the exploit uses oembed rendering as a write primitive).customize_changeset entries created since disclosure.wp2_ login prefix and @wp2shell.invalid email used by public exploit code, and non-founder administrator accounts created since disclosure.wp2shell_*.oembed_cache, customize_changeset, suspect posts, suspect users (exploit-default logins/emails and new administrators; never password hashes), orphaned usermeta and changed plugin files, plus LOG-COLLECTION-GUIDE.txt listing the server-side logs to gather by hand (the plugin cannot read those itself). If the server lacks the PHP zip extension, a single JSON file with the same data is downloaded instead. The export is generated on the fly and stores nothing on the site.
This is a focused, single-purpose tool. It is best-effort: matched checks are not proof of a breach on their own, and an all-clear result is not a guarantee. Do not act on this quick check alone — verify matched checks with your webmaster, consider a proper investigation (server and access logs, file integrity) if anything is unexplained, and treat reinstalling WordPress as a last resort. It complements, and does not replace, updating core and a professional investigation.
No. It only reads the database and lists files in the plugin directory. It never creates, edits, or deletes posts, users, options, or files (other than removing itself when you click the self-destruct button).
No. It only detects artifacts. Update WordPress core to a fixed version (6.8.6 / 6.9.5 / 7.0.2 or later) to close the vulnerability.
That can happen — for example, three recent legitimate embeds, or an administrator you onboarded recently, can match individual checks. The verdict is a weighted score across many indicators; review each detected item against your own records.
It means no known wp2shell artifacts were found. A careful attacker can remove traces, and other attacks leave different evidence, so treat "Clean" as reassuring but not conclusive.
oembed_cache, customize_changeset, suspect posts, suspect users (exploit-default logins/emails and new administrators; never password hashes or session tokens), orphaned usermeta, user-ID accounting, and changed plugin files — and a LOG-COLLECTION-GUIDE.txt explaining which server-side logs to collect by hand. Because the exploit hides its SQL injection and admin creation in a request body that web servers do not log, these database rows are the primary evidence. Rows and content excerpts are capped so the archive stays reviewable. Falls back to a single JSON download when the PHP zip extension is missing. The archive is built in a temporary file removed in the same request — the plugin still changes nothing on the site.