4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHP2Shellのバージョン確認ツール

4
Posted at

タイトルの通りです。

外側から確認できる内容をチェックしているだけなので、
サーバーの設定によってはチェックできない項目もあります

チェック内容

PHP2Shell

チェック内容 チェック対象
PHPバージョンを修正版(8.2.35 / 8.3.36 / 8.4.27 / 8.5.12)と照合、8.1以前は修正なしと判定 以下の1章・2章で見つかったPHPバージョンすべて

1. バージョン露出

チェック内容 チェック対象
PHPバージョンが表示されているか X-Powered-By ヘッダー
ソフトウェアのバージョンが表示されているか Server ヘッダー
トップページと違うPHPバージョンが出ていないか ページ内のフォーム送信先・.php・/api/ のURL(最大5件)
サーバー署名(Apache/2.4.xx Server at ...)が出ていないか 存在しないURLで返る404ページ
ディストリのビルド表記(-1ubuntu2.xx など)があるか 見つかったPHPバージョン

2. 置き忘れファイル・情報漏えい

チェック内容 チェック対象
phpinfo() のページが表示されないか /phpinfo.php /info.php /test.php /php.php /i.php
Apacheのステータスページが外から見えないか /server-status /server-info
環境変数・設定ファイルが読めないか(値は伏せて表示) /.env /config.php.bak /config.php~ /wp-config.php.bak
Gitリポジトリが公開されていないか /.git/HEAD
依存ライブラリの情報が読めないか /composer.json /composer.lock /vendor/composer/installed.json
ファイル一覧(Index of)が出ないか /uploads/ /backup/ /vendor/
管理ページがログインなしで見えないか(Moodle を検出したときだけ) /admin/phpinfo.php /admin/environment.php

3. エラー表示・設定の露出

チェック内容 チェック対象
PHPエラー(Warning / Fatal error と内部パス)が表示されないか 入力URLの最初のパラメータを配列化したURL(?id[]=1、1回だけ)、トップページ、404ページ
スタックトレースが出ないか 404ページ、配列化したURL
SQL文やDBエラーが出ていないか(クォートは送らない) 取得済みのページ
TRACE / PUT / DELETE が許可されていないか OPTIONS リクエストの Allow ヘッダー

4. セッション・Cookie

チェック内容 チェック対象
Secure / HttpOnly / SameSite が付いているか Set-Cookie ヘッダー(PHPSESSID などのセッションCookie)
URLやフォームにセッションIDが付いていないか ページ内のリンク、フォームの hidden 項目、リダイレクト先

5. CMS/LMS/ライブラリのバージョン

チェック内容 チェック対象
バージョン付きの製品名が出ていないか <meta name="generator">
WordPress のバージョンとユーザー一覧が読めないか /readme.html、?ver=、/wp-json/、/wp-json/wp/v2/users
WordPress プラグインのバージョンが読めないか /wp-content/plugins/<名前>/readme.txt(最大8件)
Moodle のバージョン(4.5未満はサポート終了と判定) ページ内の docs.moodle.org/405/ などのリンク
jQuery が 3.5 未満でないか、ほかのJSライブラリのバージョン <script src> のファイル名、jQuery ファイル先頭のバージョン表記
使用しているPHPライブラリの一覧(読めること自体が問題) 2章で読めた composer.lock

6. 通信・HTTPヘッダー全般

チェック内容 チェック対象
http で開いたとき https へ転送されるか http:// のトップページ
HSTS があり、max-age が180日以上か Strict-Transport-Security
クリックジャッキング対策があるか X-Frame-Options、CSP の frame-ancestors
MIMEスニッフィング対策があるか X-Content-Type-Options: nosniff
CSP があり、unsafe-inline / unsafe-eval を含まないか Content-Security-Policy
証明書が有効で期限が近くないか、TLS 1.0/1.1 が無効か 443番ポートの TLS 接続
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?