SSRF漏洞详解与利用

news/2024/5/15 10:01:44/文章来源:https://blog.csdn.net/weixin_40228200/article/details/128265826

今天继续给大家介绍渗透测试相关知识,本文主要内容是SSRF漏洞详解与利用。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、SSRF漏洞简介

SSRF漏洞,即Service-Side Request Forgery,服务端请求伪造。SSRF漏洞产生于服务器端,攻击者可以利用SSRF漏洞,冒充服务器发起请求。这样一来,收到攻击的服务器就称为了攻击者的跳板或中间人,从而被攻击者利用。
SSRF漏洞攻击流程如下图所示:
在这里插入图片描述
SSRF漏洞通常产生于服务器提供的访问其他外部应用的场景,这些场景通常由分享、转码、翻译、图片的分布与下载、图片文章等收藏以及未公开的API等。这些功能如果没有对用户的输入进行严格的过滤,就可能导致SSRF漏洞。
SSRF漏洞与CSRF漏洞不同,CSRF漏洞在于攻击者冒充访问服务器的用户,而服务器没有对用户发送的身份信息进行验证,过度的相信了cookie的作用,而SSRF漏洞在于攻击者直接利用了服务器自身的漏洞,攻击了服务器本身。

二、SSRF漏洞危害

SSRF漏洞危害主要有以下3点:
1、攻击内网
利用SSRF漏洞,攻击者可以利用服务器的身份发送请求,借此可以探测目标系统内网各个主机和网络设备及其端口服务情况,进行信息收集,并且可以针对内网进行GET型的Web攻击。利用SSRF漏洞,可以轻易突破目标系统防火墙的安全防护。
2、读取文件
利用SSRF漏洞,攻击者可以读取服务器内部常用文件。
3、获取站点webshell
利用SSRF漏洞,攻击者可以远程加载webshell,从而使得攻击者可以得到目标站点的shell权限。

三、SSRF漏洞攻击常用协议

SSRF漏洞攻击常用协议如下所示:
1、FTP协议
FTP协议可以用于探测目标系统端口的开放情况,开放的端口和非开放的端口在响应时间上是不同的。
2、Gopher协议
利用Gopher协议,可以更加灵活的构造Web请求。
3、Dict协议
利用Dict协议,可以探测主机、服务信息。
4、file协议
file协议可以读取目标服务器系统中的文件。
5、http和https协议
http协议和https协议可以发起http和https请求。

四、SSRF漏洞实战演示

最后,我们利用pikachu靶场对SSRF漏洞进行实战演示。
pikachu靶场SSRF漏洞部分页面如下所示:
在这里插入图片描述

(一)利用SSRF漏洞读取文件

我们可以利用file协议读取目标系统中的文件。利用SSRF漏洞读取目标系统文件结果如下所示:
在这里插入图片描述

(二)利用SSRF漏洞探测端口

我们还可以使用Dict协议来探测目标系统内网设备端口开放情况,以及收集目标端口信息。
我们使用SSRF漏洞探测内网3306端口(开放)结果如下所示:
在这里插入图片描述
我们使用SSRF漏洞探测内网3307端口(不开放)结果如下所示:
在这里插入图片描述
我们使用SSRF漏洞探测内网80端口(开放)结果如下所示:
在这里插入图片描述
我们使用SSRF漏洞探测内网81端口(不开放)结果如下所示:
在这里插入图片描述

(三)利用SSRF漏洞得到webshell

此外,我们还可以利用公网服务器,构造webshell,然后使用菜刀链接,这样就可以获取目标服务器的shell权限了,结果如下所示:
在这里插入图片描述
在这里插入图片描述

五、SSRF漏洞安全防护

对SSRF漏洞的防护,主要是限制用户的输入,可以从协议上、地址上等进行限制,或者是对返回的信息进行识别。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

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

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

相关文章

迭代器和生成器

文章目录迭代器和生成器图解迭代器和生成器的关系迭代器容器生成器yield函数生成器表达式总结迭代器和生成器 图解迭代器和生成器的关系 图1-1​ 不管是生成器还是我们的容器,最终都是迭代器,使用next方法进行有规律的获取元素,不需要将元素…

五问补盲(二) | 补盲激光雷达,角分辨率真的是越小越好吗?

HiEV消息(文:爱LiDAR的小飞哥) 如何简单地判断一款补盲激光雷达的成像效果? 业界通常有几个指标:视场角大小、测距范围,以及角分辨率。 一款优秀的补盲激光雷达,通俗来说:既要看得…

rtl8221b+mcu,2.5g光纤收发器的开发备份

