当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2011-03385

漏洞标题:阿西网站推广系统v4.02cookie欺骗漏洞

相关厂商:阿西网站推广系统

漏洞作者: 小马

提交时间:2011-11-22 20:13

修复时间:2011-11-22 20:27

公开时间:2011-11-22 20:27

漏洞类型:设计缺陷/逻辑错误

危害等级:低

自评Rank:2

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2011-11-22: 积极联系厂商并且等待厂商认领中,细节不对外公开
2011-11-22: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

网上出现的都是阿西网站推广系统的SQL漏洞,对于cookie欺骗的漏洞貌似没人发过! 阿西网站推广系统v4.02cookie欺骗漏洞,你懂的————

详细说明:

先看axphp.php的源码
------------------------------------------------
<tr>
<td>账号:</td>
<td><form method="post" action="login.php"> // 提交处理文件login.php
<input tabindex="1" type="text" name="adminname" class="texta" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" /></td>
<td rowspan="2"><input type="submit" value="登录" class="submit" /></td>
</tr>
<tr>
<td>密码:</td>
<td><input tabindex="2" type="password" name="adminpass" class="textb" /></td></form>
login.php 代码
-------------------------------------------------
require '../config.php';
$adminname = $_POST['adminname'];
$adminpass = $_POST['adminpass'];
$adminpass .= "Axphp.com";
$adminpass = md5($adminpass);
$adminsql = "select * from axphp_admin where adminname='$adminname' and adminpass='$adminpass'";
$adminery = mysql_query($adminsql, $config);
$adminnum = mysql_num_rows($adminery);
if ($adminnum == "1") { //如果用户和密码正确设置cookie
setcookie("admin", "Y", time() + 3600, '/'); //设置cookie值 admin=‘Y’
setcookie("admin_name", $adminname, time() + 3600, '/'); //设置cookie值 admin_name的值
header("location:axadmin.php"); //如果用户和密码正确就跳到后台管理页面
} else {
header("location:axphp.php");
}
再去看下axadmin.php的代码
-----------------------------------------------
<?php
require 'check.php'; //cookie验证文件 我们跟下这个。
require '../template/axadmin/head.php';
require '../template/axadmin/banner.php';
require '../template/axadmin/main.php';
require '../template/axadmin/bottom.php'
?>
check.php代码
-------------------------------------
<?php
error_reporting(0);
isset($_COOKIE['admin'])?$check=$_COOKIE['admin']:$check=null;
//我们只要不让$_COOKIE['admin']这个值不为空就可以
isset($_COOKIE['admin_name'])?$admin_user=$_COOKIE['admin_name']:$user=null;
//这里也是一样不让他不为空。
if($check==null){header("Location:../index.php");exit;}
?>

漏洞证明:


修复方案:

后台增加cookie验证

版权声明:转载请注明来源 小马@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:10 (WooYun评价)