phpwind 8.3~8.7 重要安全漏洞补丁发布

  • 时间:
  • 浏览:0
  • 来源:江苏快3平台-江苏快3网投平台_江苏快3投注平台
作者:匿名 hihi 来源:ChinaZ源码报导 浏览: 2011-8-29 10:29:28 字号:大 中 小

[摘要]PHPWind是一个多多 基于PHP和MySQL的论坛任务管理器,是国内最受欢迎的通用型论坛任务管理器之一。phpwind全能建网站软件饱含bbs、cms、博客、sns、群组等当前流行门户网站模式。

  PHPWind v8.7以前发布不久,日前PHPWind官网就发现了PHPWind 8.3~8.7全系高等级安全漏洞,并发布相应的安全补丁,用户可自行修改文件,可能性下载补丁文件覆盖网站。

补丁名称:phpwind 8.3~8.7bata 安全补丁(更新时间20110826)

影响版本:PW8.3 PW8.5 PW8.7bata

涉及文件:/lib/utility/querybuilder.class.php

任务管理器编码:本补丁包兼容 phpwind  8.3~8.7 所有编码

更新土办法 :

  1、手动更新:打开网站根目录下的/lib/utility/querybuilder.class.php文件,查找:

function _parseStatement($statement, $conditions, $isCheck = false) {

    if (! $statement || ! is_array ( $conditions ))

        return array ('', array () );

    preg_match_all ( '/:(\w+)/', $statement, $matchs );

    if (! $matchs [0])

        return array ('', array () );

    $fields = array ();

    $statement = preg_replace ( "/(:\w+)/", "[$1]", $statement );

    foreach ( $matchs [0] as $k => $field ) {

        $fields [$matchs [1] [$k]] = $conditions [$k];

        $param = (is_array ( $conditions [$k] )) ? S::sqlImplode ( $conditions [$k] ) : (($isCheck && strpos ( $field, 'pw_table' ) !== false) ? $conditions [$k] : S::sqlEscape ( $conditions [$k] ));

        $statement = str_replace ( "[" . $field . "]", $param, $statement );

    }

    return array ($statement, $fields );

}

修改为:

function _parseStatement($statement, $conditions, $isCheck = false) {

if (! $statement || ! is_array ( $conditions ))

return array ('', array () );

preg_match_all ( '/:(\w+)/', $statement, $matchs );

if (! $matchs [0])

return array ('', array () );

$fields = array ();

//fix WooYun-2011-02720.感谢Ray在 http://www.wooyun.org/bugs/wooyun-2010-02720 上的反馈

$seg = randstr(4);

$statement = preg_replace ('/(:\w+)/', $seg . '${1}' . $seg, $statement );

foreach ( $matchs [0] as $k => $field ) {

$fields [$matchs [1] [$k]] = $conditions [$k];

$param = (is_array ( $conditions [$k] )) ? S::sqlImplode ( $conditions [$k] ) : (($isCheck && strpos ( $field, 'pw_table' ) !== false) ? $conditions [$k] : S::sqlEscape ( $conditions [$k] ));

$statement = str_replace ( $seg . $field . $seg, $param, $statement );

}

return array ($statement, $fields );

}

  2、覆盖文件:上http://www.phpwind.net/read-htm-tid-1400034.html 下载补丁包,解压上传upload下的所有文件及目录,以覆盖原站点任务管理器,即可补丁更新完成!

  此次漏洞是在wooyun发布的,wooyun是自由平等的漏洞报告平台,一个多多 趋于稳定厂商和安全研究者之间的漏洞报告平台,国内众多知名源码任务管理器,其中饱含Discuz的大帕累托图漏洞也是在此站发布。

sssss
Tags: phpwind   phpwind安全补丁   phpwind漏洞  
责任编辑:190