Invision Power Board search.php脚本代码注入漏洞
发布日期:2006-04-25
更新日期:2006-04-26
受影响系统:Invision PS Invision Board 2.1.5
描述:
BUGTRAQ ID:
17695
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 );
<*来源:IceShaman
Wells
链接:
http://secunia.com/advisories/19830/print/
http://marc.theaimsgroup.com/?l=bugtraq&m=114598412817933&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
- 在论坛的某个位置张贴“eval(die()); //”;
- 使用搜索表单通过你的用户名找到“die”文本(以便只显示一个结果),确定选择了“Show results as posts”;
- 向URL开头附加“&lastdate=z|eval.*?%20//)%23e%00”并按回车。
建议:
厂商补丁:
Invision PS
-----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://forums.invisionpower.com/index.php?showtopic=213374浏览次数:3966
严重程度:0(网友投票)