[CTF/网络安全] 攻防世界 xff_referer 解题详析

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 题目描述:X老师告诉小宁其实xff和referer是可以伪造的。

题目描述:X老师告诉小宁其实xff和referer是可以伪造的。

image.png


XFF及referer

X-Forwarded-For(简称 XFF)是一个 HTTP 请求头部字段,它用于表示 HTTP 请求的客户端 IP 地址,尤其是当请求通过一个中介代理或负载均衡器时。该字段的值通常是一个逗号分隔的 IP 地址列表,其中第一个 IP 地址是最初连接到中介代理或负载均衡器的客户端 IP 地址。


Referer 是另一个 HTTP 请求头部字段,它包含了当前请求的来源页面 URL 地址,即前一个页面的 URL 地址。该字段主要用于追踪用户行为和引荐来源等信息。


例如,当您在浏览器中访问一个页面时,您的浏览器会向服务器发送一个 HTTP 请求,并携带 Referer 头部字段,将上一个页面的 URL 地址传递给服务器。如果您从搜索引擎或其他网站跳转而来,则可以通过 Referer 字段追踪这个来源。


另外,当请求通过一个代理服务器或负载均衡器时,可以使用 X-Forwarded-For 头部字段来识别请求的真实客户端 IP 地址。因为在这种情况下,服务器只能看到请求的中介代理或负载均衡器的 IP 地址,而无法直接获取客户端的真实 IP 地址。通过查看 X-Forwarded-For 字段,服务器可以识别出原始客户端的 IP 地址,并进行相应处理和记录。


XFF格式

格式通常为:


X-Forwarded-For: <client>, <proxy1>, <proxy2>, ...


其中,各个组成部分的含义如下:


<client>:客户端的真实 IP 地址,通常位于最后一个位置。

<proxy1>, <proxy2>, …:HTTP 请求经过的代理服务器的 IP 地址,通常位于前面,按照从接近客户端到接近服务器的顺序排列。

例如,以下是一个 X-Forwarded-For 头部字段的示例:


X-Forwarded-For: 203.0.xxx.195 , 70.xxxx.3.18 , 150.xxxx.238


其中,客户端 IP 地址为 203.0.xxx.195,该请求经过了两个代理服务器,IP 地址分别为 70.xxxx.3.18 和 150.xxxx.238


referer格式

格式通常为:

Referer: <protocol>://<host>:<port>/<path>


其中,各个组成部分的含义如下:


<protocol>:请求使用的协议,一般为 “http” 或 “https”。

<host>:请求的主机名或 IP 地址。

<port>:请求的端口号,如果是默认端口(HTTP 端口为 80,HTTPS 端口为 443),则可以省略。

<path>:请求的资源路径,包括文件名和查询字符串等。

例如,以下是一个 Referer 头部字段的示例:


Referer: https://www.google.com/search?qiushuo


其中,协议为 HTTPS,主机名为 www.google.com,路径为 /search,查询字符串为 ?qiushuo


姿势

抓包,在重放器请求包中添加IP地址

一般情况下,X-Forwarded-For 字段应该被插入到 HTTP 请求头部的第一个位置

Payload:X-Forwarded-For:123.123.123.123

页面回显如下:

image.png


根据页面回显,重放器请求包中添加referer

Payload:Referer:https://www.google.com

在 HTTP 请求头中,Referer 字段通常位于头部字段列表的第二个位置,紧随 Host 字段之后。

image.png



总结

该题结合抓包改包姿势考察XFF及referer,读者可躬身实践。

我是秋说,我们下次见。


