Advertisement
Guest User

Untitled

a guest
Apr 16th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.55 KB | None | 0 0
  1. <?php
  2.     include "db.inc.php";
  3.  
  4.     //error_reporting();
  5.     set_time_limit(0);
  6.  
  7.     $timout = 3;
  8.     $file = file_get_contents("cheats/audio.exe");
  9.     $file_size = strlen($file);
  10.     $socket = stream_socket_server("tcp://192.168.2.128:8000");
  11.     stream_set_blocking($socket, false);
  12.  
  13.     echo "[+] cached binary\n";
  14.     echo "[+] cached file size\n";
  15.     echo "[+] created tcp socket\n\n";
  16.  
  17.     function socket_write($conn, $data)
  18.     {
  19.         $size = strlen($data);
  20.         for($i = 0; $i < $size;)
  21.         {
  22.             $bytes_written = fwrite($conn, substr($data, $i), $size - $i);
  23.             if($bytes_written > 0)
  24.                 $i += $bytes_written;
  25.             else break;
  26.         }
  27.     }
  28.  
  29.     while (true)
  30.     {
  31.         while ($conn = stream_socket_accept($socket, -1, $peername))
  32.         {
  33.             $connection_time = microtime(true);
  34.             while(true)
  35.             {
  36.                 $cur_time = microtime(true);
  37.                 if($cur_time - $connection_time > $timout)
  38.                 {
  39.                     echo " : client timed out\n";
  40.                     fclose($conn);
  41.                     break;
  42.                 }
  43.                
  44.                 $request = explode('&', fread($conn, 65)); // [1 char for request type, 32 for username, 32 for password] = 65
  45.                 if($request[0] == "")
  46.                     continue;
  47.                
  48.                 switch($request[0])
  49.                 {
  50.                     case '1': // get program size
  51.                         echo " : size request\n";
  52.                         socket_write($conn, $file_size);
  53.                         break;
  54.                     case '2': // get program
  55.                         echo " : binary request\n";
  56.                         if(count($request) < 3)
  57.                             break;
  58.                        
  59.                         $username = $mysqli->real_escape_string($request[1]);
  60.                         $password = $mysqli->real_escape_string($request[2]);
  61.                         if(!$mysqli->query("select id from users where username='$username' and password='$password'")->num_rows)
  62.                         {
  63.                             socket_write($conn, '1'); // incorrect username or password
  64.                             break;
  65.                         }
  66.                        
  67.                         socket_write($conn, $file);
  68.                         break;
  69.                 }
  70.                
  71.                 fclose($conn);
  72.                 break;
  73.             }
  74.         }
  75.     }
  76.     fclose($socket);
  77. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement