
ウェブサイトまたはローカルの PHP バイナリをチェックし、php2shell に対して脆弱かどうかを確認します。
両方のスキルをインストールするには、Codex に次のように依頼します:
$skill-installer install both skills from https://github.com/openai/php2shell-checker
サーバーへのアクセスがある場合は phpcheck-server を、URL しかない場合は phpcheck-url を使用します:
$phpcheck-url check https://example.com
$phpcheck-server check the PHP version serving my site
ウェブサイトをチェックする:
node phpcheck.js "https://example.com"
ローカルの CLI PHP をチェックする
node phpcheck.js --local
| 結果 | 終了コード | 意味 |
|---|---|---|
OK | 0 | 一覧にあるメジャー/マイナーバージョンのブランチについて、埋め込みのカットオフより上の安定版 PHP パッチバージョン。 |
VULNERABLE | 1 | そのブランチの埋め込みカットオフ以下である PHP バージョン。 |
UNKNOWN | 3 | PHP バージョンまたはレスポンスがない、認識できないバージョン/ブランチ、またはより新しいプレリリースビルド。 |
機械可読な出力には --json を使用します(patch_status は ok、vulnerable、または unknown)。無効な引数は終了コード 2 で終了します。
node --test phpcheck.test.js
テストはローカルの HTTP サーバーと偽の PHP 実行ファイルに対して CLI を実行します。PHP のインストールや外部ウェブサイトは必要ありません。
チェッカーは、HTTP レスポンスヘッダーで公開されているバージョン、または php -v によって示されるバージョンのみを評価します。X-Powered-By と Server を読み取り、HEAD を送信し、HEAD が 405 または 501 を返した場合にのみ GET にフォールバックします。リダイレクトを追跡したり、レスポンスボディを検査したりはしません。PHP ヘッダーが欠落しているか隠されている場合は UNKNOWN を返します。
OK は、一覧にある各ブランチの後続の安定版パッチに修正が含まれているという前提に基づくバージョン比較です。セキュリティ修正を独立して検証するものではありません。公式の PHP セキュリティリリースに対してバージョンを確認してください。ヘッダーは隠されたり変更されたりする可能性があり、ディストリビューションのバックポートはアップストリームのバージョンを変更しない場合があります。UNKNOWN は対象がパッチ適用済みであることを意味しません!
OpenAI はこのプロジェクトへの外部からのコードコントリビューションを受け付けていません。バグ報告およびコード以外のフィードバックは GitHub issues を通じて歓迎します。CONTRIBUTING.md を参照してください。
このプロジェクトは Apache License 2.0 の下でライセンスされています。