ssrf例题分析

news2024/9/21 20:50:06

我们第一步先在ubuntu中解压web-ssrfme.zip,更新镜像后重启容器。

我们可以看到代码中成功拉取到ssrfme镜像

ig(preg_match('/file\:\/\/|dict\:\/\/.|\.\.\/|127.0.0.1|localhost/is',$url,$match))

16703fc1f9424a6aa54dcf29f1beb232.jpeg

使用端口访问文件,发现无法探测内网端口,我们通过phpinfo条件。

890b51f5c5bd4c6d93402ed9f68377d3.jpeg

我们随机给info赋值,可以观察到hostname主机和端口,而172.21.0.3可以绕过127.0.0.1这个条件,则可以在此地址上进行测试,通过不断的改变端口值,唔,或者我们有更好的法子,可以使用burpsuite去检测。

c4edf63660694669ab7dd906b8927854.jpeg

使用$$检测

50b6aad584b3477482ff8ad4b37f03b8.jpeg

设置检测端口1-1000

431f1739ba264a33b03da5d1cb7659e9.jpeg

发现只开放了一个80端口,猜测有可能只开了一个服务器,我们扫描一下附近的服务器

a37b7cf13825414ea9741ec77e3e822f.jpeg

我们发现只有0.2出现Go away1,对其进行抓包发现开放了6379和80端口

2e845be88dbf49f1b976ee196ff27eef.jpeg

发现端口后,我们来猜测一下它存放的地址,先试试默认的/var/www/html/

f85411c7838940d7b98a57a3c438bd35.jpeg

8612972d497545ada35035d87fff9489.jpeg 

5cf0cf60a1fe424395a14def100b579f.jpeg

我们发现upload有可执行权限,可以通过这个目录去访问。我们用字典去试一下文件名。

我们写一个txt文档,试一下可能的情况

6515c8fd30a24d01a41403767ccb8390.jpeg

然后我们加载在路径下,判断长度是否一致,若长度一致,就说明有这个文件

baf72ef5ecbf4a3284184695d2204b23.jpeg

获取到shell后,粘到路径里

4e68fb4a3c674ed5b1defa4b0149aaeb.jpeg

很快就结束了,说明一次解码不成功

5b2913258b114373a0f61e9815a48096.jpeg

再进行二次编码

6d2deedacc1e4f63867061d3f22abea4.jpeg

执行过程中,创建一个shell.php

读取flag

9691ed0cdb394935bd895bce8474ce13.jpeg

 结束

 

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

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

相关文章

【Linux系列】SH 与 BASH 的区别:深入解析与使用案例

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Leetcode JAVA刷刷站(93)复原IP地址

