[WEB] Webシェル攻撃とcreate_function関数の脆弱性
PLURA
Webシェル(Webshell)の概要
Webシェル(Webshell)とは、Webサーバーにアップロードされることで、攻撃者がリモートからサーバーを制御できるようにする悪意のあるスクリプトです。これにより、サーバーのファイルシステムにアクセスし、コマンドを実行することが可能になります。
主な機能:
- ファイル管理: アップロード、ダウンロード、編集、削除
- コマンド実行: サーバー上でのシェルコマンド実行
- ネットワーク活動: 悪意のあるコードの拡散や他のシステムへの攻撃
- データベースアクセス: 機密情報の流出
Webシェルの実行/分析情報
分析情報:
- MD5:
3cd5c4352b1379bd789ab3de7b76a196
- SHA-1:
3a728d71ac418a906f9db78ba3fa935736eb02c9
- SHA-256:
ec04ce68129b58837f0b7b720f9dcb453d840f051ef9d1e2f7d197abf4167384
[画像1] VirustotalによるWebシェル分析結果
create_function関数の脆弱性
create_function関数は、PHPで匿名関数(Anonymous Function)を生成する機能を提供します。しかし、この関数はセキュリティ上の脆弱性が指摘されており、次第に使用が非推奨となりました。
PHPバージョン別の動作:
-
PHP 4.0.1 ~ 7.1.x
- 正常に使用可能。
-
PHP 7.2.0 ~ 7.4.x
create_function()
は非推奨(deprecated)となり、警告メッセージが表示されますが、関数は引き続き実行可能です。- 出力例:
Deprecated: Function create_function() is deprecated in /path/to/file.php on line 2
-
PHP 8.0以降
- 関数が完全に削除され、実行時にFatal Errorが発生します。
- 出力例:
Fatal error: Uncaught Error: Call to undefined function create_function() in /path/to/file.php:2
対応方法
PHPのバージョンを最新にアップデートすることは、セキュリティとパフォーマンスを強化するために必須です。特に、create_function関数の脆弱性を回避するためには、最新バージョンの使用が推奨されます。
最新バージョンアップデートのメリット:
- セキュリティ強化: Webシェル攻撃や脆弱性の防止。
- パフォーマンス向上: Webアプリケーションの応答速度を最適化。
- 新機能の提供: 最新の文法や機能を活用可能。
そのため、PHP 8.0以降にアップデートすることで、セキュリティとパフォーマンスを維持し、Webシェルのような攻撃からシステムを保護できます。