高リスクでThinkPHP5、リモートでコードが実行される脆弱性(添付:修復ソリューションをアップグレード)

脆弱性の説明

強制開放経路の不在下で得られた十分な安全性試験せずThinkPHP5フレームワーク、コントローラの名前ので、ハッカー設定特定の要求を直接GetWebShellすることができます。

脆弱性スコア

深刻

バージョンに影響を及ぼし

ThinkPHP 5.0シリーズ<5.0.23
ThinkPHPシリーズ5.1 <5.1.31

セキュリティバージョン

ThinkPHP 5.0シリーズ5.0.23
ThinkPHP 5.1シリーズ5.1.31

ThinkPHP5。*リリースのセキュリティアップデート

十分なテストを行わずにフレームコントローラ名が必須のルーティングが存在しない場合に可能なターンをもたらすことができるので、更新されたバージョンは、主に、セキュリティ更新プログラムに関連したgetshell影響を受けるバージョンを含む脆弱性、5.0そして5.1できるだけ早く最新バージョンにアップデートすることを推奨バージョン。

最新バージョンにアップデートする様々な理由、一時的にできなかった場合(互換性の問題がある可能性があり、以前のバージョンが最新バージョンにアップグレードし、最初のガイド部をアップグレード公式マニュアルを参照してください)

マニュアル訂正

バージョン5.1

parseURLをメソッドthinkphp /ライブラリ/ /ルート/派遣/ Url.phpクラスは、コントローラを解析すると思うプラス追加

 {|もし(!、$コントローラ)$コントローラ&&するpreg_match( '\)* $ / / ^ [A-ZA-Z](\ワット')
     'コントローラではないが存在する:' $コントローラー新しいHttpException(404を、投げます。 );
 }

 

バージョン5.0

メソッドの後ろに取得制御モジュールコードthinkphp /ライブラリ/考える/ App.phpクラスと

(もし!するpreg_match( 'W / ^ [A-ZA-Z](\ | \)* $ /'、$コントローラ)){
    スロー新しいHttpException(。404、 'コントローラではないが存在する:' $コントローラー);

}

 

アップグレードのフレームワーク

 

コード実行の作曲更新のルートディレクトリに

注意:この方法では、簡単にこのアップグレードの修理のように考える必要がある場合は特に、非互換性につながり、直接アップグレードを推奨されません、それが戻ってコードまで事前にお勧めします。

 

現在5.0のthinkphp最新バージョン(5.0.23)および5.1(5.1.31)は、この脆弱性を修正した、我々はあなたがプロジェクトの最新バージョンを使用することを示唆しています。

おすすめ

転載: www.cnblogs.com/wangluochong/p/11261774.html
おすすめ