CTFHUB-WEB-WEB前置技能-HTTP协议-请求方式

CTFHUB-WEB-WEB前置技能-HTTP协议-请求方式



前言

2023/9/1 正式开始入门ctf-web方向~要一直坚持下去哦!!!


一、解题过程

·题目如下:
​​​​
题目
·开启题目,打开题目给出的链接

提示
·打开DOS窗口,使用curl命令查看服务器的返回信息,就可以找到flag了

curl -v -X CTFHUB 相关url

在这里插入图片描述

二、过程解读

1.HTTP请求方法

上网查阅后发现现在是九种。
·HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
·HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

方法描述
GET请求指定的页面信息,并返回实体主体。
HEAD类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
PUT从客户端向服务器传送的数据取代指定的文档的内容。
DELETE请求服务器删除指定的页面。
CONNECTHTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS允许客户端查看服务器的性能。
TRACE回显服务器收到的请求,主要用于测试或诊断。
PATCH是对 PUT 方法的补充,用来对已知资源进行局部更新 。

虽然 HTTP 的请求方式有 9 种,但是我们在实际应用中常用的也就是 get 和 post,其他请求方式也都可以通过这两种方式间接的来实现。

2.消息结构

客户端请求消息:在这里插入图片描述
服务器响应消息:在这里插入图片描述
更多有关http的教程可以看 HTTP 教程|菜鸟教程

3.关于curl命令

由于什么也不会,所以直接在网上找了教程跟着教程走的,然后查了一下为什么是curl -v -X。

1、curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。

2、不带有任何参数时,curl 就是发出 GET 请求。

GET 的作用是请求指定的页面信息,并返回实体主体,刚好不是很明白,于是我用刚刚那个网址试了一下:

curl http://challenge-741852c18cc2a80e.sandbox.ctfhub.com:10800/index.php

在这里插入图片描述
这个返回的好熟悉啊,很像我之前学了一点之后罢工的h5,于是我试着在vscode运行了这段代码:
在这里插入图片描述
alt+B之后果然!
在这里插入图片描述
在这里插入图片描述
↑是段落的标签,里面给出了刚刚打开链接后网页的内容,看来直接curl就是给出了页面的源代码

既然是发出GET请求,那我能不能直接在命令行使用GET?
在这里插入图片描述
看来是不太行的,但为什么呢?我又查询了GET的用法,才发现是我疏忽了HTTP的消息结构,也就是这个:在这里插入图片描述
可见GET方法是请求行的第一个要素而已,要严格遵守消息结构才能使用。

3、-v与-X是什么

·-v参数输出通信的整个过程,用于调试。
在这里插入图片描述
·-X参数指定 HTTP 请求的方法。
在这里插入图片描述
所以curl -X CTFHUB可以直接找出flag,而curl -v是为了输出通信的整个过程

需要注意的是,这些参数都严格区分大小写,比如-x-X就代表不同的含义,更多的关于curl的用法可以看 curl的用法指南

总结

撒花!第一道web的题,花了一两个小时,自我感觉是已经把这道题吃透了,希望bbbbb再接再厉,持之以恒的做下去~~~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值