攻击者是如何利用SSRF漏洞读取本地文件并滥用AWS元数据的

栏目: 编程工具 · 发布时间: 5年前

内容简介:漏洞简介首先,我抓取并手动执行了该应用程序上的所有用户操作。之后,我通过burp检查了http历史记录中的所有的请求,坦率的说我当时想要挖掘url重定向漏洞。所以,我通过Burp搜索了url=所有可能的参数,并最终发现了一个如下所示的网址:https://example.com/viewimage/?url=AWS图像位置(该图像存储在AWS,所以需要从这里加载)

漏洞简介

首先,我抓取并手动执行了该应用程序上的所有用户操作。之后,我通过burp检查了http历史记录中的所有的请求,坦率的说我当时想要挖掘url重定向漏洞。所以,我通过Burp搜索了url=所有可能的参数,并最终发现了一个如下所示的网址:

https://example.com/viewimage/?url=AWS图像位置(该图像存储在AWS,所以需要从这里加载)

实际上,这个端点就是用来加载我长传到网站上的图像的,而我的图像是存储在aws存储桶中的。很明显,既然它要加载内容,那为什么不从其他域加载内容呢?试试RFI如何?

下面是我所采取的具体步骤:

尝试XSS(可惜失败了)

首先,我尝试挖掘一个XSS漏洞。为此,我参阅了关于挖掘XSS漏洞的文章。我的做法就是在网址中添加http://brutelogic.com.br/poc.svg。 所以,最终制作出来的网址变成https://example.com/viewimage/?url=http://brutelogic.com.br/poc.svg。 之后,我访问了该网址,但它并没有加载内容,而是下载了一个简单的文本文件,不过该文件内并没有任何内容。

尝试读取本地文件(成功了)

接下来,我尝试通过URL模式来读取内部数据并让服务器执行某些操作(如file:///、dict://、ftp://、gopher://等)。所以,最终制作出来的网址为https://example.com/viewimage/?url=file:///etc/passwd。

然后,又下载了一个文本文件:

攻击者是如何利用SSRF漏洞读取本地文件并滥用AWS元数据的

当我检查下载的文本文件时,对于其中的内容倍感惊讶:这分明就是etc/passwd文件的内容。

攻击者是如何利用SSRF漏洞读取本地文件并滥用AWS元数据的

现在,既然发现这个网站会加载来自AWS的图像,那么为什么不设法提取内部的AWS元数据呢?

读取AWS EC2元数据

为了对url参数进行相应的修改,需要查看当前运行实例中所有类别的实例元数据,为此,可以借助于下列URI:

http://169.254.169.254/latest/meta-data

所以,最终精心设计的URL变为https://example.com/viewimage/?url=Location。

之后不出所料,它再次下载了一个文本文件,该文件内容如下所示:

攻击者是如何利用SSRF漏洞读取本地文件并滥用AWS元数据的

接下来,我们将尝试读取更为机密的信息,具体方法如下所示:

http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role

这样,我们就能读取秘密访问密钥、令牌等机密信息了。之后,将这些信息导出后,就可以通过AWS客户端访问……这个,你们懂的。

简单来说,利用这里的安全权限,我们就可以通过SSRF漏洞实现RCE了。

获取私有访问秘钥等登陆凭证后进一步渗透测试的详细介绍,请参阅https://www.notsosecure.com/exploiting-ssrf-in-aws-elastic-beanstalk/。

另外,该漏洞我已经提交了相关部门,并且现在已经得到了修复,同时,我还收到了4位数的奖金。希望本文对大家有所帮助!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编程语言实现模式

编程语言实现模式

Terence Parr / 李袁奎、尧飘海 / 华中科技大学出版社 / 2012-3-20 / 72.00元

《编程语言实现模式》旨在传授开发语言应用(工具)的经验和理念,帮助读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通......一起来看看 《编程语言实现模式》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具