伪造referer [极客大挑战 2019]Http1

2023-11-10 22:12

本文主要是介绍伪造referer [极客大挑战 2019]Http1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打开题目

没有发现什么,我们查看源代码

在这里我们发现了提示

访问一下页面得到

提示说不能来自于https://Sycsecret.buuoj.cn,我们尝试访问一下这个url

发现访问不了

我们bp抓包一下

伪造个referer头

referer:https://Sycsecret.buuoj.cn

发包过去看看

发现页面又说要用Syclover

所以又要伪造浏览器

 发包过去,发现页面又要本地ip才能访问

我们伪造本地ip地址

发包过去

得到flag

同样的道理

例题见:墨者学院 浏览器信息伪造

打开题目

点开才发现网页只有在IPhone手机的2g网络下才能查看

抓包,修改ua头

Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69 MicroMessenger/6.6.1 NetType/2G

或者这个

Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.17(0x17001126) NetType/2G Language/zh_CN

{上面这个是我百度搜的,大佬说ua头信息百度就能搜到,搜关键词iPhone手机,微信就能有一大堆,不是固定卡死的,其实浏览器也只是看看关键词,我们只需要改一下关键词上传即可}

ua头大全见:手机微信ua大全,最新不重复的UA库

审计一下

  • Mozilla/5.0: 这是用户代理字符串的一部分,表示浏览器使用了Mozilla浏览器的通用标识。在很多情况下,这只是一个历史遗留的标识,而实际上并不表示使用Mozilla浏览器。

  • (iPhone; CPU iPhone OS 9_3_2 like Mac OS X): 表示设备是一个iPhone,运行的是iOS 9.3.2操作系统,类似于Mac OS X。

  • AppleWebKit/601.1.46 (KHTML, like Gecko): 表示浏览器内核是基于WebKit的,版本号是601.1.46,同时支持KHTML和Gecko标准。

  • Mobile/13F69: 表示该设备是移动设备,后续的数字/字符可能表示设备的具体型号或其他信息。

  • MicroMessenger/6.6.1: 表示浏览器使用的是微信内置的浏览器,版本号为6.6.1。

  • NetType/2G: 表示网络类型为2G

相关知识点见:谈谈 UserAgent 字符串的规律和伪造方法 - 知乎

发包过去得到key

mozhe5fe1238926257467d9434663069

知识点:

  • HTTP协议头部referer

  Referer是HTTP请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含Referer 。比如在www.xxxx.com 里有一个www.bai.com 链接,那么点击这个www.bai.com ,它的header 信息里就有:Referer=https://www.xxxx.com信息

  • referer作用
  1. 防盗链

  那么可以利用这个来防止盗链了,比如我只允许我自己的网站访问我自己的图片服务器,那我的域名是www.xxx.com,那么图片服务器每次取到Referer来判断一下是不是我自己的域名www.xxxx.com,如果是就继续访问,不是就拦截。

      2.防止恶意请求

比如只允许某台服务器访问我自己的图片服务器资源,则可校验Http请求包中的Referer。判断是不是特定服务器的域名,若不是,则拒接响应。

比如我的网站上,静态请求是*.html结尾的,动态请求是*.shtml,那么由此可以这么用,所有的*.shtml请求,必须 Referer  为我自己的网站。

     3. 空referer

空 Referer  的定义为, Referer  头部的内容为空,或者,一个 HTTP  请求中根本不包含 Referer  头部。

 那么什么时候 HTTP  请求会不包含 Referer  字段呢?根据Referer的定义,它的作用是指示一个请求是从哪里链接过来,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源。

比如,直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer  字段的,因为这是一个“凭空产生”的 HTTP  请求,并不是从一个地方链接过去的

Referer头部的内容为空的情况:

  • 浏览器内直接输入URL
  • Windows桌面的超链接图标
  • 浏览器内书签
  • 第三方软件内容中的链接跳入

     4.在防盗链设置中,允许空Referer和不允许空Referer的区别

  1. 允许空Referer:

    • 当你允许空Referer时,服务器将接受来自任何来源的请求,无论请求中是否包含Referer头信息。
    • 这意味着如果请求中包含一个有效的Referer头信息,服务器将根据该信息来判断请求是否合法,但如果Referer头信息为空或不存在,服务器仍然会处理请求,不会拒绝它。
    • 这可以用于一些情况,例如当你希望公开共享某些资源,但仍然希望检测和处理来自合法来源的请求。
  2. 不允许空Referer:

    • 当你不允许空Referer时,服务器将要求每个请求都包含一个有效的Referer头信息。如果请求中的Referer头信息为空或不存在,服务器将拒绝该请求。
    • 这是一种更严格的防盗链策略,用于确保只有从指定来源发送的请求才能被处理,而来自其他来源的请求会被拒绝。
    • 这可以提供更高级别的安全性,但可能会导致一些合法请求被拒绝,例如某些浏览器或代理可能不发送Referer头信息。

  • refer伪造

   伪造为ip地址:

         使用brup拦截请求包,在Proxy里面发送到Repeater,将Http头中的X-Forwarded-For改为想改的ip

   伪造为url地址:

        通过brup拦截,再使用Reapter修改Referer为想指定的URL

  • 浏览器伪造

