nil0x42/phpsploit

View on GitHub

Showing 269 of 269 total issues

File interface.py has 883 lines of code (exceeds 250 allowed). Consider refactoring.
Open

"""PhpSploit shell interface
 
Handles general behavior of Phpsploit interactive command-line interface.
"""
# pylint: disable=too-many-lines
Severity: Major
Found in src/ui/interface.py - About 2 days to fix

    File handler.py has 637 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    """Phpsploit HTTP request handler"""
    __all__ = ["Request", "new_request", "get_raw_requests"]
     
    import sys
    import re
    Severity: Major
    Found in src/core/tunnel/handler.py - About 1 day to fix

      Function __call__ has a Cognitive Complexity of 63 (exceeds 5 allowed). Consider refactoring.
      Open

      def __call__(self, question=None):
       
      # use custom question, or fallback to the default one.
      if question is not None:
      question = str(question)
      Severity: Minor
      Found in src/ui/input/expect.py - About 1 day to fix

      Function do_help has a Cognitive Complexity of 54 (exceeds 5 allowed). Consider refactoring.
      Open

      def do_help(self, argv):
      """Show commands help
       
      SYNOPSIS:
      help
      Severity: Minor
      Found in src/ui/interface.py - About 1 day to fix

      Cyclomatic complexity is too high in method __call__. (38)
      Open

      @isolate_readline_context
      def __call__(self, question=None):
       
      # use custom question, or fallback to the default one.
      if question is not None:
      Severity: Minor
      Found in src/ui/input/expect.py by radon

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      @staticmethod
      def complete_exploit(text, line, *_):
      """autocompletion for `exploit` command"""
      argv = line.split()
      if (len(argv) == 2 and line[-1] == " ") or len(argv) > 2:
      Severity: Major
      Found in src/ui/interface.py and 1 other location - About 5 hrs to fix
      src/ui/interface.py on lines 146..153

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      @staticmethod
      def complete_exit(text, line, *_):
      """autocompletion for `exit` command"""
      argv = line.split()
      if (len(argv) == 2 and line[-1] == " ") or len(argv) > 2:
      Severity: Major
      Found in src/ui/interface.py and 1 other location - About 5 hrs to fix
      src/ui/interface.py on lines 343..350

      Function build_multipart_request has a Cognitive Complexity of 34 (exceeds 5 allowed). Consider refactoring.
      Open

      def build_multipart_request(self, method, php_payload):
      """build a multipart request for `php_payload` with HTTP `method`
       
      For infos about return format, read build_request() docstring.
      """
      Severity: Minor
      Found in src/core/tunnel/handler.py - About 5 hrs to fix

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      elif "'%s'" not in hdr_payload and \
      '"%s"' not in hdr_payload:
      len_third = float(len(forwarder) / 3)
      len_third = int(round(len_third + 0.5))
      sample_sep = colorize("%Reset", "\n[*] ", "%Cyan")
      Severity: Major
      Found in src/core/tunnel/handler.py and 1 other location - About 5 hrs to fix
      src/core/tunnel/handler.py on lines 283..293

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      if "'%s'" not in hdr_payload and \
      '"%s"' not in hdr_payload and \
      not b64_forwarder.isalnum():
      # create a visible sample of the effective b64 payload
      len_third = float(len(forwarder) / 3)
      Severity: Major
      Found in src/core/tunnel/handler.py and 1 other location - About 5 hrs to fix
      src/core/tunnel/handler.py on lines 298..306

      Identical blocks of code found in 2 locations. Consider refactoring.
      Open

      if handle_readline:
      # backup & reset readline completer
      old_readline_completer = readline.get_completer()
      readline.set_completer((lambda x: x))
      # backup & reset readline history
      Severity: Major
      Found in src/decorators/isolate_readline_context.py and 1 other location - About 5 hrs to fix
      src/decorators/isolate_io_context.py on lines 28..38

      Identical blocks of code found in 2 locations. Consider refactoring.
      Open

      if handle_readline:
      # backup & reset readline completer
      old_readline_completer = readline.get_completer()
      readline.set_completer((lambda x: x))
      # backup & reset readline history
      Severity: Major
      Found in src/decorators/isolate_io_context.py and 1 other location - About 5 hrs to fix
      src/decorators/isolate_readline_context.py on lines 25..35

      Function _obj_value has a Cognitive Complexity of 31 (exceeds 5 allowed). Consider refactoring.
      Open

      def _obj_value(self, raw=None, fatal_errors=True):
      """Restore Session() from its 'built-in types only' representation.
      Used to get back Session() from data returned by _raw_value() method
       
      >>> from core import session
      Severity: Minor
      Found in src/core/session/__init__.py - About 4 hrs to fix

      Function Build has a Cognitive Complexity of 29 (exceeds 5 allowed). Consider refactoring.
      Open

      def Build(self, php_payload):
      """Main request Builder:
       
      if takes the basic php payload as argument,
      and returns the apropriate request object.
      Severity: Minor
      Found in src/core/tunnel/handler.py - About 4 hrs to fix

      Shell has 33 functions (exceeds 20 allowed). Consider refactoring.
      Open

      class Shell(shnake.Shell):
      """PhpSploit shell interface"""
       
      prompt = colorize('%Lined', 'phpsploit', '%Reset', ' > ')
       
       
      Severity: Minor
      Found in src/ui/interface.py - About 4 hrs to fix

        Cyclomatic complexity is too high in method do_help. (20)
        Open

        def do_help(self, argv):
        """Show commands help
         
        SYNOPSIS:
        help
        Severity: Minor
        Found in src/ui/interface.py by radon

        Cyclomatic complexity is too high in class Expect. (20)
        Open

        class Expect: # pylint: disable=too-few-public-methods
        """Expect some user input, and provide response related to the
        instance configuration variables.
         
        It instantiates an input query, according the configured
        Severity: Minor
        Found in src/ui/input/expect.py by radon

        Cyclomatic complexity is too high in method Build. (19)
        Open

        def Build(self, php_payload):
        """Main request Builder:
         
        if takes the basic php payload as argument,
        and returns the apropriate request object.
        Severity: Minor
        Found in src/core/tunnel/handler.py by radon

        Cyclomatic complexity is too high in method __new__. (16)
        Open

        def __new__(cls, *args, mode='', filename='file.txt'):
        """Create a new path object.
         
        The file/dir path is determined by joining `args` as a single
        absolute path.
        Severity: Minor
        Found in src/datatypes/Path.py by radon

        Function Send has a Cognitive Complexity of 24 (exceeds 5 allowed). Consider refactoring.
        Open

        def Send(self, request):
        """Main request Sender:
         
        if takes the concerned request object as argument
        and returns the unparsed and decapsulated phpsploit response
        Severity: Minor
        Found in src/core/tunnel/handler.py - About 3 hrs to fix
        Severity
        Category
        Status
        Source
        Language