相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
5月前
|
缓存 网络协议 安全
【网络攻防战】DNS协议的致命弱点:如何利用它们发动悄无声息的网络攻击?
【8月更文挑战第26天】DNS(域名系统)是互联网的关键组件,用于将域名转换为IP地址。然而,DNS协议存在安全漏洞,包括缺乏身份验证机制、缓存中毒风险及放大攻击的可能性。通过具体案例,如DNS缓存中毒和DNS放大攻击,攻击者能够误导用户访问恶意站点或对目标服务器实施DDoS攻击。为了防范这些威胁,可以采用DNSSEC实现数字签名验证、利用加密的DNS服务(如DoH或DoT)、限制DNS服务器响应以及及时更新DNS软件等措施。理解并应对DNS的安全挑战对于确保网络环境的安全至关重要。
136 2
|
8月前
|
安全 网络安全 PHP
深入理解PHP的命名空间与自动加载机制网络安全与信息安全:防护之道与攻防之术
【5月更文挑战第29天】在PHP的开发实践中,命名空间和自动加载机制是两个重要的概念,它们共同构成了现代PHP代码组织的基础。本文将详细解释命名空间在PHP中的应用,探讨其解决代码冲突和提高代码复用性的能力,同时深入研究自动加载机制的原理及其在项目中的实际运用,帮助开发者构建更加高效、易于维护的PHP应用。
|
2月前
|
网络协议 安全 物联网
网络安全涨知识:基础网络攻防之DDoS攻击
网络安全涨知识:基础网络攻防之DDoS攻击
120 0
|
8月前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:防护之道与攻防之策
【5月更文挑战第29天】在数字化时代,网络安全与信息安全已成为维护个人隐私、企业资产和国家安全的重要屏障。本文深入探讨了网络安全漏洞的成因、加密技术的应用以及提升安全意识的必要性,旨在为读者提供一个全面的安全防护知识框架。通过对当前网络威胁的分析,我们揭示了安全漏洞的本质及其对信息系统的潜在影响,并介绍了最新的加密技术如何作为防御工具来保护数据传输的安全。此外,文章还强调了培养全民网络安全意识的重要性,提出了一系列实用的安全建议和最佳实践。
|
5月前
|
安全 网络安全 数据安全/隐私保护
网络攻防演练需要注意哪些
【8月更文挑战第14天】
146 1
|
5月前
|
消息中间件 Kafka Java
Spring 框架与 Kafka 联姻,竟引发软件世界的革命风暴!事件驱动架构震撼登场!
【8月更文挑战第31天】《Spring 框架与 Kafka 集成:实现事件驱动架构》介绍如何利用 Spring 框架的强大功能与 Kafka 分布式流平台结合,构建灵活且可扩展的事件驱动系统。通过添加 Spring Kafka 依赖并配置 Kafka 连接信息,可以轻松实现消息的生产和消费。文中详细展示了如何设置 `KafkaTemplate`、`ProducerFactory` 和 `ConsumerFactory`,并通过示例代码说明了生产者发送消息及消费者接收消息的具体实现。这一组合为构建高效可靠的分布式应用程序提供了有力支持。
131 0
|
7月前
|
SQL 安全 网络安全
网络安全攻防实战:黑客与白帽子的较量
【6月更文挑战第29天】网络安全战场,黑客与白帽子的博弈日益激烈。黑客利用漏洞扫描、DDoS、SQL注入等手段发起攻击,而白帽子则通过防火墙、入侵检测、数据加密等技术防守。双方在技术与智慧的较量中,未来将更多融入AI、区块链等先进技术,提升攻防效率与安全性。面对网络威胁,提升技能与意识至关重要。
|
8月前
|
SQL 安全 算法
网络安全与信息安全:防护之道与攻防之术
【5月更文挑战第29天】 在数字化时代,数据成为了新的石油。然而,随之而来的网络威胁却如同无形的盗贼,时刻觊觎着这些价值连城的“黑金”。本文将深入探讨网络安全漏洞的本质、加密技术的进展,以及提升安全意识的重要性。我们将透过技术的视角,分析如何构建一道坚固的数字防线,并讨论攻防双方的策略变化。通过案例剖析和最新研究成果,本文旨在为读者提供一份全面的网络安全与信息安全知识图谱。
|
7月前
|
存储 网络协议 数据建模
程序与技术分享:2021年第一届“东软杯”网络安全CTF竞赛
程序与技术分享:2021年第一届“东软杯”网络安全CTF竞赛
|
7月前
|
安全 网络安全 数据安全/隐私保护
CTF竞赛:一场网络安全技术的盛宴
CTF竞赛:一场网络安全技术的盛宴
229 0