Invision Power Board search.php脚本代码注入漏洞


添加时间:
2008-10-03

系统编号:
WAVDB-00923
BUGTRAQ: 17695

影响版本:
Invision Power Board 2.1.5

程序介绍:

Invision Power Board是一款流行的PHP论坛程序。

漏洞分析:

Invision Power Board的search.php脚本处理变量时存在输入验证漏洞,远程攻击者可能利用此漏洞注入PHP代码获取执行。 
在preg_replace()中使用之前Invision Power Board没有正确的过滤search.php中对lastdate参数的过滤,导致可以通过样式修改符“e”注入任意PHP代码。 
sources/action_public/search.php 1261行漏洞代码: 
$this->output = preg_replace( \ "#(value=[\"']{$this->ipsclass->input['lastdate']}[\"'])#i", "\\1 \ selected='selected'", $this->output );

漏洞利用:

- 在论坛的某个位置张贴“eval(die()); //”; 
- 使用搜索表单通过你的用户名找到“die”文本(以便只显示一个结果),确定选择了“Show results as posts”; 
- 向URL开头附加“&lastdate=z|eval.*?%20//)%23e%00”并按回车。

解决方案:
厂商补丁:
Invision PS
-----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://forums.invisionpower.com/index.php?showtopic=213374

信息来源:
<*来源:IceShaman Wells
链接:http://secunia.com/advisories/19830/print/
http://marc.theaimsgroup.com/?l=bugtraq&m=114598412817933&w=2
*>