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
*>