我们最近升级了安全扫描仪,它报告了一个新问题。
建议的修复方法是什么? (我们碰巧在 ACF9。)
(另外,如果您有针对 CF 的漏洞利用示例,我将不胜感激。)
Unicode transformation issues
Severity
High
Type
配置
Reported by module
脚本(XSS.script)
Description
此页面容易受到各种 Unicode 转换问题的影响
例如最佳拟合映射、超长字节序列、格式错误
序列。
当角色 X 转换为时,就会发生最佳拟合映射
一个完全不同的字符 Y。一般来说,最佳拟合映射
当字符在 Unicode 和其他字符之间转码时发生
编码。
超长字节序列(非最短形式)- UTF-8 允许
字符的不同表示也有更短的
形式。出于安全原因,UTF-8 解码器不得接受
长度超过字符编码所需长度的 UTF-8 序列。例如,字符 U+000A(行
feed)必须仅以以下形式从 UTF-8 流接受:
0x0A,但不属于以下五种可能的超长中的任何一种
形式:
UNICODE 3.0 所要求的格式错误的子序列,并在
Unicode 技术报告 #36,如果前导字节后跟
无效的后继字节,那么它不应该消耗它。
Impact
当出现最佳匹配映射时,就会出现软件漏洞。为了
例如,可以操纵字符来绕过字符串处理
过滤器,例如跨站脚本 (XSS) 或 SQL 注入过滤器,
WAF 和 IDS 设备。过长的 UTF-8 序列可能被滥用
绕过仅查找最短可能的 UTF-8 子字符串测试
编码。
Recommendation
确定这些 Unicode 转换问题的根源并修复它们。
请参阅下面的网络参考以获取更多信息。
References
统一码
安全 http://www.blackhat.com/presentations/bh-usa-09/WEBER/BHUSA09-Weber-UnicodeSecurityPreview-PAPER.pdf
UTF-8 和 Unicode 常见问题解答
Unix/Linux http://www.cl.cam.ac.uk/%7Emgk25/unicode.html
PHP 上的几个 unicode 问题
火狐浏览器 http://sirdarckcat.blogspot.ro/2009/10/couple-of-unicode-issues-on-php-and.html http://www.unicode.org/reports/tr36/
统一码
安全考虑 http://www.unicode.org/reports/tr36/
Affecteditems
/我的网站门户/
Details
URL 编码的 POST 输入 linkServID 设置为
acu5955%EF%BC%9Cs1%EF%B9%A5s2%CA%BAs3%CA%B9uca5955
问题清单:
请求标头
GET
/mysite-portal/?display=登录状态=失败记住Me=0&contentid=&LinkServID=acu5955%1
Cs1es2%BAs3%B9uca5955 返回URL=https://stage-cms.mysite.com/mysite-portal/ https://stage-cms.mysite.com/mysite-portal/HTTP/1.1 引用者:https://stage-cms.mysite.com:443/ https://stage-cms.mysite.com:443/
连接:保持活动状态
接受编码:gzip、deflate
用户代理:Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;WOW64;
三叉戟/5.0)
接受: */*
主机:stage-cms.mysite.com