当前位置: 首页 > article >正文

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}


http://www.kler.cn/a/155072.html

相关文章:

  • VTK知识学习(8)-坐标系统
  • flinkOnYarn并配置prometheus+grafana监控告警
  • 软件工程笔记二—— 软件生存期模型
  • 【mysql的当前读和快照读】
  • CSP/信奥赛C++语法基础刷题训练(8):洛谷P5718:找最小值
  • Matplotlib库中show()函数的用法
  • Python海绵宝宝
  • 【SpringMVC】Spring Web MVC入门(一)
  • 公平锁和非公平锁以及他们的实现原理是什么
  • react-route-dom 实现简单的嵌套路由
  • linux如何杀死进程_kill
  • 吸积效应:为什么接口会越来越臃肿?我们从一个接口说起
  • vue项目node-sass^4.14.1 python gyp 报错解决办法
  • react-native实践日记--5.ReactNative 项目版本升级,0.61到0.72升级的问题记录(一)
  • SSH:安全的远程登录和数据传输工具
  • Mysql——》int(1)和 int(10)区别
  • python弹球小游戏
  • Claude2 -sdk java (非官方提供)开源计划
  • Python简单模拟蓝牙车钥匙协议
  • Linux周期任务
  • 将数据导出为excel的js库有哪些
  • linux简述进程
  • 程序员学习方法
  • 字符函数 和 字符串函数
  • asp.net core webpi 结合jwt实现登录鉴权
  • 金额到底应该用什么类型存储?