
PrimeFaces 5.x EL 주입(CVE-2017-1000486)에 대한 개념 증명(PoC) 익스플로잇
PrimeFaces 5.x EL 인젝션(CVE-2017-1000486)에 대한 개념 증명 익스플로잇으로, 대상에서 원격 코드 실행(RCE)을 획득하는 데 사용할 수 있습니다.
취약점에 대한 훌륭한 설명은 Minded Security 블로그에서 확인할 수 있습니다.
이 익스플로잇은 모든 중요한 매개변수를 출력하는 도움말 기능을 제공합니다
./primefaces.py --help
PrimeFaces 5.x EL injection exploit (CVE-2017-1000486) by MOGWAI LABS
=====================================================================
usage: primefaces.py [-h] [-t] [-e EXTENSION] url [payload]
PrimeFaces 5.x EL injection exploit
positional arguments:
url The target URL (http/https)
payload File with the JavaScript (Rino/Nashorn) code to
execute or OS command
optional arguments:
-h, --help show this help message and exit
-t, --test Test mode (off by default)
-e EXTENSION, --extension EXTENSION
Extension of the target (xhtml, jsf)
익스플로잇은 간단한 테스트 모드(-t 매개변수)를 제공하며, 이를 사용하여 대상이 실제로 취약한지 확인할 수 있습니다. 이 방식은 다음과 같은 EL 표현식을 대상에 전송하여 HTTP 응답에 추가 헤더 필드를 추가합니다. 그런 다음 익스플로잇이 해당 헤더를 확인합니다:
${facesContext.getExternalContext().setResponseHeader("MOGWAILABS","CHKCHK")}
실제 익스플로잇은 Java VM에 번들된 JavaScript 인터프리터를 호출하여 작동합니다. 이를 통해 JavaScript에서 임의의 Java 코드를 실행할 수 있습니다.
익스플로잇은 두 가지 예제 페이로드를 제공합니다:
참고로, 이 예제들 중 어느 것도 명령어의 출력을 제공하지 않습니다.