>PHP 프레임워크 >ThinkPHP >thinkphp5.0 및 5.1의 getshell 취약점 기록

thinkphp5.0 및 5.1의 getshell 취약점 기록

藏色散人
藏色散人앞으로
2020-08-12 13:48:145249검색

다음은 thinkphpframework 튜토리얼 칼럼에서 thinkphp5.0과 5.1의 getshell 취약점을 소개한 내용입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

thinkphp5.0 및 5.1의 getshell 취약점 기록

그때 웹사이트가 만들어진지 며칠 안됐는데, 누구도 의도적으로 해서는 안되는 일이었는데, 편의상 오픈소스를 찾았습니다. thinkcmf 시스템을 설치하고 블로그를 만들었습니다. thinkcmf가 thinkphp5.0 프레임워크를 사용하여 개발되었기 때문에 꽤 좋습니다. thinkphp.cn에 가서 살펴보니 권한 상승 취약점이 있는 것으로 나타났습니다.

libaray/think/app.php 파일에 있는 모듈, 컨트롤러, 메소드는 /로 구분됩니다.

그러면 컨트롤러가 필터링되지 않으므로 다양한 기능을 구성하고 실행할 수 있습니다

thinkphp5.0 및 5.1의 getshell 취약점 기록

thinkphp5.0 및 5.1의 getshell 취약점 기록

thinkphp5.0 및 5.1의 getshell 취약점 기록

http://cmf.com

테스트를 위해 로컬에 가상 호스트를 구축했습니다. URL에 액세스하면 phpinfo:

http://cmf.com/index.php?s=portal/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

thinkphp5.0 및 5.1의 getshell 취약점 기록

를 직접 인쇄할 수 있습니다. 그런 다음 phpinfo를 file_put_content 함수를 사용하여 다양한 말레이시아 및 조랑말 파일을 생성하는 등의 다른 기능으로 대체할 수 있습니다.

TP 5.0을 복구하는 공식 방법은 다음과 같습니다.

thinkApp类的module 방법에서 컨트롤러를 얻는 코드 뒤에

if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}

를 추가합니다. 제가 사용한 thinkcmf 버전은 ThinkCMF 5.0.180901

그런 다음 공식을 살펴보았습니다. thinkcmf 홈페이지 5.0.190111로 업데이트 되었습니다. 최신 버전인 tp5.0도 보안 업데이트가 포함된 최신 버전인 5.0.24로 업데이트 되었습니다. 물론 이런 권한 상승 취약점은 없습니다.

위 내용은 thinkphp5.0 및 5.1의 getshell 취약점 기록의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제