首页 > web开发 > 其他综合 > 正文
3.2.1.3 查看配置文件
2015-11-27 16:14:00     我来说两句      
收藏    我要投稿

接下来我们找找配置文件,上面我们介绍到配置文件的文件名通常都带有“config”这样的关键字,我们只要搜索带有这个关键字的文件名即可,如图3-11所示。

在搜索结果中我们可以看到搜索出来多个文件,结合文件所在目录这个经验可以判断出data目录下面的config.php以及cache_config.php才是真正的配置文件,打开 /data/config.php查看代码,如下所示:


 

<?php
$dbhost   = "localhost";
$dbname   = "74cms";
$dbuser   = "root";
$dbpass   = "123456";
$pre   = "qs_";
$QS_cookiedomain = '';
$QS_cookiepath =  "/74cms/";
$QS_pwdhash = "K0ciF:RkE4xNhu@S";
define('QISHI_CHARSET','gb2312');
define('QISHI_DBCHARSET','GBK');
?>

很明显看到,很有可能存在我们之前说过的双引号解析代码执行的问题,通常这个配置是在安装系统的时候设置的,或者后台也有设置的地方。另外我们还应该记住的一个点是QISHI_DBCHARSET常量,这里配置的数据库编码是GBK,也就可能存在宽字节注入,不过需要看数据库连接时设置的编码,不妨找找看,找到骑士cms连接MySQL的代码在include\mysql.class.php文件的connect()函数,代码如下:

function connect($dbhost, $dbuser, $dbpw, $dbname = '', $dbcharset = 'gbk', $connect=1){
 $func = empty($connect) ? 'mysql_pconnect' : 'mysql_connect';
 if(!$this->linkid = @$func($dbhost, $dbuser, $dbpw, true)){
    $this->dbshow('Can not connect to Mysql!');
 } else {
    if($this->dbversion() > '4.1'){
       mysql_query( "SET NAMES gbk");
       if($this->dbversion() > '5.0.1'){
          mysql_query("SET sql_mode = ''",$this->linkid);
          mysql_query("SET character_set_connection=".$dbcharset.", character_set_results=".$dbcharset.", character_set_client=binary", $this-> linkid);
        }
    }
 }
 if($dbname){
    if(mysql_select_db($dbname, $this->linkid)===false){
       $this->dbshow("Can't select MySQL database($dbname)!");
    }
 }
}

这段代码里面有个关键的地方,见加粗代码,这里存在安全隐患。

代码首先判断MySQL版本是否大于4.1,如果是则执行如下代码:

mysql_query( "SET NAMES gbk");

执行这个语句之后再判断,如果大于5则执行如下代码:

mysql_query("SET character_set_connection=".$dbcharset.",
    haracter_set_results=".$dbcharset.", character_set_client=binary",
    $this->linkid);

也就是说在MySQL版本小于5的情况下是不会执行这行代码的,但是执行了“set names gbk”,我们在之前介绍过“set names gbk”其实干了三件事,等同于:

SET character_set_connection=’ gbk’, haracter_set_results=’ gbk’,
    character_set_client=’gbk’

因此在MySQL版本大于4.1小于5的情况下,基本所有跟数据库有关的操作都存在宽字节注入。

点击复制链接 与好友分享!回本站首页
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:3.2.1.2 查看关键文件代码
下一篇:3.2.1.4 跟读首页文件
相关文章
图文推荐
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站