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

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

缺陷编号: WooYun-2011-03385

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

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

漏洞作者: 小马

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

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

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

危害等级: 低

自评Rank: 2

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

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

Tags标签: 第三方不可信程序 安全意识不足 php源码分析 阿西网站推广系统 cookie欺骗

0人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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 .= "A**.**.**.**";

$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评价)


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

登录后才能发表评论,请先 登录