OWASP应用程序安全验证标准(ASVS)第3版在第V11.2条中规定:
验证每个HTTP响应都包含指定安全字符集(例如,
UTF-8、ISO 8859-1)的内容类型标头。
忽视这一要求的威胁是什么,如何加以利用?
发布于 2016-05-04 20:00:37
减少客户端攻击。
例如:如果XSS驻留的页面没有提供页面字符集头,或者设置为UTF-7编码的任何浏览器都可以使用以下方法进行攻击。例如(UTF-7编码):
+ADw-SCRIPT+AD4-alert('XSS');+ADw-/SCRIPT+AD4-而且很难防止XSS攻击。
更多信息:带有utf-7的XSS
发布于 2016-05-04 20:07:40
2008年,Leviathan的Blake的论文-- http://www.leviathansecurity.com/white-papers/flirting-with-mime-types --用字符集确定了一些原始的问题空间。
一些工具正确地识别和解释了这个问题,例如https://portswigger.net/KnowledgeBase/Issues/Details/00800200_HTMLdoesnotspecifycharset
您将在存储的XSS上的OWASP测试指南中看到提到字符集:
此设计缺陷可在浏览器MIME错误处理攻击中利用。例如,像JPG和GIF这样看起来无害的文件可以包含XSS有效负载,在浏览器加载它们时执行。当图像的MIME类型(如image/gif )可以设置为text/html时,这是可能的。在这种情况下,该文件将被客户端浏览器视为HTML。还要考虑的是,不像Mozilla或其他浏览器那样处理MIME类型。例如,处理以HTML内容作为HTML内容的TXT文件。有关MIME处理的更多信息,请参阅本章末尾的白皮书部分。
更多信息可以在维基百科的Charset嗅探-- https://en.wikipedia.org/wiki/Content_嗅探页面上找到。
https://security.stackexchange.com/questions/122321
复制相似问题