受影响系统:
PHPPHP5.2.0
描述:
BUGTRAQ ID:
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。
PHP的ext/filter在执行HTML标记检查过滤过程时存在漏洞,远程攻击者可能利用特定的字串序列绕过标记过滤,向PHP应用注入HTML代码。
PHP的ext/filter在执行过滤时首先从输入中去除HTML标签,但跟随了空格字符的左标签括号除外。这些括号被认为是足够安全的,不必去除。标签去除之后是低ASCII字符去除进程。由于一些空格字符低于ASCII值32,因此如果选择了FILTER_FLAG_STRIP_LOW的话也会从输入中去除,这样就修复了上述没有去除的无效标签,导致完全绕过HTML标签去除,向站点注入恶意HTML内容。
<*来源:StefanEsser(
)
链接:
*>
测试方法:
警告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!保存以下代码并使用类似于var=<%0bscript>alert(/XSS/);<%0b/script>的方法调用:
<?php
$var=filter_input(INPUT_GET,"var",FILTER_SANITIZE_STRING,
array("flags"=>FILTER_FLAG_STRIP_LOW));
echo$var;
?>
建议:
厂商补丁:
PHP
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: