ctfhub技能树_web_web前置技能_HTTP
目录
一、HTTP协议
1.1、请求方式
1.2、302跳转
1.3、Cookie
1.4、基础认证
1.5、响应包源代码
一、HTTP协议
1.1、请求方式
注: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协议中预留给能够将连接改为管道方式的代理服务器。curl -v -X CTFHUB http://challenge-898db4987bee622b.sandbox.ctfhub.com:10800/index.php
(1)打开http://challenge-898db4987bee622b.sandbox.ctfhub.com:10800
(2)打开BurpSuite,点击Proxy出现以下情况,点击OK
(3)点击Setting,再点击Burp’s browser,再勾选Allow Burp’s browser to run without a sendbox
(4)点击Intercept is off,然后点击Open browser
(5)打开浏览器中输入网址,点击Enter
(6)复制内容
(7)点击Repeater,修改target(其中Host为网址的ip地址,Port为网址的端口号),并将内容粘贴进Request的Raw去
(8)修改GET为CTFHUB,修改/为/index.php,点击Send,得到flag为ctfhub{37c0f64d78fcd79fd4f2a7d9}
1.2、302跳转
注:重定向:HTTP重定向:服务器无法处理浏览器发送过来的请求(request),服务器告诉浏览器跳转到可以处理请求的url上。(浏览器会自动访问该URL地址,以至于用户无法分辨是否重定向了。)
重定向的返回码3XX说明。Location响应首部包含了内容的新地址或是优选地址的URL。状态码:301:在请求的URL已被移除时使用。响应的Location首部中应该包含资源现在所处的URL。
302:与301状态码类似,但是,客户端应该使用Location首部给出的URL来零食定位资源,将来的请求仍然使用老的URL。curl -i http://challenge-6ae22a10bb44b806.sandbox.ctfhub.com:10800/index.php
(1)打开http://challenge-6ae22a10bb44b806.sandbox.ctfhub.com:10800
(2)打开BurpSuite,点击Proxy出现以下情况,点击OK
(3)点击Setting,再点击Burp’s browser,再勾选Allow Burp’s browser to run without a sendbox
(4)点击Intercept is off,然后点击Open browser
(5)打开浏览器中输入网址,点击Enter
(6)复制内容
(7)点击Repeater,修改target(其中Host为网址的ip地址,Port为网址的端口号),并将内容粘贴进Request的Raw去
(8)点击send
(9)修改/为/index.php,点击Send,得到flag为ctfhub{e85b6c0fc318bca91d85a957}
1.3、Cookie
(1)打开http://challenge-9c3b7fcdb23a3363.sandbox.ctfhub.com:10800
(2)打开BurpSuite,点击Proxy出现以下情况,点击OK
(3)点击Setting,再点击Burp’s browser,再勾选Allow Burp’s browser to run without a sendbox
(4)点击Intercept is off,然后点击Open browser
(5)打开浏览器中输入网址,点击Enter
(6)复制内容
(7)点击Repeater,修改target(其中Host为网址的ip地址,Port为网址的端口号),并将内容粘贴进Request的Raw去
(8)粘贴内容,添加Cookie:admin=0,点击Send
(9)修改admin=0为admin=1,点击Send,得到flag为ctfhub{911d5c0297059b85d2d82811}
1.4、基础认证
注:在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供用户和密码的一种方式。详情请查看 https://zh.wikipedia.org/wiki/HTTP基本认证。
(1)打开http://challenge-7fc108acd0d05b5e.sandbox.ctfhub.com:10800,点击click发现要输入用户密码验证,并下载题目附件
(2)打开BurpSuite,点击Proxy出现以下情况,点击OK
(3)点击Settings,再点击Burp’s browser,再勾选Allow Burp’s browser to run without a sendbox
(4)点击Intercept is off,然后点击Open browser
(5)打开浏览器中输入网址,点击Enter
(6)点击Forward
(7)点击click
(8)点击Forward
(9)随意输入Username和Password点击Sign in
(10)复制以下内容,可以看到密码通过Basic加密
(11)右击后点击Send to Repeater,点击Repeater,输入以下内容点击Send可以看到回包中Username为admin
(12)右击后点击Send to Intruder,修改Target为http://challenge-7fc108acd0d05b5e.sandbox.ctfhub.com:10800,在密码前后加$
(13)cd Downloads进入Downloads,unzip 271_b790fbaa9f8480532fff81553e908114d783bc30.zip解压题目附件
(14)点击Load...,找到文件点击Open
(15)点击Add,选择Add prefix,添加admin:,点击OK
(16)点击Add,选择Encod,选择Base64-encode,点击OK
(17)点击Start attack
(18)看到成功的加密后的用户名密码为YWRtaW46YWNjZXNz
(19)点击Response,得到flag为ctfhub{cdc7a886854885eba099ac91}
1.5、响应包源代码
(1)打开http://challenge-e9850eb7cbc3c296.sandbox.ctfhub.com:10800,点击F12,得到flag为ctfhub{a46f9a8c37a27cefe281f95b}