通过User-Agent字段,网站服务器会知道访问者是通过什么工具来请求的

 User-Agent一般格式为:Mozilla/5.0 (操作系统) 引擎版本 浏览器版本号

User Agent用户代理,是Http协议中的一部分,属于头域的组成部分,简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核等信息的标识

所以我们可以通过修改ua头进行浏览器的伪造

  • ip伪造

HTTP 连接基于 TCP 连接,HTTP 协议中没有 IP 的概念,只能通过X-Forwarded-For来实现。

X-Forwarded-For(XFF)请求标头是一个事实上的用于标识通过代理服务器连接到 web 服务器的客户端的原始 IP 地址的标头。

所以我们可以通过bp抓包修改并伪装X-Forwarded-For来实现任意ip

知识点选自:https://www.cnblogs.com/huhu1020387597/p/11479468.html

2.http请求头中Referer的作用与伪造_referer伪造-CSDN博客

这篇关于伪造referer [极客大挑战 2019]Http1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/385615

相关文章

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

分库分表:应对大数据量挑战的数据库扩展策略

随着互联网技术的发展,数据量的爆炸性增长给数据库系统带来了前所未有的挑战。为了有效管理大规模数据并保持高性能,分库分表成为了一种常见的数据库扩展策略。本文将探讨分库分表的概念、动机、实施策略以及潜在的挑战和解决方案。 什么是分库分表? 分库分表是一种数据库架构设计策略,它将数据分散存储在多个数据库(分库)和多个表(分表)中。这种方法可以提高数据库的可伸缩性、可用性和性能。 为什么需要分库分表

2019学习计划

工作三年了,第一年感觉是荒废的,第二年开始学习python,第三年开始自动化 感觉自己会的东西比较少,而且不够深入,流于表面 现制定一下今年大概的学习计划 需持续巩固加强:python、ui自动化、接口自动化、sql等 代码量需提升,敲的不够(重点) 学习: 1.移动端测试,appium等 2.前端知识系统整理学习  3.性能测试 4.docker入门,环境搭建 5.shell

《深入理解 C++模板分离编译:挑战与解决方案》

在 C++编程的广阔领域中,模板是一个强大而复杂的特性,它为程序员提供了高度的灵活性和代码复用性。然而,模板的分离编译却常常成为开发者们面临的一个难题。本文将深入探讨 C++中模板的分离编译问题,揭示其背后的原理、挑战以及解决方案。 一、模板的强大之处 C++模板允许程序员编写通用的代码,可以适应不同的数据类型和场景。通过模板,我们可以实现泛型编程,提高代码的可维护性和可扩展性。例如,我们可以

【python 爬虫】伪造UA字符串

写好爬虫的原则只有一条: 就是让你的抓取行为和用户访问网站的真实行为尽量一致。 1、伪造UA字符串,每次请求都使用随机生成的UA。 为了减少复杂度,随机生成UA的功能通过第三方库fake-useragent实现 pip install fake-useragent 2、生成一个UA字符串只需要如下代码: 核心代码: from fake_useragent import UserAge

小琳AI课堂:大模型的发展历程:从创新到挑战

大家好,这里是小琳AI课堂。今天我们来聊聊大模型的发展历程,这是一段充满创新与挑战的故事。🚀 让我们追溯到20世纪50年代,那时计算机科学和人工智能还处于萌芽阶段。 早期探索(1950s-1970s) 早期探索是大模型发展历程中的一个关键时期,它标志着人工智能作为一门学科的诞生。这个时期,计算机科学和人工智能还处于起步阶段,科学家们充满好奇地探索如何让机器模仿人类智能。这一阶段的探索不仅奠定

美联储降息在即:加密市场风云再起,机遇与挑战并存

随着全球金融市场日益与加密货币市场的波动紧密相连,美联储的货币政策调整正成为加密市场的重要风向标。今年以来,比特币等主流加密货币反复跟随全球市场震荡,宏观经济指标对加密市场的影响愈加显著。尤其是美国联邦基金利率的变动,已成为整个加密产业的核心关注点。 美联储加息的影响回顾 自2022年3月到2023年7月,美联储连续11次加息,累计幅度达到525个基点,创下了近半个世纪以来美联储加息的

最简单的使用JDBC[连接数据库] mysql 2019年3月18日

最极简版本的, 我们这里以mysql为例: 首先要创建maven工程, 需要引入jar包:,这里需要注意, 如果你安装的是mysql最新版本8以上的, 下面有些地方需要更改,具体就是mysql连接的url, 和5版本的不一样,具体解决请自行百度哈.这里只演示mysql5版本的? 依赖: <dependency>   <groupId>mysql</groupId>   <artifactId