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

news2024/11/27 7:40:32

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

    • XFF及referer
    • XFF格式
    • referer格式
    • 姿势
    • 总结

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

在这里插入图片描述

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
页面回显如下:
在这里插入图片描述

根据页面回显,重放器请求包中添加referer
Payload:Referer:https://www.google.com
在 HTTP 请求头中,Referer 字段通常位于头部字段列表的第二个位置,紧随 Host 字段之后。

在这里插入图片描述


总结

该题结合抓包改包姿势考察XFFreferer,读者可躬身实践。
我是秋说,我们下次见。

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

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

相关文章

深入理解计算机系统第七章知识点总结

文章目录 详解ELF文件-> main.o前十六个字节的含义推测elf的大小查看节头部表推断每个section在elf中的具体位置查看.text的内容查看.data的内容关于.bss查看.rodata的内容关于其他的节表示的信息 详解符号表符号编译器如何解析多重定义的全局符号静态库与静态链接构造和使用…

seata的部署和集成

seata的部署和集成 一、部署Seata的tc-server 1.下载 首先我们要下载seata-server包&#xff0c;地址在http://seata.io/zh-cn/blog/download.html 2.解压 在非中文目录解压缩这个zip包&#xff0c;其目录结构如下&#xff1a; 3.修改配置 修改conf目录下的registry.conf文…

开源大模型资料总结

基本只关注开源大模型资料&#xff0c;非开源就不关注了&#xff0c;意义也不大。 基座大模型&#xff1a; LLaMA&#xff1a;7/13/33/65B&#xff0c;1.4T token LLaMA及其子孙模型概述 - 知乎 GLM&#xff1a;6/130B&#xff0c; ChatGLM基座&#xff1a;GLM&#xff08…

【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 网际协议IP

目录 一、概述 二、初步了解网际协议 IP  &#x1f449;2.1 与数据链路层的区别  &#x1f449;2.2 网际协议 IP 概览  &#x1f449;2.3 分层的意义 三、IP协议基础知识  &#x1f449;3.1 IP地址属于网络层地址  &#x1f449;3.2 路由控制  &#x1f449;3.3 IP分包与…

solr快速上手:核心概念及solr-admin界面介绍(二)

0. 引言 上一节&#xff0c;我们简单介绍了solr并演示了单节点solr的安装流程&#xff0c;本章&#xff0c;我们继续讲解solr的核心概念 solr快速上手&#xff1a;solr简介及安装&#xff08;一&#xff09; 1. 核心概念 核心&#xff08;索引/表&#xff09; 在es中有索引…

【软件测试】5年测试老鸟总结,自动化测试成功实施,你应该知道的...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 自动化测试 Pytho…

基于html+css的图展示82

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

chatgpt赋能Python-pythonage

Pythonage - 一款优秀的Python SEO工具 无论是个人博客还是商业网站&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;都是最重要的。Pythonage是一款优秀的Python SEO工具&#xff0c;可以帮助你优化你的网站并提高搜索引擎排名。在这篇文章中&#xff0c;我们将详细介绍…

ChatGPT 使用 拓展资料:开始构建你的优质Prompt

ChatGPT 使用 拓展资料:开始构建你的优质Prompt

【JavaEE】阻塞队列、定时器和线程池

目录 1、阻塞队列 1.1、概念 1.2、生产者消费者模型 1.3、阻塞队列的模拟实现 2、定时器 2.1、使用标准库中的定时器 2.2、模拟实现定时器 3、线程池 3.1、标准库中的线程池 3.1.1、ThreadPoolExecutor类的构造方法 3.1.2、Java标准库的4种拒绝策略【经典面试题】…

Canal内存队列的设计

1、背景 笔者的公司内部使用了开源的Canal数据库中间件来接受binlog数据&#xff0c;并基于此进行数据的订阅和同步到各种同构和异构的数据源上&#xff0c;本文将对Canal内部使用的store模块进行分析。 2、Store模块概览 Canal的store模块用于存储binlog中的每一个event&am…

MySQL- 多表查询(上)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️树高千尺&#xff0c;落叶归根人生不易&…

安卓基础巩固(一):布局、组件、动画、Activity、Fragment

文章目录 布局LinearLayoutRelativeLayoutTableLayoutFrameLayoutConstraintLayoutListView基于ArrayAdapter自定义Adaper提升ListView的运行效率 RecyclerView基本属性使用案例布局&#xff08;显示方式&#xff09;监听事件利用View.onClickListener 和 onLongClickListener …

日志收集机制和日志处理流程规范

本博客地址&#xff1a;https://security.blog.csdn.net/article/details/130792958 一、日志收集与处理流程 云原生平台中对日志提取收集以及分析处理的流程与传统日志处理模式大致是一样的&#xff0c;包括收集、ETL、索引、存储、检索、关联、可视化、分析、报告这9个步骤…

Leetcode 二叉树详解

二叉树 树的概念及基本术语见树与二叉树的基础知识 定义&#xff1a;一棵二叉树是结点的一个有限集合&#xff0c;该集合或者为空&#xff0c;或者是由一个根结点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。 特点&#xff1a;每个结点至多只有两棵子树&#xff…

Vivado综合属性系列之八 DIRECT_ENABLE DIRECT_RESET

目录 一、前言 二、DIRECT_ENABLE、DIRECT_RESET ​ ​2.1 属性说明 ​ ​2.2 工程代码 ​ ​2.3 综合结果 一、前言 在Vivado 2019之前的版本中&#xff0c;对于设计中触发器的使能端口和复位端口是会自动接地&#xff0c;如果需要接设计端口&#xff0c;如果要直连…

GitHub Copilot开发者酷游网址训练营

目标读者 已使用且【酷游网K͜W͜98典neт娜娜宝宝提供】想发挥GitHub Copilot所有潜能的使用者想知道GitHub Copilot未来展望的使用者想了解GitHub Copilot能力的开发者 简介 最近Open AI带起的新世代&#xff0c;热潮汹涌&#xff0c;一堆AI工具蜂拥而至(如:chatGPT和Midjo…

近期关于Transformer结构有潜力的改进方法总结

目录 0 引言1 Gated Linear Unit (GLU)1.1 思路 2 Gated Attention Unit (GAU)2.1 思路2.2 实验结论2.3 混合注意力 3 FlashAttention3.1 标准Attention的实现3.2 FlashAttention的实现针对目标1针对目标2 4 总结5 参考资料 0 引言 标准Transformer在最新的实际大模型中并没有…

C++STL算法篇之集合算法

CSTL算法篇之集合算法 集合算法set_union(并集)set_difference(差集)set_intersection(交集)set_symmetric_difference(对称差集) 集合算法 当然最好还是要包含 functional algorithm 这2个头文件 集合算法有4个函数 1.set_union 交集 2.set_difference 差集 3.set_intersectio…

安卓开发多选列表和回显已选择内容

问题背景 安卓日常开发和学习过程中&#xff0c;经常会碰到需要多选列表和显示已选择内容的场景&#xff0c;本文将介绍安卓实现多选列表和回显已选择内容的一种方案。 问题分析 话不多说&#xff0c;先上效果&#xff1a; 思路分析&#xff1a; 一个纵向列表显示待选择内…