【网络安全】-ssrf服务器请求伪造攻击-burp

SSRF攻击服务器请求伪造攻击

CSRF攻击跨站请求伪造攻击也称客户端请求伪造攻击

两种攻击最主要的区别是一个在服务器,一个在客户端。

文章目录

前言  什么是SSRF攻击?

1.分类:

  针对服务器的 SSRF 攻击:

       针对后端系统的SSRF攻击:

2.SSRF攻击的绕过

  url解析绕过:

  ip地址进制转换:

  指向任意IP的域名xip.io

  协议限制绕过

3.ssrf攻击的防护:

总结


前言  什么是ssrf攻击?

由hacker构造请求,利用存在缺陷的Web应用作为代理,让服务端发起请求。


1.分类:

针对服务器的 SSRF 攻击:
攻击的定义:

由hacker构造请求,利用存在缺陷的Web应用服务器作为代理,让服务器发起请求的攻击。

这种攻击允许攻击者绕过对源IP地址的检查,访问受限的内网资源,甚至从内部系统中窃取数据、执行远程代码或对特定服务发起拒绝服务攻击

攻击的步骤:

1.发现漏洞:首先识别出可以触发服务器发起HTTP请求的点,如图片加载、文件下载、API请求等功能。

2.请求构造:创建一个精心设计的请求,这个请求将由服务器发送,目的可能是与服务器的内部网络或者外部恶意服务器通信。

3.执行与利用:将构造的请求发送到漏洞点,让服务器不自觉地执行该请求,将结果返回给攻击者或影响内部系统。

举例:burp靶场-针对本地服务器的基本 SSRF

描述:

步骤:

1.访问某个商品,点击“检查库存”,在 Burp Suite 中拦截该请求,并将其发送给 Burp Repeater。

2.将参数中的 URL 更改stockApi=http://localhost/admin,这应该会显示管理界面,表名我们ssrf成功,验证访问admin。

3.阅读 HTML 以识别要删除目标用户的 URL,

即:http://localhost/admin/delete?username=carlos

修改请求头:

Send 返回界面:表明我们已经发起SSRF攻击,删除成功

总结:针对本地服务器的基本 SSRF

就是对服务器发出一个正常的请求,bp抓包截取服务器对我们的回复,对内容进行修改,让服务器执行的正常的请求->异常请求,进而影响其内部系统,如本题,就是将查询库存->删除用户。

针对后端系统的SSRF攻击:
攻击的定义:

hacker利用后端系统中未严格校验用户输入或存在其他漏洞的功能,如文件包含、URL重定向等,通过构造恶意的URL或请求,诱使后端系统向攻击者指定的目标发送请求。

攻击的影响:

请求是由后端系统发起的,因此可以绕过针对客户端的直接防护措施,很难被用户直接察觉,一旦中招,会导致用户敏感信息泄露、未授权访问控制系统资源等后果。

甚至hacker还可以利用SSRF漏洞作为跳板,进一步发起其他类型的攻击,如SQL注入、命令执行等。

攻击的步骤:

1.请求构造:攻击者可以构造一个指向内部数据库的URL或指向恶意服务的URlL并提交给后端系统。

2.执行与利用:后端系统在处理该请求时,会尝试访问该URL指向的资源,从而触发SSRF攻击。

举例:burp靶场-针对后端服务器的基本 SSRF

描述:

1.访问某个商品,点击“检查库存”,在 Burp Suite 中拦截该请求,并将其发送给 Burp Intruder。

2.单击“清除§”,更改参数stockApi,http://192.168.0.1:8080/admin

然后突出显示 IP 地址的最后一个八位字节(数字1),单击“添加§”。

3.切换到Payloads选项卡,将payload类型改为Numbers,

ip地址只可能在1~255之间,所以我们在From和To框中分别输入1、255,至于以及Step停顿时间自己来定,但绝不能是0,因为这会对服务器造成极大的伤害,导致网站挂掉,通常Step停顿时间是1。

注意:最底下把勾去掉

4.点击“开始攻击”。

单击“length”列,可以看到一个状态为 200 的条目,说明http://192.168.0.135:8080/admin是爆破成功的服务器url

5.点击这个请求,发送给Burp Repeater.

并将其中的路径改为stockApi:/admin/delete?username=carlos(识别要删除的目标用户)

点击send。

返回正常数据,说明我们成功进行ssrf攻击

