新后端漏洞之----SSRF漏洞(服务端请求伪造)

笔记

  • 前言
  • SSRF漏洞概述
  • SSRF漏洞检测与挖掘
  • SSRF漏洞的回显分类
  • SSRF漏洞利用
  • SSRF漏洞防御

在这里插入图片描述

前言

  • 这几天各种技术面试接踵而至,压得我喘不过气了!然后面试官问了我这个SSRF漏洞原理和利用方式以及防御手段,当然同时还问了好几个Top10漏洞!

SSRF漏洞概述

  • 危害:一个不符合预期的请求就可能导致整个内网沦陷
  • 全名 :Server Side Request Forgery
  • 基本原理:攻击者构造恶意的URL,由服务器端发起请求的漏洞
  • SSRF的目标:从外网无法访问的内部系统。让服务器替攻击者发请求。
  • 面试回答部分:因为一些内网资源,攻击者直接请求不到,而服务器存在SSRF漏洞时,可代替攻击者发送任意的请求,于是服务器就成为攻击者访问其所在内网各个系统的“跳板”。借助这台服务器,攻击者可以直接攻击内网系统,由于内网系统安全性普遍较为薄弱,就极有可能导致整个内网沦陷
  • 形成原因:服务器提供了远程访问的功能,且没有对目标地址进行过滤和限制。
  • 代码示例
$imageUrl =$_GET['catchimage'];
$context =stream_context_create(arry('http' =>arry('follow_location'=>false // don't  follow   redirects))
);
redirect($imageUrl,false,$context);
  • 上述例子,程序员的本意是想给用户提高一个抓取远程图片的功能,但是没有对catchimage参数进行过滤检测,从而导致用户可以构造URL,访问内网。
  • 构造恶意URL:127.0.0.1:8080/catchimage.php?catchimage=http://10.10.10.34:8080/
  • 该漏洞实际上是操纵服务器去发送请求,因为攻击者从互联网无法访直接访问内网,但是服务器可以,借助服务器之手,来攻击其内网的其他服务器。

SSRF漏洞检测与挖掘

  • 1)能够对外发起网络请求的地方,就可能存在SSRF漏洞
  • 2)从远程服务器请求资源的地方,如通过URL上传,导入文件、或RSS订阅等。
  • 3)数据库内置功能,Oracle、MongoDB、MSSQL、PostgreSQL、CouchDB等数据库都具有加载外部URL的功能。
  • 4)Webmail收取其他邮箱邮件,如POP3、IMAP、SMTP等
  • 5)文件处理、编码处理、属性信息处理,如FFmpeg、ImageMagic、Word、Excel、PDF、XML等。
  • 利用限制
  • OpenSSL.当服务器开启OpenSSL时,SSRF请求也必须遵从OpenSSL来交互,因而一些场景下无法直接利用。
  • 鉴权。大部分网站使用Cookie鉴权,还有一部分使用HTTP Basic 认证,当攻击者仅能控制一个URL时,往往无法人为添加Cookie或www-authenticate头部字段,进而无法访问部分接口
  • 校验了其他头部字段的情况,如:Referer,User-Agent等。

SSRF漏洞的回显分类

  • 有回显
  • 半盲回显(半盲SSRF)
  • 无回显(全盲SSRF,针对DNS Log或HTTP Log)
  • 暑假期间我会尽快对这一部分进行补齐

SSRF漏洞利用

  • 通过SSRF漏洞攻击内网Redis未授权服务
  • 通过SSRF漏洞攻击Kubernetes服务
  • SSRF漏洞与DNS Rebinding攻击
  • WebLogic SSRF 漏洞(CVE-2014-4210)
  • 暑假期间我会尽快对这一部分进行补齐

SSRF漏洞防御

  • 对于服务器来说,尽量避免使用服务器端根据用户用户参数远程加载资源,如果一定要采取这种方法,应当尽量将资源固定化,避免用户提交可变参数
  • 在使用开源的类库时,应当对其是否存在SSRF漏洞进行充分了解,尽可能使用最新版本或保证安全的较新版本。
  • 此外,,对于内网漏洞的及时修复以及未授权接口的加以鉴权,能够有效降低SSRF漏洞攻击造成的危害,也应当放在去企业安全管理者考虑的范围之内。

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

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

