Ruby On Rails是一个著名的Ruby Web开发框架,它在开发环境中使用Sprockets作为静态文件服务器。Sprockets是一个Ruby库,用于编译和分发静态资源文件。
  
  
   
    因为对
    
     ..
    
    做了过滤,且当前环境存在二次编码,我们对
    
     ../
    
    中的
    
     ..
    
    进行二次编码
   
   
    
     ..
    
    第一次转码:
    
     %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/来跨越到...