Thinkphp5.0.0~5.0.23 버전 원격 코드 실행 빈틈으로 사이트 폐쇄

5420 단어
최근 여러 Thinkphp5가 개발한 사이트가 도마에 걸려서 첫 페이지가 왜곡되고 다른 페이지가 정상적으로 방문하지 못하는 상황이 발견되었다.
목마에는 다음 코드가 포함되어 있습니다.
define('Viv,bebegim.','Denzel-너의 영웅');검사를 통해 이 공격들은 Thinkphp5를 이용했다.0.0~5.0.23 버전에서 코드를 원격으로 호출하는 빈틈이 있는 getshell입니다.
빈틈의 상세한 원리는 다음과 같다.https://seaii-blog.com/index.php/2019/01/14/88.html
Thinkphp5 공식 보안 업데이트 버전: ThinkPHP5.버전 0.24 - 보안 업데이트
빈틈 버전을 사용하는 개발자들은 가능한 한 빨리 5.0.24 버전 및 이상으로 업데이트해 주십시오.
최신 버전으로 업데이트하기 어려운 경우 다음과 같이 최신 버전의 Request 클래스 method 방법을 사용하여 수동으로 수정할 수 있습니다.
/thinkphp/library/think/Request를 엽니다.php 파일, method 방법(약 496줄)을 찾아 다음 코드를 수정합니다.
$this->method = strtoupper($_POST[Config::get('var_method')]);
$this->{$this->method}($_POST);

다음으로 변경:
$method = strtoupper($_POST[Config::get('var_method')]);
if (in_array($method, ['GET', 'POST', 'DELETE', 'PUT', 'PATCH'])) {
    $this->method = $method;
    $this->{$this->method}($_POST);
} else {
    $this->method = 'POST';
}
unset($_POST[Config::get('var_method')]);

좋은 웹페이지 즐겨찾기