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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ffmpeg-web-pusher是一个基于FFmpeg的实用工具,用于实时将音频和视频内容推送到Web服务器。它可以将本地视频或音频文件编码并传输到网络服务器上,从而实现实时推流功能。 ffmpeg-web-pusher具有以下几个主要功能: 1. 编码和推送:通过FFmpeg进行音视频编码,然后使用HTTP或RTMP协议将数据推送到Web服务器。这样,可以实现通过Web浏览器或其他支持Web播放的设备来实时观看视频或听取音频。 2. 多种格式支持:ffmpeg-web-pusher支持多种音视频格式,包括常见的MP4、FLV、AVI等。无论是从本地文件还是摄像头进行推流,都可以根据需要选择合适的格式。 3. 音频和视频参数设置:通过ffmpeg-web-pusher,可以根据需求设置音频和视频的各种参数,如比特率、帧率、分辨率等。这样可以根据网络带宽和终端设备的性能来进行适当的优化。 4. 实时监控:ffmpeg-web-pusher提供实时监控功能,可以显示当前推送的音频和视频的传输状态,如帧率、码率、延迟等。这对于调试和优化音视频传输非常有帮助。 ffmpeg-web-pusher是一个功能强大而灵活的工具,可以帮助开发人员实现实时音视频推流功能,并在Web浏览器上进行播放。无论是在线直播、视频会议、视频监控还是其他实时音视频场景,都可以通过使用ffmpeg-web-pusher来实现。它在提供高质量音视频传输的同时,还可以根据具体需求进行各种参数调整,使其更好地适应不同的应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iKnsec

您的鼓励,是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值