当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2010-0873

漏洞标题:Phpwind远程任意代码执行漏洞

相关厂商:phpwind

漏洞作者: 路人甲

提交时间:2010-11-25 11:45

修复时间:2010-12-25 12:00

公开时间:2010-12-25 12:00

漏洞类型:命令执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2010-11-25: 细节已通知厂商并且等待厂商处理中
2010-11-25: 厂商已经确认,细节仅向厂商公开
2010-11-28: 细节向第三方安全合作伙伴开放
2011-01-19: 细节向核心白帽子及相关领域专家公开
2011-01-29: 细节向普通白帽子公开
2011-02-08: 细节向实习白帽子公开
2010-12-25: 细节向公众公开

简要描述:

Phpwind对于某些用户提交的参数过滤不严,导致可能的一个远程代码执行,普通前台恶意用户可以取得使用phpwind站点的权限

详细说明:

./phpwind7.2/thread.php中

InitGP(array('page','type','search','orderway','asc','special'));
…… //此处省略X行
$db_maxpage && $page > $db_maxpage && $page = $db_maxpage;
(int)$page<1 && $page = 1;
…… //此处也省略X行
$numofpage < 1 && $numofpage = 1;
if ($page > $numofpage) {
$page = $numofpage;
}
最终Page这个变量进入了两次判断,都只是判断了大小,而后走入
if ($db_fcachenum && $page < $db_fcachenum && empty($urladd)) {
$fcachetime = pwFilemtime(D_P."data/bbscache/fcache_{$fid}_{$page}.php");
$lastpost = explode("\t",$foruminfo['lastpost']);
if (!file_exists(D_P."data/bbscache/fcache_{$fid}_{$page}.php") || $lastpost[2]>$fcachetime && $timestamp-$fcachetime>$db_fcachetime) {
$fcache = 1;
} else {
$fcache = 2;
}
}
当开启了版块缓存的话,且D_P.data/bbscache/fcache_{$fid}_{$page}.php的创建时间在缓存有效期间内的话
……
include_once(D_P."data/bbscache/fcache_{$fid}_{$page}.php");


则毫不留情的包含了
良好的设计需要良好的实现,良好的实现依赖于人员良好的执行,你说呢?

漏洞证明:

需要么

修复方案:

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2010-11-25 16:04

厂商回复:

谢谢漏洞提交者,我们正在修复此漏洞,谢谢!

最新状态:

暂无