CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http

这篇具有很好参考价值的文章主要介绍了CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考

项目 描述
搜索引擎 BingGoogle
AI 大模型 文心一言通义千问讯飞星火认知大模型ChatGPT
MDN Web Docs https://developer.mozilla.org/zh-CN/

环境

项目 描述
HackBar 1.2.2
浏览器 Chrome

题目

项目 描述
得分项 HTTP 请求头
题目来源 NSSCTF

hello.php

雾现

访问题目首页 hello.php 得到如下界面:

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

意在希望我们使用名为 WLLM 的浏览器访问页面。如何解决?我们似乎也没有听说过名为 WLLM 的浏览器。那就从原理出发,浏览器是如何知道我们使用什么工具访问浏览器的呢?答案是 User-Agent 请求头。

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

User-Agent

HTTP 请求报文中的 User-Agent 请求头是一个用来 标识发送请求的客户端(通常是浏览器或其他网络应用程序)的字符串。这个字符串通常包含了客户端的应用程序名称、版本号、操作系统信息和一些其他相关的信息,用来 帮助服务器识别请求的来源。User-Agent 请求头的 主要目的 是为了让服务器能够根据客户端的不同特性来适配响应内容,以提供更好的用户体验。

User-Agent 请求头的示例如下:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36

Web开发人员和服务器管理员通常使用 User-Agent 请求头来识别客户端的类型和版本,以确保网站或应用程序能够提供适当的内容或功能。但需要注意的是,User-Agent 是可以伪造的,因此不能完全依赖它来确定客户端的真实性。有些浏览器或工具可以通过设置自定义的 User-Agent 字符串来隐藏其真实身份。因此,在安全性要求较高的情况下,应该使用其他方式来验证客户端的身份。

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

伪造 User-Agent

让浏览器认为我们使用 WLLM 浏览器可以通过伪造 User-Agent 来实现。可问题是我们该如何修改发送的请求头信息呢?可以试试 HackBar 浏览器插件。

HackBar

Hackbar 是一个 浏览器扩展,该扩展工具为安全专家、渗透测试人员和开发人员提供了一组工具,用于测试和评估 Web 应用程序的安全性HackBar 可以帮助用户识别潜在的安全漏洞,进行渗透测试,以及执行各种与网络安全相关的任务。以下是 Hackbar 的一些 主要 特点和功能:

  1. HTTP 请求和响应拦截
    HackBar 允许用户 查看编辑浏览器发送的 HTTP 请求报文及接收到的 HTTP 响应报文。在需要的时候,你可以通过 修改 HTTP 请求报文 来实现 对请求的精细化控制

  2. Cookie 编辑和管理
    HackBar 允许用户轻松编辑和管理浏览器中的 Cookie,这对于模拟不同的用户会话非常有用。

  3. 表单处理
    HackBar 提供了表单提交和数据包装功能,以帮助用户测试应用程序的输入验证和表单处理。你 可以手动构建 POST 或 GET 请求,并查看服务器对此进行的响应

  4. 编码和加密工具
    HackBar 包括一些编码和加密工具,可用于处理 Base64MD5SHA1 等的相关数据。

  5. XSS 攻击测试
    HackBar 提供了一些工具,用于 检测和测试跨站脚本(XSS)漏洞

  6. SQL 注入测试
    HackBar 还包括用于 测试 SQL 注入漏洞 的工具,可以帮助用户评估 Web 应用程序的数据库安全性。

由于微软的 Edge 浏览器的插件官网没有提供 HackBar 这款扩展工具,而 Google 的 Chrome 浏览器的插件官网由需要科学上网,所以推荐需要这款插件的朋友可以使用 Firefox 浏览器。

HackBar 插件的获取

首先,打开 Firefox 浏览器并进入其 插件官网,搜索插件 HackBar,你将得到如下类似界面。

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

选择图中 红色箭头指向的两个插件中的其中一个 进行安装即可。

修改请求头信息

