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
    评论
CTFHubWeb技能树中,302跳转是一种常见的技术。根据引用\[1\],302跳转继承了HTTP 1.0中302的实现,即无论原请求是GET还是POST,都可以自动进行重定向。而根据引用\[2\],在使用curl命令进行下载时,可以通过参数-C -实现断点续传,即在下载过程中按Ctrl + C停止下载,下次可以接着上次的进度继续下载。这样可以节省时间,避免重复下载已经下载过的部分。 在某些情况下,302跳转可能会受到黑名单的限制。根据引用\[3\],黑名单可能限制了特定的网段,如127、172、10、192网段。然而,可以通过使用localhost的方式绕过这些限制。例如,将http://127.0.0.1/flag.php转换为短网址,并构造Payload发送请求,利用302跳转可以获取到flag。 总结来说,302跳转是一种常见的Web技术,可以用于重定向请求。在CTFHubWeb技能树中,了解如何使用302跳转以及如何绕过黑名单限制是很重要的。 #### 引用[.reference_title] - *1* *2* [2.CTFhub技能web前置技能 http协议 302跳转](https://blog.csdn.net/FFFFFFMVPhat/article/details/121342556)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [CTFHub技能Web-SSRF 302跳转 Bypass](https://blog.csdn.net/weixin_44037296/article/details/118482943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值