IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Web--HTTP协议 -> 正文阅读

[网络协议]Web--HTTP协议

web前置技能

HTTP协议

请求方法

打开靶机,看到提示

image-20220514114108557

提示说,需要使用 CTF**B 方法,才会把flag给我,使用Burp抓包,将 请求方法修改为 CTFHUB

image-20220514142227588

或者使用 CURL 工具更改请求发送

image-20220514132649793

获得Flag提交

302跳转

打开链接看到,这个

image-20220514214737413

点击链接,无反应,burp 抓包看看,这里就已经看到flag了,点击 (Follow redirection) 跟随重定向

image-20220514214840814

image-20220514215036583

结果就是又到了 主页面上了,由于 302 重定向跳转速度很快,如果不进行抓包的话,很难看到中间经过了一个其他的响应过程

Cookie

Cookie欺骗、认证、伪造,打开给出提示,只有 admin 才能 get flag ,说明需要admin认证才能获取到flag。

image-20220518134314846

抓包看看,看到 cookie 字段有个 admin=0 ,0 表示 false。

image-20220518134506774

将 admin=0 改成 admin=1,就可以getflag了。

image-20220518134550140

image-20220518134605658

基础认证

HTTP 基础认证是利用头部字段进行认证的一种方式,认证形式如: Authorization: Basic <base64>。抓包查看一下

image-20220518190337417

image-20220518190430147

image-20220518190454669

对上面的Authorization 字段的 base64解码 得到基础认证是用户名和密码格式,是将 用户名:密码 进行了base64编码后传输的,因此在外部网络中是非常不安全的,多用于可信网络中(如:私有网络中的后台管理页面等)

image-20220518191006814

下面就可以对账号和密码进行爆破。

image-20220518215401764

image-20220518191733114

image-20220518191711783

等爆破完成后,就可以通过响应码或者响应字节来判断是否成功,选择成功的payload中的编码进行解码

image-20220518220807518

image-20220518220820776

登录页面,登录后就get flag

image-20220518220908623

响应包源代码

根据题目,我就直接进行抓包查看一下响应数据

image-20220518221754097

看到请求包中的请求头部分中框起来的内容。

# If-Node-Match 
1、If-None-Match 是一个条件式请求首部。对于 GET 和 HEAD 请求方法来说,当且仅当服务器上没有任何资源的 ETag 属性值与这个首部中列出的相匹配的时候,服务器端才会返回所请求的资源,响应码为 200 。对于其他方法来说,当且仅当最终确认没有已存在的资源的 ETag 属性值与这个首部中所列出的相匹配的时候,才会对请求进行相应的处理。
2、对于  GET 和 HEAD 方法来说,当验证失败的时候,服务器端必须返回响应码 304 (Not Modified,未改变)。对于能够引发服务器状态改变的方法,则返回 412 (Precondition Failed,前置条件失败)。需要注意的是,服务器端在生成状态码为 304 的响应的时候,必须同时生成以下会存在于对应的 200 响应中的首部:Cache-Control、Content-Location、Date、ETag、Expires 和 Vary 。
3、ETag 属性之间的比较采用的是 弱比较算法,即两个文件除了每个字节都相同外,内容一致也可以认为是相同的。例如,如果两个页面仅仅在页脚的生成时间有所不同,就可以认为二者是相同的。
4、当与  If-Modified-Since  一同使用的时候,If-None-Match 优先级更高(假如服务器支持的话)。

上面的解释选取于 MDN 。也就是说,当服务端 Etag 首部 的值 与 请求中 If-None-Match 首部 的值不同时,才会返回所请求的资源,如果相同的话则会返回 304状态码 表示资源没有改变。而 If-Modified-Since 首部与 If-None-Match 首部一起出现的时候,If-Modified-Since 就会被忽略掉。

所以只需要修改一下 请求中的If-None-Match 首部的值,就会导致服务器认为请求的资源和服务端的资源不匹配,因此会返回所请求的资源。

image-20220518223541095

服务器这时候就返回了请求中的全部资源,拿到了 flag。

HTTP协议学习:MDN doc

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:32:39  更:2022-05-24 18:32:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:26:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码