微信好友删除怎么找回好友和聊天记录(三种方法)

转自wooyun http://www.wooyun.org/bugs/wooyun-2014-0785911.伪造cookie登录系统(其实这一步多余的,大多用户连密码都没改,都是默认的123456)登录成功设置4个cookie,看代码PHP Code复制内容到剪贴板funct

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

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

PHP Code复制内容到剪贴板
  1. functionlogin($lusername,$lpassword,$key,$lifetime=0){

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

  3. if(emptyempty($lusername)||emptyempty($lpassword)){

  4. printerror(EmptyLoginUser,index.php);

  5. }

  6. //验证码

  7. if(!$set_loginkey)

  8. {

  9. if($key<>getcvar('checkkey')||emptyempty($key))

  10. {

  11. printerror(FailLoginKey,index.php);

  12. }

  13. }

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

  15. {

  16. printerror(ErrorUser,index.php);

  17. }

  18. //认证码

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

  20. {

  21. printerror(ErrorLoginAuth,index.php);

  22. }

  23. $logintime=time();

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

  25. $s1=esetcookie(bakusername,$lusername,0);

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

  27. $s3=esetcookie(baklogintime,$logintime,0);

  28. Ebak_SCookieRnd($lusername,$rnd);//

  29. if(!$s1||!$s2)

  30. {

  31. printerror(NotOpenCookie,index.php);

  32. }

  33. printerror(LoginSuccess,admin.php);

  34. }







再看看make_password函数

PHP Code复制内容到剪贴板
  1. functionmake_password($pw_length){

  2. $low_ascii_bound=50;

  3. $upper_ascii_bound=122;

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

  5. while($i<$pw_length)

  6. {

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

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

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

  10. {

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

  12. $i++;

  13. }

  14. }

  15. return$password1;

  16. }

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

PHP Code复制内容到剪贴板
  1. functionEbak_SCookieRnd($username,$rnd){

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

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

  4. esetcookie(loginebakckpass,$ckpass,0);


  • 发表于 2021-04-03 14:33
  • 阅读 ( 257 )
  • 分类:互联网

0 条评论

请先 登录 后评论
管家
管家

727 篇文章

你可能感兴趣的文章

相关问题