2.SSRF攻击的绕过

url解析绕过:

http://域名.com@10.10.10.10

ip地址进制转换:

举例:192.168.0.1

8进制格式:0300.0250.0.1
16进制格式:0xC0.0xA8.0.1
10进制整数格式:3232235521

指向任意IP的域名xip.io

举例:10.0.0.1.xip.io  resolves to 10.0.0.1

协议限制绕过

当url协议限定只为http(s)时,可以利用follow redirect 特性构造3o2跳转服务结合合dict:// fle:/ gopher://

3.ssrf攻击的防护:

1.黑名单验证:过滤内网地址,过滤部分协议,对返回的内容进行识别,内网服务开启鉴权。

2.严格校验用户输入的URL:对所有用户提交的URL参数进行严格的白名单验证,只允许访问预定义的可信域名或路径。例如,限制请求的协议(HTTP、HTTPS)、主机名和端口号,通常只开放80、443等常用端口。

3.对返回内容进行识别:首先禁用URLOPT FOLLOWLOCATION;然后通过域名获取目标ip,并过滤内部ip;最后识别返回的内容是否与假定内容一致。


总结

ssrf攻击运行在内网或本地的应用程序,利用fle协议读取本地文件,可以对内网,本地进行端口扫描,获取一些服务(banner)的信息,仅仅使用get参数就可以实现对内外网的攻击。

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

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

相关文章

【Echarts】vue3打开echarts的正确方式

ECharts 是一个功能强大、灵活易用的数据可视化工具,适用于商业报表、数据分析、科研教育等多种场景。那么该如何优雅的使用Echarts呢? 这里以vue3为例。 安装echarts pnpm i echarts封装公用方法 // ts-nocheck import * as echarts from echarts; // 我们这里借…

Linux系统应用之知识补充——OpenEuler(欧拉)的安装和基础配置

前言 这篇文章将会对OpenEuler的安装进行详解,一步一步跟着走下去就可以成功 注意 :以下的指令操作最好在root权限下进行(即su - root) ☀️工贵其久,业贵其专! 1、OpenEuler的安装 这里我不过多介绍&a…

相亲交友系统 现代爱情的导航仪

在这个数字化的时代,人们的生活方式发生了翻天覆地的变化,其中最显著的变化之一便是交友方式的转变。编辑h17711347205随着社会节奏的加快,越来越多的人选择通过相亲交友系统来寻找人生伴侣。相亲交友系统不仅简化了传统的交友流程&#xff0…

Java设计模式——工厂方法模式(完整详解,附有代码+案例)

