阶段:实施
使用并指定可以通过读取输出的下游组件来处理的输出编码。常见编码包括ISO-8859-1,UTF-7和UTF-8。当未指定编码时,下游组件可以通过假设默认编码或自动推断使用哪种编码的编码来选择其他编码,这可能是错误的。当编码不一致时,即使它们在原始编码中并不特别,下游组件也可能将某些字符或字节序列视为特殊。然后,攻击者可能能够利用这种差异并进行注射攻击;他们甚至能够绕过假设原始编码的保护机制也由下游组件使用。
输出编码不一致的问题通常在网页中出现。如果未在HTTP标题中指定编码,则Web浏览器通常会猜测使用哪种编码。这可以打开浏览器以微妙的XSS攻击。
|