s00rk

AbbyGunZ UploadEmblems

Nov 19th, 2011
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.96 KB | None | 0 0
  1. <?php
  2. if(!@session_start())
  3. {
  4.     die("No se pudo iniciar la session");
  5. }
  6. $link = mssql_connect("s00rk","sa","contraseƱa");
  7. mssql_select_db("GunzDB",$link);
  8.  
  9. function limpiar($variable)
  10. {
  11.     $original = $variable;
  12.     $search = array('chr(', 'chr=', 'chr%20', '%20chr', 'wget%20', '%20wget', 'wget(',
  13.         'cmd=', '%20cmd', 'cmd%20', 'rush=', '%20rush', 'rush%20',
  14.         'union%20', '%20union', 'union(', 'union=', 'echr(', '%20echr', 'echr%20', 'echr=',
  15.         'esystem(', 'esystem%20', 'cp%20', '%20cp', 'cp(', 'mdir%20', '%20mdir', 'mdir(',
  16.         'mcd%20', 'mrd%20', 'rm%20', '%20mcd', '%20mrd', '%20rm',
  17.         'mcd(', 'mrd(', 'rm(', 'mcd=', 'mrd=', 'mv%20', 'rmdir%20', 'mv(', 'rmdir(',
  18.         'chmod(', 'chmod%20', '%20chmod', 'chmod(', 'chmod=', 'chown%20', 'chgrp%20', 'chown(', 'chgrp(',
  19.         'locate%20', 'grep%20', 'locate(', 'grep(', 'diff%20', 'kill%20', 'kill(', 'killall',
  20.         'passwd%20', '%20passwd', 'passwd(', 'telnet%20', 'vi(', 'vi%20',
  21.         'insert%20into', 'select%20', 'fopen', 'fwrite', '%20like', 'like%20',
  22.         '$_request', '$_get', '$request', '$get', '.system', 'HTTP_PHP', '&aim', '%20getenv', 'getenv%20',
  23.         'new_password', '&icq','/etc/password','/etc/shadow', '/etc/groups', '/etc/gshadow',
  24.         'HTTP_USER_AGENT', 'HTTP_HOST', '/bin/ps', 'wget%20', 'uname\x20-a', '/usr/bin/id',
  25.         '/bin/echo', '/bin/kill', '/bin/', '/chgrp', '/chown', '/usr/bin', 'g\+\+', 'bin/python',
  26.         'bin/tclsh', 'bin/nasm', 'perl%20', 'traceroute%20', 'ping%20', '.pl', 'lsof%20',
  27.         '/bin/mail', '.conf', 'motd%20', 'HTTP/1.', '.inc.php', 'config.php', 'cgi-', '.eml',
  28.         'file\://', 'window.open', '<script>', 'javascript\://','img src', 'img%20src','.jsp','ftp.exe',
  29.         'xp_enumdsn', 'xp_availablemedia', 'xp_filelist', 'xp_cmdshell', 'nc.exe', '.htpasswd',
  30.         'servlet', '/etc/passwd', 'wwwacl', '~root', '~ftp', '.js', '.jsp', 'admin_', '.history',
  31.         'bash_history', '.bash_history', '~nobody', 'server-info', 'server-status', 'reboot%20', 'halt%20',
  32.         'powerdown%20', '/home/ftp', '/home/www', 'secure_site, ok', 'chunked', 'org.apache', '/servlet/con',
  33.         '<script', 'UPDATE', 'SELECT', 'DROP', '/robot.txt' ,'/perl' ,'mod_gzip_status', 'db_mysql.inc', '.inc', 'select%20from',
  34.         'select from', 'drop%20', 'getenv', 'http_', '_php', 'php_', 'phpinfo()', '<?php', '?>', 'sql=');
  35.  
  36.         $variable = str_replace($search, '', $variable);
  37.  
  38.         $variable = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$variable);
  39.         $variable = trim($variable);
  40.         $variable = strip_tags($variable);
  41.         $variable = addslashes($variable);
  42.         $variable = str_replace("'", "''", $variable);
  43.         if($original != $variable)
  44.         {
  45.             $variable = "";
  46.         }
  47.     return $variable;
  48. }
  49. function redir($mensaje, $url)
  50. {
  51.         echo "<script>alert('".$mensaje."');window.location = \"".$url."\";</script>";
  52. }
  53.  
  54. if($_GET['paso'] != 2 && $_GET['paso'] != 3)
  55. {
  56.     ?>
  57.     <form name="emblemaloguear" method="post" action="?paso=2">
  58.         <center>
  59.             Usuario: <input type="text" name="us" /> <br />
  60.             Contrase&ntilde;a: <input type="password" name="pass" /><br />
  61.             <input type="submit" name="loguear" value="Entrar" />
  62.         </center>
  63.     </form>
  64.     <?
  65. }else if($_GET['paso'] == 2){
  66.     $usuario = limpiar($_POST['us']);
  67.     $pass = limpiar($_POST['pass']);
  68.     $sql = mssql_query("SELECT AID FROM [Login] WITH(nolock) WHERE UserID = '".$usuario."' AND Password = '".$pass."'");
  69.     if(mssql_num_rows($sql) != 1)
  70.     {
  71.         redir("Usuario y/o ContraseƱa Incorrecta","/");       
  72.         die();
  73.     }
  74.     $r = mssql_fetch_object($sql);
  75.     $_SESSION['Emblema']['AID'] = $r->AID;
  76.  
  77.     $sql = mssql_query("SELECT CID FROM Character WITH(nolock) WHERE AID = '".$_SESSION['Emblema']['AID']."'");
  78.     if(!mssql_num_rows($sql))
  79.     {
  80.         redir("No tienes ningun personaje","/");
  81.         die();
  82.     }
  83.    
  84.     $existe = 0;
  85.     ?>
  86.     <form name="emblemasclans" method="post" enctype="multipart/form-data" action="?paso=3">
  87.         <center>
  88.             Clan: <select name="clanclid">
  89.                     <? while($r = mssql_fetch_object($sql)){
  90.                             $sql0 = mssql_query("SELECT CLID, Name FROM Clan WITH(nolock) WHERE MasterCID = '".$r->CID."'");
  91.                             if(mssql_num_rows($sql0))
  92.                             {
  93.                                 $rr = mssql_fetch_object($sql0);
  94.                                 ?>
  95.                                 <option value="<?=$rr->CLID?>"><?=$rr->Name?></option>
  96.                                 <?
  97.                                 $existe++;
  98.                             }
  99.                         }
  100.                     ?>
  101.                  </select><br />
  102.             <? if($existe > 0) { ?>
  103.             <input type="file" name="clanemblema" /><br />
  104.             <input type="submit" name="subir" value="Subir Emblema" />
  105.             <? }else{ echo "No eres master de ningun Clan"; session_unset($_SESSION['Emblema']['AID']); } ?>
  106.         </center>
  107.     </form>
  108.     <?
  109. }else if($_GET['paso'] == 3 && is_numeric($_SESSION['Emblema']['AID'])){
  110.     $destino = "./emblemas/";
  111.     $clid = limpiar($_POST['clanclid']);
  112.     $archivo = basename( $_FILES['clanemblema']['name']);
  113.     $ext = pathinfo($archivo);
  114.     $ext = strtolower($ext['extension']);
  115.     if(!is_numeric($clid))
  116.     {
  117.         redir("Error inesperado 0x001","/");
  118.         die();
  119.     }
  120.     if($ext != "jpg" && $ext != "png" && $ext != "jpeg")
  121.     {
  122.         redir("Tipo de archivo no permitido","/");
  123.         die();
  124.     }
  125.     $sql = mssql_query("SELECT CLID, EmblemUrl FROM Clan WITH(nolock) WHERE CLID = '".$clid."'");
  126.     if(mssql_num_rows($sql))
  127.     {
  128.         $r = mssql_fetch_object($sql);
  129.         if(!empty($r->EmblemUrl))
  130.         {
  131.             @unlink($destino.$r->EmblemUrl);
  132.         }
  133.         if(move_uploaded_file($_FILES['clanemblema']['tmp_name'], $destino.$clid.".".$ext))
  134.         {
  135.             mssql_query ("UPDATE Clan SET EmblemChecksum = EmblemChecksum + 1 WHERE Name = '".$clid."'");
  136.             mssql_query ("UPDATE Clan SET EmblemUrl = '".$clid.".".$ext."' WHERE Name = '".$clid."'");
  137.             session_unset($_SESSION['Emblema']['AID']);
  138.             redir("Emblema Subido Satisfactoriamente","/");
  139.             die();
  140.         }
  141.         redir("Error inesperado 0x003","/");
  142.         die();
  143.     }
  144.     redir("Error inesperado 0x003","/");
  145.     die();
  146. }
  147. ?>
  148.  
Advertisement
Add Comment
Please, Sign In to add comment