当前位置:站长防黑网防黑文章防黑文章网站安全

文章正文

YouYaX论坛前台任意账户登入及修复

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2014-07-18 23:54:16

 /ext/mobile/login.php 登入页面的处理如下   
if (isset($_POST['sub'])) {
    include('../../ext_public/database_mobile.php');
    mysql_query("SET NAMES 'utf8'");
    $sql    = "select* from " . $config['db_prefix'] . "user where binary user='" . addslashes($_POST['user']) . "'  and binary pass='" . md5(addslashes($_POST['pass'])) . "' and status=1 and complete=0";
    $user   = $_POST['user'];
    $result = mysql_query($sql);
    $num    = mysql_num_rows($result);
    if ($num == 1) {
        $_SESSION['youyax_data'] = 1;
        $_SESSION['youyax_user'] = $user;
        $_SESSION['youyax_bz']   = 1;
        @setcookie('youyax_data',1,time()+(60*60*24*30),"/");
        @setcookie('youyax_user',$user,time()+(60*60*24*30),"/");
        @setcookie('youyax_bz',1,time()+(60*60*24*30),"/");
        echo 'window.location.href="'.$config['SITE'].'";';
        exit;
    } else {
        $_SESSION['youyax_data'] = 0;
        echo 'alert("输入错误 or 尚未激活");';
    }
}
 内容来自黑吧安全网 
 
黑吧安全网 www.myhack58.com
  账号密码正确即赋予 session youyax_data=1 youyax_user=user youyax_bz=1   然而,这个session是可以自己构造的。看到/Lib/IndexAction.php 的代码   
public function index()
    {
        header("Content-Type:text/html; charset=utf-8");
        if (empty($_SESSION['youyax_user']) && !stristr($_SERVER['HTTP_USER_AGENT'], 'android') && !stristr($_SERVER['HTTP_USER_AGENT'], 'iphone') && !stristr($_SERVER['HTTP_USER_AGENT'], 'ipad')) {
            $cache = new Cache(20);
        }
        if(isset($_COOKIE['youyax_data']) && isset($_COOKIE['youyax_user']) && isset($_COOKIE['youyax_bz'])){
         $_SESSION['youyax_data'] = $_COOKIE['youyax_data'];
         $_SESSION['youyax_user'] = $_COOKIE['youyax_user'];
         $_SESSION['youyax_bz'] = $_COOKIE['youyax_bz'];
    }
        if ($_SESSION['youyax_data'] == 1) {
            $bz   = $_SESSION['youyax_bz'];
            $user = $_SESSION['youyax_user'];
            if ($bz != 1)
                $bz = 0;
            if ($bz == 0) {
                $_SESSION['youyax_user'] = "";
                $user                    = "";
                $_SESSION['youyax_data'] = 0;
            }
        } else {
            $_SESSION['youyax_user'] = "";
            $_SESSION['youyax_bz']   = "";
            $bz                      = 0;
            $user                    = "";
        }
        $this->assign('bz', $bz)->assign('user', $user); 本文来自黑吧安全网(www.myhack58.com) 
 
黑吧安全
    显而易见了。检测cookie再将cookie值赋予session。 那么session将变得毫无意义。。   构造 Cookie: youyax_data=1; youyax_user=username; youyax_bz=1   可前台登入任意用户。对于 一个bbs的话 ,该漏洞是致命的。   修复方案: 去掉不必要的

温馨提示:您正在浏览的是来自站长防黑网收集的文章【YouYaX论坛前台任意账户登入及修复

Tags:

好的评价 如果您觉得此文章好,就请您
  0%(0)
差的评价 如果您觉得此文章差,就请您
  0%(0)

文章评论

文章评论 评论内容只代表网友观点,与本站立场无关!
   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
网站首页 关于本站 网站帮助 广告合作 联系我们 免责申明 网站地图  ©2010- zzfhw.com . All rights reserved. 站长防黑网 版权所有