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/来跨越到...