安全技术研究-Content Type Headers 缺失

介绍

现代浏览器可以猜测响应的内容类型,即使它没有实际的content - type头。此外,即使Content-Type头已经就位,浏览器也不一定会遵从设定的Header的值。这种猜测是通过驻留在大多数浏览器中的一个称为mime -sniffing的固有函数实现的。尽管引入mime -sniffing是为了在缺乏头文件定义的情况下促进功能,但默认情况下启用的mime -sniffing可以促进发现某些条件下的跨站点脚本(XSS)。

假设一个web应用程序允许其用户上传图像文件,而这些文件又通过某个端点提供服务。如果它们没有任何Content-Type头,那么攻击者可能会上传包含恶意JavaScript代码的HTML文档来代替合法图像。一旦完成,下一步将是获取服务恶意HTML页面的直接URL,该页面将被传递给下一个不知情的受害者,最终导航到该页面。

影响及危害

缺少Content-Type报头,或者至少配置错误,会导致上面所写的XSS攻击。因此,影响的规模取决于web应用程序受到XSS攻击的能力和敏感性,而XSS攻击是由于Content-Type错误配置而启用的……

如何防护

为了防止由于无效或缺少Content-Type头而发生mime-sniffing错误,开发人员必须:

根据所服务的文件提供有效的Content-Type头

将X-Content-Type-Options报头设置为nosniff,这样浏览器就不会尝试猜测内容类型。

验证每个HTTP响应都包含一个Content-Type报头。 text/*, /+xml和application/xml内容类型也应该指定一个安全字符集(例如UTF-8, ISO-8859-1)。

展开阅读全文

页面更新:2024-04-29

标签:报头   缺失   应用程序   恶意   浏览器   错误   类型   上传   页面   文件   内容

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top