鸿 网 互 联 www.68idc.cn

phpcms 2007 onunload.inc.php页面的一个update型注入

来源:互联网 作者:佚名 时间:2016-05-07 10:01
下载了一套phpcms 2007进行分析,在module\movie\onunload.inc.php里发现了一个update型的注入。 ?phpdefined(IN_PHPCMS) or exit(Access Denied);$serverid ? 1 : showmessage($LANG[illegal_operation]);$db-query(UPDATE .TABLE_MOVIE_SERVER. SET `num`

下载了一套phpcms 2007进行分析,在module\movie\onunload.inc.php里发现了一个update型的注入。


 

<?php
defined('IN_PHPCMS') or exit('Access Denied');
$serverid ? 1 : showmessage($LANG['illegal_operation']);
$db->query("UPDATE ".TABLE_MOVIE_SERVER." SET `num` = (num-1) WHERE serverid = $serverid AND num > 0 ");
?>

$serverid没有进行任何过滤也没有用单引号括起来,所以无视gpc。

 

核心文件include\common.inc.php里大概80左右变量覆盖漏洞。


if($PHP_QUERYSTRING && preg_match("/^(.*)\.(htm|html|shtm|shtml)$/", $PHP_QUERYSTRING, $urlvar))
{
 parse_str(str_replace(array('/', '-', ' '), array('&', '=', ''), $urlvar[1]));
}

这个判断太弱了,判断querystring是不是等于静态文件后缀,结尾随便加个参数赋个静态文件的值就过了,经过parse_str就产生了。

 

漏洞太多了不继续分析了。

网友评论
<