使用 HackBar 修改请求头的大致步骤如下:

  1. 安装 HackBar 插件后,在需要使用到 HackBar 插件的页面 右键鼠标 选择 检查 或直接敲击 F12 进入浏览器提供的 开发者工具
  2. 选择 HackBar 分栏。
  3. 点击 LOAD 将当前页面的 URL 加载至输入框中。
  4. 修改相关请求头的 Value
  5. 点击 EXCUTE 向 URL 所指向的页面发起请求。

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

雾散

为了让 hello.php 相信我们使用的是 WLLM 浏览器,我们需要将 User-Agent 请求头的值设置为 WLLM

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

点击 EXCUTEhello.php 发起请求,得到如下界面:

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

a.php

雾现

进入 a.php 后,页面的信息意在提示我们需要在 本地(当前页面所处的服务器中) 对当前页面进行访问才可正常阅读。随后,页面指出了客户端的 IP 地址。

如何才能让 a.php 页面认为我们是在本地对该页面进行访问的呢?答案是告诉 a.php 我们的 IP 地址是 127.0.0.1127.0.0.1 即本地回环地址,访问这个地址 不需要通过实际的网络连接。至于如何告诉 a.php 我们的 IP 地址,这可以通过修改 HTTP 请求头实现。

本地回环地址

本地回环地址(Loopback Address) 是计算机网络中的一个 特殊 IP 地址,通常是 127.0.0.1(IPv4)::1(IPv6)。本地回环地址的主要目的是用于计算机上的 自我测试内部通信,而 不涉及真实的网络通信。本地回环地址允许计算机将网络请求发送给本机,而不需要通过实际的网络连接。

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

与客户端 IP 相关的 HTTP 请求头

在 HTTP 请求头中,通常 没有特定的请求头字段可以直接用于告诉页面客户端所使用的 IP 地址,因为 IP 地址是由 底层网络协议(如 TCP/IP) 处理的,而 HTTP 是应用层协议,主要关注 如何在不同计算机或设备之间的应用程序之间进行通信和数据交换。HTTP 请求头的主要目的是 提供与请求资源相关的元数据

在 HTTP 报文经过 代理服务器负载均衡器 时,通常会添加与客户端 IP 相关的 HTTP 请求头以指示 源客户端的 IP 地址。在这一过程中常使用到的 HTTP 请求头是 X-Forwarded-For

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

X-Forwarded-For

X-Forwarded-For 用于表示经过代理服务器或负载均衡器的 HTTP 流量的原始 IP 地址。当 HTTP 请求经过 多个代理服务器负载均衡器 时,X-Forwarded-For 的值可能包含 多个用逗号隔开的 IP 地址,而第一个 IP 地址通常就是 源客户端的 IP 地址

雾散

为了使 a.php 相信我们是在 本地 对该页面进行访问的,我们需要通过 HackBar 添加 X-Forwarded-For 请求头,并将该请求头的值设置为 127.0.0.1

在 HackBar 插件界面,点击 MODIFY HEADER 即可添加输入框以添加 HTTP 请求头。

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全

尝试添加 X-Forwarded-For 请求头并将其值设置为 127.0.0.1。随后,点击 EXCUTEa.php 发起请求,即得 flag

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http,安全,HTTP 请求报文,HTTP 请求头,HackBar,X-Forwarded-For,User-Agent,CTF,安全文章来源地址https://www.toymoban.com/news/detail-713864.html

