“缓存欺骗第五章第四节”路径解析不一致怎么会导致漏洞产生?上实操!手把手教你成功运用并实施

admin 2025-12-29 00:34:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文深入演示了利用缓存服务器与源服务器路径解析不一致的缓存欺骗攻击。通过使用BurpSuite进行分隔符爆破和路径解析差异测试,发现特定分隔符及缓存规则。最终构造混淆请求路径,将动态个人中心信息缓存至符合静态规则的路径,实现敏感数据窃取。文章提供了完整的实战挖掘与利用步骤。 综合评分: 89 文章分类: WEB安全,渗透测试,漏洞分析


cover_image

“缓存欺骗第五章第四节”路径解析不一致怎么会导致漏洞产生?上实操!手把手教你成功运用并实施

原创

升斗安全XiuXiu

升斗安全

2025年12月28日 12:45 广东

【文章说明】

  • 目的:本文内容仅为网络安全技术研究与教育目的而创作。
  • 红线:严禁将本文知识用于任何未授权的非法活动。使用者必须遵守《网络安全法》等相关法律。
  • 责任:任何对本文技术的滥用所引发的后果自负,与本公众号及作者无关。
  • 免责:内容仅供参考,作者不对其准确性、完整性作任何担保。

阅读即代表您同意以上条款。

在上一节《“缓存欺骗第五章第三节”缓存与源服务器的路径解析“错位攻击”:如何让静态链接吐出动态数据?》中,我们详细描述了因为缓存服务器对路径解析导致的漏洞原理,今天我们结合实际的运用场景,来给大家实际展示一下这种漏洞是怎么被发现并被运用起来的。

同样的,先登录存在该漏洞的系统,并进入到系统的个人中心页面(因为该页面基本都会进行动态资源获取),然后我们还是结合“动态资源分割符查找验证、系统路径解析方式查找验证、缓存规则查找验证”的顺序来进行系统的“缓存欺骗”漏洞挖掘。

一、动态资源查找验证:

登录并进入个人中心后,将个人中心的请求使用burpsuite进行抓取,并发送到repeater中,在repeater直接进行“动态资源分隔符查找验证”,比如个人中心信息的访问路径是“/my-account”,那么直接构造访问以下三种方式的请求路径,并观察对比结果:

  • /my-account/abc
  • /my-account;abc
  • /my-accountabc

发现以上请求后,都是返回404的,不要放弃,直接上分隔符字典,看看动态资源这块是采用什么分隔符的。

将请求发送至intruder中,并使用分隔符字典【! ” # $ % & ‘ ( ) * + , – . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ %21 %22 %23 %24 %25 %26 %27 %28 %29 %2A %2B %2C %2D %2E %2F %3A %3B %3C %3D %3E %3F %40 %5B %5C %5D %5E %5F %60 %7B %7C %7D %7E】进行爆破,具体方式如下图:

遍历请求后,注意观察没有返回404的请求,这些请求中很可能就是动态资源采用的分隔符生效了,所以不会继续请求后面的abc路径内容了。

如上:我们就得到了有效的动态资源分隔符:#,?,%23, 和%3f,第一步完成,我们先记录一下。

二、系统路径解析方式查找验证

在找到到动态资源的分隔符后,我们进行第二步“系统路径解析方式查找验证”,直接在repeater中构造访问路径:/aaa/..%2f/my-account ,系统直接返回的是404提示,说明动态资源并没有对 ../这种进行路径解析,否则它会直接跳过 /aaa 直接访问 /my-account的。这也是此次漏洞挖掘的重要发现,通过这个差异的发现,我们才能做下一步的挖掘和验证。

三、缓存规则查找验证

通过查看系统的其他今天资源访问的时候,我们发现在 resources 路径下的请求,都是会进行缓存的

结合上面发现的动态资源请求时,是不会对路径进行解析的特点,以及这个静态资源路径,我们构造如下请求:/aaa/..%2f/resources/my-account 【目的是验证符合缓存规则的静态资源路径,是否会触发路径解析,验证发现与动态资源不一样,它是会进行解析的,因为它继续返回了原有缓存结果】

以上这一个步骤,我们就既验证得到了缓存规则,也验证了缓存服务器是否会走路径解析,得到的结果是缓存服务器也不会走路径解析。

最后,综合以上获取到的信息:

  • 源服务器是不对路径进行编码解析的

  • 动态资源服务器的分隔符是:#,?,%23, 和%3f

  • 缓存规则是只要请求路径 /resources 的都会进行缓存

  • 缓存服务器会对路径进行编码解析

我们就可以最终构造请求路径:/my-account%23%2f%2e%2e%2fresources?wcd 并发送给受害者,只要受害者在登录情况下,访问过该路径,就会将他的个人信息缓存进该路径,然后你只需要再次访问该路径,就能拿到他的个人信息了。以下是对这个攻击路径的解析:

  • /my-account –获取用户动态资源的请求路径
  • %23%2f%2e%2e%2f –url编码后的路径是“#/../”,这里就是这次攻击的重点部分了,通过这一段内容,就欺骗了动态资源对后面的内容进行分割,同时又对缓存服务器进行欺骗,让其对前面的路径进行了解析,就变成了直接请求了路径:/resources?wcd
  • resources?wcd –符合缓存规则的路径,构造自己专属的缓存访问路径

以上,就实现了先欺骗了源服务器“后面的内容可以不用理会”,然后又告诉缓存服务器“去把前面的内容给缓存起来”

好了,因为解析路径的顺序《“缓存欺骗第五章第二节”漏洞挖掘实战:利用路径规范化差异,实现缓存欺骗漏洞的精准打击》,以及源服务不解析路径、缓存服务器解析导致漏洞的实际操作,就介绍到这里了。

对这块感兴趣的话,合集《缓存欺骗漏洞的原理及相关利用手法》持续更新中,想要系统学习、深入了解这块的小伙伴,欢迎关注、收藏、分享~


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:升斗安全 升斗安全XiuXiu《“缓存欺骗第五章第四节”路径解析不一致怎么会导致漏洞产生?上实操!手把手教你成功运用并实施》

AWSWAFbypass 网络安全文章

AWSWAFbypass

文章总结: 本文分享了一个AWSWAF绕过技巧,通过构造特殊的HTML标签属性混淆Payload,利用onmouseover事件执行JavaScript代码以触
评论:0   参与:  0