相关文章

记一次 .NET 某医院预约平台 非托管泄露分析

一:背景 1. 讲故事 前几天有位朋友找到我,说他的程序有内存泄露,让我帮忙排查一下,截图如下: 说实话看到 32bit, 1.5G 这些关键词之后,职业敏感告诉我,他这个可能是虚拟地址紧张所…

Selenium Wire编辑header破解反爬机制和访问限制

一、selenium Wire介绍 介绍 Selenium Wire扩展了Selenium的Python绑定,使您能够访问浏览器发出的底层请求。您已使用Selenium相同的方式编写代码,但是您获得了额外的api,用于检查请求和响应,并动态地对它们进行更改。&#xff08…

Unity基础 物理系统 刚体组件下的移动.碰撞.触发检测

当在Unity中创建游戏或应用程序时,重力系统是一个非常重要的组成部分。它可以模拟物体受到地球引力的影响,并产生逼真的物理效果。在Unity中,我们可以使用刚体组件和重力向量来控制重力系统。 首先,在Unity中创建一个物体&#xf…

基于Echarts2.X的地图数据可视化指南

目录 前言 一、关于Echarts版本 1、为什么用Echarts2.2.7 2、文件目录说明 二、地图数据可视化 1、新建map.html 2、Echarts图表初始化 3、参数设置 三、源码展示分析 1、初始化阶段 2、timelineOption.js模拟数据 总结 前言 在前面的博文(数据会说话-从我国…

(学习日记)2023.04.29

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

1.7 完善自定位ShellCode后门

在之前的文章中,我们实现了一个正向的匿名管道ShellCode后门,为了保证文章的简洁易懂并没有增加针对调用函数的动态定位功能,此类方法在更换系统后则由于地址变化导致我们的后门无法正常使用,接下来将实现通过PEB获取GetProcAddre…

github上传超过100M的大文件

当上传的工程中有超过100M的文件时,直接上传github会产生如下报错: remote: error: File retinaface-R50/R50-0000.params is 112.54 MB; this exceeds GitHubs file size limit of 100.00 MB! [remote rejected] master -> master (pre-receive ho…

2023年07月数据库流行度最新排名

点击查看最新数据库流行度最新排名(每月更新) 2023年07月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多,这个数据库就被认为越受欢迎。这是一个领先指标。原始数…

软件设计模式与体系结构-设计模式-结构型软件设计模式-桥接模式

四、桥接模式 桥接模式(Bridge Pattern)是一种软件设计模式,它用于将抽象部分与其具体实现部分解耦,使它们可以独立地变化。桥接模式的核心思想是将一个系统分为多个维度,并通过桥接连接这些维度,从而实现…

登录远程Linux桌面

远程桌面连接主要使用两种协议,一种是Windows上RDP协议,第二种是VNC协议,从使用效果来看,vnc更优秀。 一、VNC 使用x11vnc 1.安装x11vnc sudo apt install x11vnc 2.启动x11vnc x11vnc -passwd orangepi -display :0 -forever…

linux 时间同步 chrony

Chrony介绍 chrony 是基于NPT协议的实现时间同步服务,它既可以当做服务端,也可以充当客户端。chrony是ntp的代替品,能更精确的时间和更快的速度同步时钟,chrony 占用系统资源少,只有被唤起时才占用少部分CPU&#xff0…

云原生|kubernetes|centos7下离线化部署kubesphere-3.3.2---基于kubernetes-1.22.16(从网络插件开始记录)

前言: kubesphere的离线化部署指的是通过自己搭建的harbor私有仓库拉取镜像,完全不依赖于外部网络的方式部署。 我的kubernetes集群是一个单master节点,双工作节点,总计三个节点的版本为1.22.16的集群。 该集群只是初始化完成了…