CTFHUB-HTTP协议

前言

在CTFHUB这个平台上看到了有一组题是HTTP类型的。还蛮好奇的,想着试着玩儿一下。

请求方式

方法一

 上面提示我们HTTP协议中定义了八种请求方法。这八种都有:

1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

然后我们打开环境

 这大概意思就是说需要我们使用CTF**B的请求方法才能给我们flag,可是这八种方法当中并没有CTF**B,有点儿意思了昂。那我们就先抓包吧,把请求方法强行改成CTF**B。

这里我们猜测CTF**B或许就是CTFHUB。

 我们把这个GET请求方法改成CTFHUB请求方法

 然后我们再放包,这样我们便可拿到flag

 方法二:

我们可以在cmd窗口当中使用curl命令 curl -v -X CTFHUB http://challenge-a4a48607da63e196.sandbox.ctfhub.com:10080/index.php 

也可拿到flag,大家可以参考curl命令大全

 302跳转

打开环境,进入页面。点击链接发现没什么用

 题目是302跳转,我们单击链接出现的是index.html。那就是了,302重定向。

什么是重定向

HTTP重定向:服务器无法处理浏览器发送过来的请求(request),服务器告诉浏览器跳转到可以处理请求的url上。(浏览器会自动访问该URL地址,以至于用户无法分辨是否重定向了。) 
重定向的返回码3XX说明。Location响应首部包含了内容的新地址或是优选地址的URL。

状态码

301:在请求的URL已被移除时使用。响应的Location首部中应该包含资源现在所处的URL。 
302:与301状态码类似,但是,客户端应该使用Location首部给出的URL来零食定位资源,将来的请求仍然使用老的URL。

那好我们还可以利用curl命令: curl -i http://challenge-9015d8e997a381c8.sandbox.ctfhub.com:10080/index.php 

注意,这里我们要将html改成php,要请求的页面是同一目录下的index.php而非html

 这样便可以拿到flag

Cookie

打开环境,页面提示我们只有admin才能拿到flag,这肯定是要我们进行cookie欺骗了,那我们先抓包

 将admin=0改成admin=1造成cookie伪造这样就可以拿到flag了

基础认证

当我们下载好环境之后,发现题目下面有个附件,我们先下载下来看看,发现里面有好多东西,好像是一个密码集。类似一个字典。我们打开页面

 当我们单击的时候,会弹出一个框来,上面需要我们输入用户名和密码。用户名得知是admin。那我们需要密码。而刚才我们下载了一个附件,那里应该存放的是密码。这里我们就需要爆破一下,而那个就密码集就是我们需要的字典。

我们输入admin;admin,然后抓包

 它是以base64加密的,我们发送报文

 把我们下载的字典给添加上。

 

 开始爆破

 这样就成功了

响应包源代码

这道题一定是搞笑来的。我们打开页面之后发现是一个贪吃蛇的游戏,我还以为多难,尝试了一下抓包,啥都没有,结果在源代码里发现了flag

原文地址:https://www.cnblogs.com/awsole/p/14675330.html