文章目录 5.3 工厂方法模式5.3.1概述5.3.2 结构5.3.3 实现 5.3 工厂方法模式 针对5.2.3中的缺点,使用工厂方法模式就可以完美的解决,完全遵循开闭原则。 5.3.1概述 工厂方法模式:定义一个创建对象的接口(这里的接口指的是工厂&…

第一次安装Pytorch

1、新版本的Anaconda内置的python版本是3.12, 目前 Windows 上的 PyTorch 仅支持 Python 3.8-3.11;不支持 Python 2.x。 1、创建运行环境 在不创建虚拟环境的情况下,不建议使用最新的Python和Anaconda。 在几次失败后,我使用的是Anaconda3-2…

微服务保护学习笔记(五)Sentinel授权规则、获取origin、自定义异常结果、规则持久化

文章目录 前言4 授权规则4.1 基本原理4.2 获取origin4.3 配置授权规则 5 自定义异常结果6 规则持久化 前言 微服务保护学习笔记(一)雪崩问题及解决方案、Sentinel介绍与安装 微服务保护学习笔记(二)簇点链路、流控操作、流控模式(关联、链路) 微服务保护学习笔记(三)流控效果(…

力扣 2529.正整数和负整数的最大计数

文章目录 题目介绍解法 题目介绍 解法 采用红蓝染色体法,具体介绍参考 红蓝染色体法 通过红蓝染色体法可以找到第一个大于大于target的位置,使所以本题可以找第一个大于0的位置,即负整数的个数;数组长度 - 第一个大于1的位置即正…

什么品牌超声波清洗机质量好?四大绝佳超声波清洗机品牌推荐!

在快节奏的现代生活中,个人物品的清洁卫生显得至关重要。眼镜、珠宝饰品、手表乃至日常餐厨用具,这些频繁接触的物品极易累积污渍与细菌。拿眼镜为例,缺乏定期清洁会让油渍与尘埃积累,进而成为细菌的温床,靠近眼睛使用…

2024最新版,人大赵鑫老师《大语言模型》新书pdf分享

本书主要面向希望系统学习大语言模型技术的读者,将重点突出核心概念与 算法,并且配以示例与代码(伪代码)帮助读者理解特定算法的实现逻辑。由于大语言模型技术的快速更迭,本书无法覆盖所有相关内容,旨在梳理…

《黑神话悟空》开发框架与战斗系统解析

本文主要围绕《黑神话悟空》的开发框架与战斗系统解析展开 主要内容 《黑神话悟空》采用的技术栈 《黑神话悟空》战斗系统的实现方式 四种攻击模式 连招系统的创建 如何实现高扩展性的战斗系统 包括角色属性系统、技能配置文件和逻辑节点的抽象等关键技术点 版权声明 本…

如何查看电脑什么时候被人动过及看过的文件?

一、查看Windows事件查看器 Windows系统具有强大的日志记录功能,通过“事件查看器”可以查看电脑的使用记录。具体步骤如下: 按下Win R组合键打开运行窗口,输入eventvwr.msc命令并回车,打开事件查看器。 在事件查看器中&#x…

C语言 14 结构体 联合体 枚举

之前认识过很多种数据类型,包括整数、小数、字符、数组等,通过使用对应的数据类型,就可以很轻松地将数据进行保存了,但是有些时候,这种简单类型很难去表示一些复杂结构。 结构体 比如现在要保存 100 个学生的信息&am…

黑神话悟空mac可以玩吗

黑神话悟空mac上能不能玩对于苹果玩家来说很重要,那么黑神话悟空mac可以玩吗?目前是玩不了了,没有针对ios系统的版本,只能之后在云平台上找找了,大家可以再观望下看看。 黑神话悟空mac可以玩吗 ‌使用CrossOver‌&…

PyCharm 调试 Xinference 遇到问题及解决方案

本文使用的 PyCharm 2024.2.1 版本,如果使用低版本 PyCharm,那么在调试 Xinference v0.15.1 源码时可能会报错 Connection to Python debugger failed Socket closed。 一.PyCharm 调试 Xinference 源码 由于 Xinference 中的一些依赖包仅支持 Linux&a…

用友U8二次开发工具KK-FULL-*****-EFWeb使用方法

1、安装: 下一步,下一步即可。弹出黑框不要关闭,让其自动执行并关闭。 2、服务配置: 输入服务器IP地址,选择U8数据源,输入U8用户名及账号,U8登录日期勾选系统日期。测试参数有效性,提示测试通过…

【Obsidian】当笔记接入AI,Copilot插件推荐

当笔记接入AI,Copilot插件推荐 自己的知识库笔记如果增加AI功能会怎样?AI的回答完全基于你自己的知识库余料,是不是很有趣。在插件库中有Copilot插件这款插件,可以实现这个梦想。 一、什么是Copilot? 我们知道githu…

FTP管理工具 FileZilla Pro v3.66.5 中文绿色便携版

FileZilla 是一款跨平台的多线程FTP工具,支持SL/TLS (FTPS)协议、SFTP等多种主流的传输协议,软件采用了有条理、简洁的用户界面,支持多站点管理,可以管理多个FTP站点,可以自由新建站点,提供了一个简单化&am…

vue websocket 使用

基于webSocket通信的库主要有 socket.io,SockJS 关于SockJS的使用 先安装 sockjs-client 和 stompjs npm install sockjs-client npm install stompjs import SockJS from sockjs-client; import Stomp from stompjs; export default { data () { …

Android 内置应用裁剪

文章目录 查询目标 APK 的 Android.mk(或 Android.bp)文件apk裁剪方式1.注释或删除.mk/.bp文件2.将 APK 名称加入“OVERRIDES”配置项中3.自定义“PRODUCT_PACKAGES_REMOVE”配置项 查询目标 APK 的 Android.mk(或 Android.bp)文件…

LabVIEW机械手视觉引导系统

开发了LabVIEW软件和硬件工具开发的高精度机械手视觉引导系统。系统通过高效的视觉识别和精确的机械操作,提升工业自动化领域的生产效率和操作精度。 项目背景: 随着工业自动化的不断发展,对生产效率和精确度的要求也日益增高。传统的机械手…