ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Ruby On Ralis远程代码执行研究(CVE-2016-0752)

2021-02-16 22:35:21  阅读:158  来源: 互联网

标签:Ralis -- 视图 漏洞 代码执行 https 2016 Ruby 搭建


环境搭建参考:https://www.b1uew01f.net/learnnotes/tips/281.html

环境

1.什么是Ruby?

Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,上世纪90年代由一位日本人设计。

2.搭建

环境久远,现在Ruby的更新使得一些内容不支持,搭建成功的环境也可能无法复现漏洞

提示:不知道Ruby on Ralis环境运行方式的话,就无法从根本解析漏洞,因此环境还是需要搭建的

上面文章也有些微小的错误,且文章久远环境版本会出错,我搭建的步骤如下:

RVM安装环境

sudo gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 13E2069D6956105BD0E739499BDB
curl -L https://get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
rvm -v #查看版本

RVM安装Ruby环境

rvm install 2.4.2

或是自动安装

apt install ruby-full

设置默认版本

rvm 2.4.2 --default

安装bundler

  gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ #gem切换可用的源

  gem install bundler

安装Rails

gem install rails

随便新建一个文件夹进入,用以下命令创建一个应用

rails new hello_world_2

修改/hello_world_2文件夹下的/config/boot.rb文件,使得监听在 0.0.0.0 

启动web server,访问网页报错

解决办法,修改目录下Gemfile

然后

bundle update

访问ip:12345正常出现的网页:

创建名为“welcome”的控制器和一个名为“index”的动作

修改视图为任意网页内容,访问后可正常显示

漏洞的存在

参考乌云:https://wooyun.x10sec.org/static/drops/papers-12519.html

渲染机制

动态渲染路径的问题,控制器中的代码:

def show
  render params[:template]
end

对比自己的控制器:

渲染视图时,采用渲染 template 参数指定 view 模板,即会对目录下相关文件进行读取,像上面搭建视图时,读取的就是app/views/welcome/index.html.erb文件。

但是不同的是如果它无法找到文件,则会在RAILS_ROOT/app/viewsRAILS_ROOT和系统根目录中搜索能访问的文件。

因此我们可以读取主机上的敏感目录,如/etc/passwd

尝试在新版本的Ralis上新建一个控制器和视图文件

rails generate controller users dashboard

修改控制器

能正常访问

但是漏洞已经不存在,只能在老版本中操作,实际上漏洞也属于文件包含漏洞

此外当传入的URL包含恶意代码时可以执行想要的命令

<%%>之间可以写入服务器端代码

URL传入编码的参数

<%= \`ls\` %>

则会执行查看目录下文件,同理最终可以得到shell

标签:Ralis,--,视图,漏洞,代码执行,https,2016,Ruby,搭建
来源: https://www.cnblogs.com/echoDetected/p/14407748.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有