CTFHUB-WEB-WEB前置技能-HTTP协议-302跳转
前言
第二道题,跟第一题不能说一模一样,只能说毫不相干
一、解题过程
·题目如下:
·开启题目,打开题目给出的链接
·点击 Give Me Flag,发现并没有任何的变化
·使用BurpSuite,开启拦截功能进行抓包
·发送到repeater,得到flag
二、过程详解
1.网页变化
后来我再次上网查询的时候发现网页是有变化的,截一下别人的图:
这是个什么东西呢?上一题也出现了index.html,于是我搜了一下
没看懂,于是问了一个同学:
我的解读:
狠狠懂了!
2.关于BurpSuite
这个在CTFHUB的工具栏就可以下载,但是那个是英文版,我看不下去又找了教程下载了汉化的版本
→Burpsuite汉化版详细安装教程及中文安装包
打开之后试着抓包来着,但抓了个寂寞,我又在b站上找抓包教程,才发现还要在浏览器手动设置网络代理
(抓包结束之后记得关掉,不然后续可能会导致网页打不开)
设置好之后再开始抓包就很顺利了。
但是为什么呢????
详细的代理设置可以看这个 Burp Suite代理和浏览器设置
·那为什么打开代理后浏览器页面打不开呢?
详细的原因: 分析
3.302跳转
题目叫302跳转,什么是302跳转呢?
在 HTTP 协议中,重定向操作由服务器向请求发送特殊的重定向响应而触发。重定向响应包含以 3 开头的状态码,以及 Location 标头,其保存着重定向的 URL。
浏览器在接收到重定向时,它们会立刻加载 Location 标头中提供的新 URL。除了额外的往返操作中会有一小部分性能损失之外,重定向操作对于用户来说是不可见的。
重定向的返回码3XX说明,Location响应首部包含了内容的新地址或是优选地址的URL。
下图反映了重定向操作的过程
重定向又分为临时重定向、永久重定向和特殊重定向 HTTP的重定向
·URL是啥?
上题也出现了URL,不太重要我就没在意,今天查了一下:
Internet上的每一个网页都具有一个唯一的名称标识,通常称之为URL(Uniform Resource Locator, 统一资源定位器)。它是www的统一资源定位标志,简单地说URL就是web地址,俗称“网址”。
也就是这个东西:
关于URL的具体介绍看这里 URL介绍
·关于状态码:
301–在请求的URL已被移除时使用。响应的Location首部中应该包含资源现在所处的URL。
302–与301状态码类似。但是,客户端应该使用Location首部给出的URL来临时定位资源,将来的请求仍然使用老的URL。
简单来说就是,301 代表永久性转移 ,302 代表暂时性转移
4.新的方法
在搜索相关资料的时候,我发现了更为简洁的做法,不需要BurpSuite进行抓包
·查看网页源代码
很显眼的href=“index.php”。在html语言中,a标签的href属性规定了链接的目标,也就是说index.php就是目标地址,flag就在index.php中
·于是curl -v
一下url的index.php,果然拿到了flag
(这两张都是拿的别人的图,花金币把题又做了一遍却忘记截屏…别管我了我精神状态极好)
总结
到这为止这道题算是完满的解出来了,如果不是各种查询我是肯定无法独立完成这道题的,因为我基础概念都不知道…希望能通过这种方式逐渐丰富自己的知识吧。也一定要坚持问“为什么”,一定要搞清楚每道题背后的原理!!就这样吧,加油加油加油!