到了这里,关于CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [SWPUCTF 2021 新生赛]babyrce(详解)

    提示:没有提示 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 最近遇到的事太霉了,又是做到一半,靶机拒绝连接我,搞得我做题都不自信了 回到正文 题目 如下(示例):  看了一下,就是cookie值admin等于1时,就能包含文件,行吧,那就等于吧

    2024年02月06日
    浏览(32)
  • [SWPUCTF 2021 新生赛]ez_unserialize

    题目在哪呢?查看源代码试试 User-agent: * Disallow: 什么东西呢 发现disallow Robots 协议(也称为爬虫协议、机器人协议等)的全称是 “网络爬虫排除标准”(Robots Exclusion Protocol),网站通过 Robots 协议告诉搜索引擎哪些页面可抓,哪些页面不能抓。 disallow就是爬虫不能搜索的所以

    2024年02月05日
    浏览(31)
  • [SWPUCTF] 2021新生赛之(NSSCTF)刷题记录 ①

    NSSCTF平台:https://www.nssctf.cn/ 直接查看源代码 F12 搜 flag 即可。 NSSCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft} NSSCTF{welcometo5space} 所以为满足 if 条件,输出flag,构造 Payload: NSSCTF{037de6d6-3b9e-4bb9-903f-4236c239b42a} 这里就是 md5 碰撞了 这里要求 a 和 b 输入值不相同, md5 加密后的值弱类型相等,

    2024年02月04日
    浏览(36)
  • [SWPUCTF 2021 新生赛]easy_md5

    由于php中存在==的弱类型比较,所以我们可以通过hash比较的缺陷去绕过 比如: 也就是只要两个数的md5加密后的值以0e开头就可以绕过,因为php在进行弱类型比较(即==)时,会现转换字符串的类型,在进行比较,而在比较是因为两个数都是以0e开头会被认为是科学计数法,0e后面

    2024年02月05日
    浏览(28)
  • 2023年8月30日-[SWPUCTF 2021 新生赛]jicao

    包含了flag.php文件,设定了一个POST请求的id和GET请求的json 语句会对GET请求的数据进行json解码 如果id和json变量的值都等于设定字符串,打印flag get传参数 的时候,直接 ?参数名=参数值 。 post传参数 可以利用hackbar插件。

    2024年02月10日
    浏览(29)
  • 字符型注入([SWPUCTF 2021 新生赛]easy_sql)

    拿到题目,查看源码,可知是要输入参数wllm。 输入参数/?wllm=1,得到会显 继续输入参数/?wllm=1\\\',报错,确定为字符型漏洞 1.查看字段列表,发现在字段4报错,确定为3列 2.查看回显 3.查询数据库名(test_db) 4.查看test_db库的表(users) 5.查询字段 6.出现flag字段,查看flag字段的内容

    2024年02月09日
    浏览(28)
  • [SWPUCTF 2022 新生赛]numgame

    这道题有点东西网页一段计算框,只有加和减数字,但是永远到大不了20,页面也没啥特别的,准备看源码,但是打不开,我以为是环境坏掉了,看wp别人也这样,只不过大佬的开发者工具可以打开,我的就不行 最后试了一下,你要么就在网页右上角更多工具里面手动打开,

    2024年02月13日
    浏览(26)
  • know it and do it

    在一盘盘有立即反馈的系统中,可以更直观的看到知道一个道理和能自然的用出来之间的鸿沟有多大。 这个就是日积月累的训练的意义了。 继续金铲铲的游玩回味,之前一段时间忙于工作就放下了,后来新的版本出来之后,开始又玩了起来。 然后基本发现两个阶段自己还是

    2024年02月05日
    浏览(29)
  • [SWPUCTF 2022 新生赛]ez_ez_php

    这段代码是一个简单的PHP文件处理脚本。让我们逐行进行分析: error_reporting(0);  - 这行代码设置了错误报告的级别为0,意味着不显示任何错误。 if (isset($_GET[\\\'file\\\'])) {  - 这行代码检查是否存在一个名为\\\"file\\\"的GET参数。 if ( substr($_GET[\\\"file\\\"], 0, 3) === \\\"php\\\" ) {  - 这行代码使用 su

    2024年02月12日
    浏览(27)
  • 【pwn】[SWPUCTF 2022 新生赛]InfoPrinter--格式化字符串漏洞,got表劫持,data段修改

    下载附件,checksec检查程序保护情况: No RELRO ,说明got表可修改 接下来看主程序: 函数逻辑还是比较简单,14行出现格式化字符串漏洞,配合pwntools的fmtstr_payload模块可直接攻击,然后就是题目提供了libc,然后第10行又泄露puts函数的地址,可直接计算出基址,然后就是/bin/sh这

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包