看了一下最新的ptcms小说小偷程序 ,发现之前的漏洞已经修补了,那么先看下如何修补这些漏洞的!

看注册文件上次的写入资料

exit();
  }
  include '../data/user.php';
  $username=$_POST['username'];
  //写入资料信息
  $str=$password."\n".time()."\n".$_SERVER["REMOTE_ADDR"];
  $file='../data/user/'.$username.'/info.ptv';
  $result=$pt->writeto($file,$str);
  //建立积分文档
  $str='1'."\n".$pt_user_regpoint;
  $file='../data/user/'.$username.'/point.ptv';
  $result=$pt->writeto($file,$str);
  //建立推荐文档
  $file='../data/user/'.$username.'/vote.ptv';
  $str='0'."\n".time();
  $result=$pt->writeto($file,$str);
  //建立书架文档
  $str="♂♂♂♂♂♂♂♂♂♂\n♀♀♀♀♀♀♀♀♀♀";
  $file='../data/user/'.$username.'/mark.ptv';
  $result=$pt->writeto($file,$str);
      $pt_type='msg';
      $msg="注册成功,请您登录!";
      $url=PT_SITEURL."user/login.php";

php被改成了ptv,站内PM功能已经取消了。
看下注册代码

<PRE>case 3:
    if (isset($_POST['username'])){
        if (!file_exists('../data/user/'.$_POST['username'].'/')){
            $username=$_POST['username'];
            $password=MD5($_POST['password']);
        }else{
            echo"<script>alert('该用户名已经存在!');location.href='reg.php?step=2';</script>";
            exit();</PRE>

很蛋疼的验证是否重名 由于没有带到数据库检测 而是直接验证程序内有没有这个文件名的文件夹,
那么我们注册../../1.asp; 或者../../2.asp
然后在书架或者收藏哪里插入加密的一句话,

对应的木马地址是<A href="/1.asp;/mark.ptv">https://www.webshell.cc/1.asp;/mark.ptv</A> <A href="/1.asp/mark.ptv">https://www.webshell.cc/1.asp/mark.ptv</A>

转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/3092.html