Thinkphp5.0.0~5.0.23 버전 원격 코드 실행 빈틈으로 사이트 폐쇄
목마에는 다음 코드가 포함되어 있습니다.
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')]);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.