首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CVE-2019-5418:Ruby on Rails路径穿越与任意文件读取复现

本文作者:mai-lang-chai(Timeline Sec新成员) 本文共676字,阅读大约需要2分钟 0x00 简介 ---- Ruby on Rails是一个 Web 应用程序框架,是一个相对较新...Web 应用程序框架,构建在 Ruby 语言之上。...0x01 漏洞概述 ---- 这个漏洞主要是由于Ruby on Rails使用了指定参数render file来渲染应用之外视图,我们可以通过修改访问某控制器请求包,通过“../../../../...”来达到路径穿越目的,然后再通过“{{”来进行模板查询路径闭合,使得所要访问文件被当做外部模板来解析。...修改Accept参数为任意文件地址,如: ../../../../../../etc/passwd{{ ? ? 其他利用方法,使用msf中攻击模块: ? ?

1.8K10

sudo命令linux系统管理者身份执行指令

sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行操作,而不需要知道 root 密码。 sudo 允许一个已授权用户超级用户或者其它用户角色运行一个命令。...默认安全策略记录在 /etc/sudoers 文件中。而安全策略可能需要用户通过密码来验证他们自己。也就是在用户执行 sudo 命令时要求用户输入自己账号密码。...SHELL 所指定shell ,或是 /etc/passwd 里所指定 shell command 要以系统管理者身份(或以 -u 更改为其他人)执行指令 参考实例 切换到root用户: [root...@linux ~]# sudo su 指定用户执行命令: [root@linux ~]# sudo -u userb ls -l root权限执行上一条命令: [root@linux ~]# sudo...列出目前权限: [root@linux ~]# sudo -l 列出 sudo 版本资讯: [root@linux ~]# sudo -V

52620
您找到你想要的搜索结果了吗?
是的
没有找到

如何在Ubuntu 18.04上使用RVM安装Ruby on Rails

,例如/tmp目录,然后将RVM脚本下载到一个文件中: cd /tmp 我们将使用该curl命令项目的网站下载RVM安装脚本。...引导命令反斜杠确保我们使用常规curl命令而不是任何已更改别名版本。 我们将附加-s标志指示该实用程序应该以静默模式与-S标志一起操作覆盖其中一些允许curl在失败时可以输出错误。...安装完成后,安装目录中获取RVM脚本,这些脚本通常位于您home/username目录中。...就像我们使用RVM脚本一样,我们可以移动到可写目录,通过将Node.js脚本输出到文件来验证它,然后使用less来读取它: cd /tmp \curl -sSL https://deb.nodesource.com...现在我们可以更新apt并使用它来安装Node.js: sudo apt update sudo apt install -y nodejs 此时,您可以开始测试Ruby on Rails安装并开始开发Web

8.8K00

使用Capistrano,Nginx和Puma在Ubuntu 14.04上部署Rails应用程序

准备 要学习本教程,您必须具备以下条件: Ubuntu 14.04 x64 具有sudo权限deploy命名非root用户 Rails应用程序托管在可以部署远程git存储库中 (可选)为了提高安全性...警告:禁用root登录后,请确保您可以作为部署用户SSH连接到服务器,并在关闭您打开root SSH会话进行这些更改之前为该用户使用sudo。 本教程中所有命令都应以deploy用户身份运行。...更新包索引文件: deploy@droplet:~$ sudo apt-get update 然后,安装Nginx: deploy@droplet:~$ sudo apt-get install curl...我们首先安装Rails gem,它将允许你Rails应用程序运行,然后我们将安装bundler,它可以读取应用程序Gemfile并自动安装所有必需gem。...例如,将创建一个名为testapp_rails目录。 我们只是克隆检查我们部署密钥是否正常工作,每次推送新更改时我们都不需要克隆或拉取我们存储库。

4.9K40

如何在Ubuntu 14.04上使用Puma和Nginx部署Rails应用程序

介绍 当您准备部署Ruby on Rails应用程序时,需要考虑许多有效设置。...由于Puma不是为用户直接访问而设计,因此我们将使用Nginx作为反向代理,缓冲用户与Rails应用程序之间请求和响应。...准备 本教程假定您将在部署应用程序用户上安装了安装了以下软件Ubuntu 14.04服务器: 使用rbenv安装Ruby on Rails PostgreSQL与Rails 我们假设您用户名为deploy...我们将使用vi: vi .rbenv-vars 您在此处设置任何环境变量都可以由Rails应用程序读取。...我们现在创建并编辑该库存文件sudo vi /etc/puma.conf 此文件每一行都应该是您要puma-manager管理应用程序路径。立即将路径添加到您应用程序。

5.3K10

在Debian 9上使用Apache安装Ruby on Rails

什么是Ruby on RailsRuby on Rails是一个服务器端Web应用程序框架。它维护了一组策划组件和“约定优于配置”理念,使得我们可以快速开发应用程序而无需大量样板。...在你开始之前 熟悉我们入门指南并完成设置Linode主机名和时区步骤。 本指南将尽可能使用sudo。完成“ 保护您服务器 ”部分创建标准用户帐户,加强SSH访问并删除不必要网络服务。...apache2-doc apache2-utils 复制默认站点配置文件sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2...nodejs 安装Ruby on Rails 使用Rubygems包管理器安装Rails: gem install rails --version=5.1.4 将您Rails应用程序移动到您Linode...将路径替换为您Rails应用程序,Ruby解释器路径(来自上一步),主机名或IP地址以及必要时任何其他信息。

5.8K30

使用SSH隧道保护三层Rails应用程序中通信

Ruby on Rails应用程序中,它可以轻易地映射到表示层Web服务器,应用程序层Rails服务器和数据层数据库。... app-server 上 sammy 用户开始,切换到在第一步中创建 tunnel 用户: sammy@app-server$ sudo su tunnel 使用以下标志和选项运行ssh命令,在...保存并关闭该文件,然后重新加载systemd配置确保它获取新服务文件: sammy@app-server$ sudo systemctl daemon-reload 启用db-tunnel服务,以便在...重新加载systemd,以便它读取服务文件,然后启用并启动app-tunnel服务: sammy@web-server$ sudo systemctl daemon-reload sammy@web-server...在Web浏览器中访问 Web服务器 公共IP查看其运行情况: http://web-server_public_IP/tasks 结论 通过本教程,您已经在三层体系结构上部署了Rails应用程序,并保护了

5.6K30

如何在Ubuntu上使用Passenger安装Rails和nginx

您可以作为具有sudo权限用户在Ubuntu服务器上运行本教程。没有服务器用户可以购买和使用腾讯云服务器或者直接在腾讯云实验室Ubuntu服务器上机安装Rails和Nginx 。...第一步,使用RVM安装Ruby 在我们做任何其他事情之前,我们应该进行快速更新,确保我们下载到虚拟服务器所有软件包都是最新sudo apt-get update 完成后,我们就可以开始在Ubuntu...Passenger为用户提供自动设置或自定义设置之间选择。按1并输入选择推荐简易安装。...完成后,它将告诉您有关对nginx配置文件所做更改以及如何在虚拟服务器上部署Ruby on Rails应用程序。 最后一步是启动nginx,因为它不会自动执行。...第八步,将Nginx连接到您Rails项目 安装rails后,打开nginx配置文件 sudo nano /opt/nginx/conf/nginx.conf 将root设置为新rails项目的公共目录

3.5K40

Gitlab CE 8.1.3 安装手册(DebianUbuntu)

如果系统上存在旧Ruby1.8,先删除掉: sudo apt-get remove ruby1.8 下载Ruby源码,编译安装: mkdir /tmp/ruby && cd /tmp/ruby # 这里替换官方文档下载地址为...://rubygems.org https://gems.ruby-china.org/ 3.Go Gitlab8.0开始,GitHTTP请求由gitlab-git-http-server来处理。...# 配置redis使用socket来监听 sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig # 把'post'设置为0禁止监听TCP..."双引号" sudo -u git -H editor config/database.yml # PostgreSQL MySQL都适用: # 修改database.yml权限,确保git用户可以读取文件...RAILS_ENV=production # 默认情况下,gitlab-shell配置是根据Gitlab配置生产. # 你可以运行下面的命令查看和修改gitlab-shell配置: sudo

1.6K50
领券