
CLI, die die PHP-Version einer Website oder eine lokale PHP-Binärdatei anhand eingebetteter Patch-Grenzwerte prüft, um den Status der php2shell-Schwachstelle zu bestimmen, mit JSON-Ausgabe und Exit-Codes.
Prüfen Sie eine Website oder eine lokale PHP-Binärdatei, um festzustellen, ob sie für php2shell anfällig ist.
Um beide Skills zu installieren, fragen Sie Codex:
$skill-installer install both skills from https://github.com/openai/php2shell-checker
Verwenden Sie phpcheck-server, wenn Sie Serverzugriff haben, oder phpcheck-url, wenn Sie nur eine URL haben:
$phpcheck-url check https://example.com
$phpcheck-server check the PHP version serving my site
Eine Website prüfen:
node phpcheck.js "https://example.com"
Die lokale CLI-PHP prüfen
node phpcheck.js --local
| Ergebnis | Exit-Code | Bedeutung |
|---|---|---|
OK | 0 | Stabile PHP-Patchversion oberhalb des eingebetteten Grenzwerts für einen aufgeführten Major-/Minor-Zweig. |
VULNERABLE | 1 | PHP-Version gleich oder unterhalb des eingebetteten Grenzwerts für diesen Zweig. |
UNKNOWN | 3 | Keine PHP-Version oder Antwort, eine nicht erkannte Version/ein nicht erkannter Zweig oder ein neuerer Prerelease-Build. |
Verwenden Sie --json für maschinenlesbare Ausgabe (patch_status ist ok, vulnerable oder unknown). Ungültige Argumente beenden das Programm mit Code 2.
node --test phpcheck.test.js
Die Tests führen die CLI gegen lokale HTTP-Server und eine gefälschte PHP-Executable aus. Es ist keine PHP-Installation und keine externe Website erforderlich.
Der Prüfer bewertet nur Versionen, die in HTTP-Antwortheadern oder durch php -v offengelegt werden. Er liest X-Powered-By und Server, sendet HEAD und greift nur dann auf GET zurück, wenn HEAD 405 oder 501 zurückgibt. Er folgt keinen Weiterleitungen und untersucht keine Antwortinhalte. Fehlende oder verborgene PHP-Header führen zu UNKNOWN.
OK ist ein Versionsvergleich, der auf der Annahme basiert, dass nachfolgende stabile Patches in jedem aufgeführten Zweig den Fix enthalten. Er verifiziert einen Sicherheitsfix nicht unabhängig. Prüfen Sie die Versionen gegen die offizielle PHP-Sicherheitsveröffentlichung. Header können verborgen oder verändert werden, und Distribution-Backports ändern möglicherweise nicht die Upstream-Version. UNKNOWN bedeutet nicht, dass das Ziel gepatcht ist!
OpenAI akzeptiert keine externen Code-Beiträge zu diesem Projekt. Fehlerberichte und Nicht-Code-Feedback sind über GitHub-Issues willkommen. Siehe CONTRIBUTING.md.
Dieses Projekt ist unter der Apache License 2.0 lizenziert.