前言
在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