一、题目概述 二、思路方向 为了解决这个问题,我们可以使用回溯算法。回溯算法在这里非常适用,因为我们需要尝试在字符串中的不同位置插入点(.)来分割出可能的IP地址段,并且需要验证每个段是否满足条件(即…

如何使用ssm实现铁岭河医院医患管理系统+vue

TOC ssm077铁岭河医院医患管理系统vue 系统概述 进过系统的分析后,就开始记性系统的设计,系统设计包含总体设计和详细设计。总体设计只是一个大体的设计,经过了总体设计,我们能够划分出系统的一些东西,例如文件、文…

从web.xml动态读取sunspringmvc.xml文件

文章目录 1.问题分析1.SunWebApplicationContext.java 中sunspringmvc.xml是写死的2.但是web.xml已经配置了init-param,所以应该是可以读取的 2.具体实现1.SunDispatcherServlet.java 得到ServletConfig传递给Spring容器完成初始化2.SunWebApplicationContext.java …

C_03 函数学习

函数 优点: 降低代码耦合度降低代码冗余度提高代码复用率提高代码可读性 思想: 封装【包装】 声明: 语法: extern 函数名(形参列表);// 注意:此时 形参列表中变量名可以忽略不写;定义&#xff1…

2024.8.26

一、对于第三模态加入对于模型性能的影响 yes/no other num 尝试通过 1、删去第一次反向传播时第三模态的梯度更新 (1)第三次反向传播会再进行一次更新 (2)阻止模型频繁的学习训练样本 2、取消第三模态共享头部更新时的权重修正&…

Vue.js实战教程:如何一步步构建HSK在线学习平台

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

3ds Max 2025新增功能、安装教程及下载

3ds Max 2025 引入了一些新的功能和改进,提升了建模、动画和渲染的效率: 增强的建模工具:增加了新的多边形建模和修改器工具,支持更复杂的几何形状和更高效的建模流程。 改进的材质和渲染:引入了新的材质类型和改进的…

05.C++类和对象(下)

1.再探构造函数 • 之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有一种方式,就是初始化列表,初始化列表的使用方式是以一个冒号开始,接着是一个以逗号分隔的数据成员列表&#xff0c…

基于springboot+vue+uniapp的短文写作竞赛管理系统小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

Maven的配置文件pom.xml标签详解(含常用plugin)

一、什么是pom.xml pom.xml是Maven项目的核心配置文件,它是 项目对象模型 - Project Object Model(POM) 的缩写。POM定义了项目的所有属性,包括项目的名称、版本、依赖关系、构建配置等。使用pom.xml,我们可以轻松地管…

pwm子系统

一、系统框架 内核的PWM core,向下对实际pwm控制器驱动,提供了pwm_chip,soc厂商编程控制器驱动,只需注册结构体,配置好private_data,实例化pwm_ops操作,编写具体函数即可。 向上为其他驱动调用提供了统一的…

【Toyota】 Avalon

文章目录 1、外观2、内饰3、2024 款配置对比2024 2.0L CVT 进取版 vs 2024 2.0L CVT 臻选版2024 2.0L CVT 臻选版 vs 2024 2.0L CVT 豪华版2024 2.0L CVT 臻选版 vs 2024 智能电混双擎 2.0L E-CVT 臻选版 (纯油 vs 油电混)2024 智能电混双擎 2.0L E-CVT …

appium学习记录

免责声明 本文内容仅供参考,将appuim与爬虫技术相结合可能违反某些app的使用条款和法律法规。作者不对因此产生的法律问题或技术风险负责。建议读者在进行爬取操作前,充分了解相关法律法规并确保合规。 1、初识appium 背景:部分APP需要反编译…

云计算第二阶段---DBA Day05-DAY07

DBA Day05 这周的内容涉及到的是各类数据库的服务配置与数据的备份与恢复操作. 环境准备: 设置 ip 地址 和主机名 安装mysql,mysql-server --->启动 yum -y install mysql mysql-server #装mysql环境包 systemclt start mysqld #启动服务 exit …

hackit 2018

源代码 const express require(express) var hbs require(hbs); var bodyParser require(body-parser); const md5 require(md5); var morganBody require(morgan-body); const app express(); var user []; //empty for nowvar matrix []; for (var i 0; i < 3; …

PySide6入门教程之六 | Main Window、Widge、Dtialog三大类型窗口的使用

前言 PySide6 是用于Python的一个跨平台GUI库&#xff0c;它提供了Qt框架的Python绑定。在PySide6中&#xff0c;QMainWindow,QWidget, 和 QDialog 都是非常常用的类&#xff0c;它们各自有特定的应用场景和功能。 &#x1f680;&#x1f680;&#x1f680; Pyside6实战教程专…

存储与传输/大小端字节序的概念、决定因素、给编程带来的困扰

文章目录 概述大小端分歧的类比为什么要关注字节序NET网络字节序什么时候必须转换字节序大小端字节序哪个优秀判断系统字节序类型字节序类型转换大小端内存监视和调试 谁决定了大小端模式CPU架构决定大小端操作系统影响大小端&#xff1f;编译器也影响大小端&#xff1f;可配置…

kafka发送消息-分区策略(消息发送到哪个分区中?是什么策略)

生产者发送消息的分区策略&#xff08;消息发送到哪个分区中&#xff1f;是什么策略&#xff09; 1、默认策略&#xff0c;程序自动计算并指定分区1.1、指定key&#xff0c;不指定分区1.2、不指定key&#xff0c;不指定分区 2、轮询分配策略RoundRobinPartitioner2.1、创建配置…

3.4-CoroutineScope/CoroutineContext:coroutineScope() 和 supervisorScope()

文章目录 coroutineScope()supervisorScope()总结 coroutineScope() coroutineScope() 和我们创建协程时的 CoroutineScope 名字是相同的&#xff0c;实际上它们也确实有所关联&#xff0c;为了方便理解我们先说下 coroutineScope() 是怎样的效果。 我们在使用 coroutineScop…