UWA 2.X 通用建站系统漏洞打包

时间:2015-1-6    作者:admin    分类: 技术交流


#01 敏感路径泄露X1

/core/lib/core/App.class.php 第14行

class App extends Pfa {

    /* initialization */

    public function __construct() {

        error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);

        set_error_handler(array('App', 'app_error'));

        //[RUNTIME]

        App::build(); // pre-compile

        //[/RUNTIME]

        Url::dispatch(); // URL dispatch and define CTRLR_NAME, ACTN_NAME



其中 Pfa 父类没有验证是否存在 导致直接访问

http://localhost/core/lib/core/App.class.php

会导致爆出绝对路径

1.png



此问题在cms中多处存在请务必详查对于父类的继承相关代码

#02 敏感路径泄露X2

/core/tpl/page_trace.php 第17行

<div id="pfa_page_trace" style="padding:10px;margin:10px;color:#666;line-height:18px;background:#fff;border:1px solid #e5e5e5;">

    <p style="padding:0;margin:0;border-bottom:1px solid #ccc;font-size:14px;color:#f60;"><?php echo L('_PAGE_TRACE_INFO_') ?></p>

    <p style="padding:0 margin:5px 0 0;overflow:auto;height:300px;text-align:left;font-size:12px;">

<?php foreach($_trace as $key=>$info){echo $key . ' : ' . $info . "<br />\r\n";}?>

    </p>

</div>



文件并未define function文件 并直接调用函数导致报错

2.png





#03 SQL injection

/core/lib/ext/AServer.class.php 第14-111行的定义类AServer时 第16-37行代码如下

public static function get_ip() {

        $ip = '';

        if(!empty($_SERVER['HTTP_CLIENT_IP'])) {

            $ip = $_SERVER['HTTP_CLIENT_IP'];

        }

        if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

            $ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);

            if($ip) {

                array_unshift($ips, $ip);

                $ip = '';

            }

            for($i = 0; $i < count($ips); $i++) {

                if(!preg_match("/^(10|172\.16|192\.168)\./i", $ips[$i])) {

                    $ip = $ips[$i];

                    break;

                }

            }

        }

        $ip = $ip ? $ip : $_SERVER['REMOTE_ADDR'];

        $long = sprintf("%u", ip2long($ip));

        return $long ? $ip : '0.0.0.0';

    }



对于HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR都木有过滤 所以导致可以进行注入。

由于木有火狐就先不进行测试了 具体应用在/admin.php进行登录时会记录IP 对于IP却没有过滤,Ps:sqlmap使用要加--level=3

3.png



标签: 注入 UWA 爆路径