1、rtl8221b是一款2.5g的光电转换的phy 系统的构建如下 为了省成本,不用mac来对接其中的gmii接口直接接光模块 2、mdio和mdc由mcu的gpio来模拟,在csdn上有很多的文章来参考 mdio的参数如下 不想看英文可以参考下面的文章 MDIO(clause 22 与 clause 4…

微服务框架 SpringCloud微服务架构 微服务保护 31 限流规则 31.2 流控模式【关联】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护31 限流规则31.2 流控模式【关联】31.2.1 流控模式31.2.2 流控模式 - 关联31.2.3 小结31 限流规则…

Python模块fileinput操作文件和目录操作总结

前言 之前介绍Python的 pathlib 模块可以有效的路径及文件查找等方便操作,本篇介绍一个相对 readlines() 获取文件内容更高效的用法 fileinput模块 对一个或者多个文件的内容迭代遍历(类似文件操作的readlines()),但是返回的是迭代对象&…

【Linux】四、Linux 进程概念(三)|进程优先级|环境变量

目录 七、进程优先级 7.1 基本概念 7.1.1 什么是优先级 7.1.2 为什么存在优先级 7.1.3 Linux 优先级特点 7.2 查看系统进程 7.3 PRI 和 IN 7.4 查看进程优先级和更改进程优先级 7.5 其它概念 7.6 进程切换 八、环境变量 8.1 环境变量基本概念 8.2 常见环境变量 8…

English Learning - L1 站在高处建立灵魂 2022.12.5 周一

English Learning - L1 站在高处建立灵魂 2022.12.5 周一1.1 到底什么是语法1.2 为什么要学习语法口语分广义和狭义讲母语的人为啥不学语法?作为一名二语习得者口语中可不可以没有有语法?1.3 英语(听说读写)的核心金字塔理论关于词…

与图相关的一些矩阵

目录前言正文邻接矩阵(Adjacency matrix)度矩阵(Degree matrix)关联矩阵(Incidence matrix)拉普拉斯矩阵常规拉普拉斯矩阵拉普拉斯矩阵标准化前言 以无向图为例,介绍与图相关的各种矩阵。我们定义下面的图为 GGG: import networkx as nx import matplo…

redis cluster 集群安装

redis cluster 集群安装 redis集群方案 哨兵集群 如图,实际上还是一个节点对外提供服务,所以虽然是三台机器,但是还是一台机器的并发量,而且master挂了之后,整个集群不能对外提供服务 cluster集群 多个主从集群节点…

编写高质量代码 - 多线程和并发(2)

文章目录1. 使用线程异常处理器提升系统可靠性2. volatile不能保证数据同步3. 异步运算考虑使用Callable接口1. 使用线程异常处理器提升系统可靠性 我们要编写一个Socket应用,监听指定端口,实现数据包的接收和发送逻辑,这在早期系统间进行数据…

微信群营销方式微信群建群营销案例

今天我们以小区微信群营销为例,聊一聊具体的步骤和流程: 1、社群的建立,就是如何找到合适的小区,建立小区专属社群?因此,终端在做小区社群营销之前,需要先对当地所有的潜在小区做一个综合性的分析和评估&a…

ffmpeg库编译安装及入门指南(Windows篇)- 2022年底钜献

最近项目需要,使用了 ffmpeg 做摄像头视频采集和串流。这几天有点时间,打算把相关的一些知识记录分享一下。 在撰写本文时,我又在另外一台电脑上把 ffmpeg 重新安装了一遍,所以绝对真实靠谱!如果你觉得文章写得还不错…

Linux消息中间件-RabbitMQ

Linux消息中间件-RabbitMQ 消息中间件 MQ简介 MQ 全称为Message Queue, 消息队列。是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通…

cef浏览器加载过程实测ILoadHandler和IRequestHandler

针对方法GetResourceRequestHandler获取资源请求过程中,会多次发生请求,不知道何时加载完的问题,IRequestHandler没有了OnResourceLoadComplete和OnBeforeResourceLoad方法,如何判断是否加载完。使用browser.isLoading并不能真正的判断。所以想到了 OnFrameLoadEnd OnFram…

Spring Cloud Alibaba-全面详解(学习总结---从入门到深化)

​​​​​​​ Spring Cloud Alibaba简介 什么是Spring Cloud Alibaba Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。 此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 为…

微服务框架 SpringCloud微服务架构 微服务保护 31 限流规则 31.5 流控效果【排队等待】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护31 限流规则31.5 流控效果【排队等待】31.5.1 流控效果【排队等待】31.5.2 案例31.5.3 总结31 限流…

【Java开发】 Spring 10 :Spring Boot 自动配置原理及实现

用了这么久的 SpringBoot ,我们再来回顾一下它,本文介绍 Spring Boot 的自动配置,这是它区别于 Spring 的最大的点,本文的自动配置项目包含三个项目,建议拉取仓库里的代码进行实践:尹煜 / AutoConfigDemo …

DCDC电感下方铜箔如何处理

挖:电感在工作时,其持续变化的电流产生的电磁波会或多或少的泄露出来,电感下方的铜箔受电磁波影响,就会有涡流出现,这个涡流,①可能对线路板上的信号线有干扰,②铜箔内的涡流会产生热量&#xf…

容器的常用方法和线程安全(Map、List、Queue)

一、Map 1. HashTable 线程安全的Map,用synchronized锁 2. Collections.synchronizedMap Collections.synchronizedMap(new HashMap()) 可以把HashMap变成线程安全的,锁粒度比HashTable稍微小一点 3. ConcurrentHashMap ConcurrentHashMap主要提高…

某Y易盾滑块acToken、data逆向分析

内容仅供参考学习 欢迎朋友们V一起交流: zcxl7_7 目标 网址:案例地址 这个好像还没改版,我看官网体验那边已经进行了混淆 只研究了加密的生成,环境不正确可能会导致的加密结果对 (太累了,先缓缓吧,最近事比…