一、什么web缓存中毒?
Web缓存中毒(Web Cache Poisoning)是一种攻击技术,攻击者通过操纵Web应用程序的缓存系统,将恶意或欺骗性内容注入到合法的缓存中,以欺骗用户或绕过安全控制。
Web缓存中毒的原理是利用缓存服务器在接收到请求后,将响应保存在缓存中并将相同响应返回给后续请求的用户。攻击者通过在请求中操纵参数、头部或URL等,使缓存服务器错误地将恶意或欺骗性响应存储在缓存中。当其他用户发起相同请求时,缓存服务器将返回被注入的恶意响应,从而达到攻击的目的。

二、Web缓存中毒可能导致那些问题?
恶意内容传播:攻击者可以注入恶意脚本、恶意链接或恶意文件,使用户的浏览器执行恶意代码或下载恶意文件,导致用户设备被感染或受到其他安全威胁。
身份盗窃:攻击者可以伪造登录页面或欺骗性表单,诱使用户输入敏感信息,如用户名、密码、信用卡信息等,从而窃取用户的身份凭证。
网络钓鱼:攻击者可以欺骗用户访问虚假的网站或页面,从而窃取用户的敏感信息或诱导用户进行非法行为。
网站篡改:攻击者可以篡改网站内容,包括更改产品价格、修改订单信息、发布虚假公告等,导致用户受到经济损失或误导。
三、 通过设计缺陷进行利用
1、使用 Web 缓存中毒来传递 XSS 攻击
GET /en?region=uk HTTP/1.1
Host: innocent-website.com
X-Forwarded-Host: a."><script>alert(1)</script>"
HTTP/1.1 200 OK
Cache-Control: public
<meta property="og:image" content="https://a."><script>alert(1)</script>"/cms/social.png" />
tips;X-Forwarded-Host(XFH)标头是事实上的标准标头,用于标识客户端在主机 HTTP 请求标头中请求的原始主机。
原理:X-Forwarded-Host标头的值用于动态生成Open Graph图像URL,然后将其反映在响应中。并且X-Forwarded-Host标题通常是不加密的。在此示例中,缓存可能容易受到包含简单XSS有效负载的响应的污染。
2、使用 Web 缓存中毒来利用不安全的资源导入处理
GET / H

Web缓存中毒是一种攻击手段,通过操纵缓存系统注入恶意内容,影响用户和网站安全。这种攻击可能导致恶意内容传播、身份盗窃、网络钓鱼和网站篡改等问题。攻击者利用设计缺陷如XSS、资源导入和Cookie处理进行利用。防御措施包括输入验证、缓存策略设置和完整性校验等。
最低0.47元/天 解锁文章
3410

被折叠的 条评论
为什么被折叠?



