コード例 #1
0
 def start_proxy(self, options):
     # The proxy along with supporting processes are started
     if True:
         # Check if port is in use
         try:
             temp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
             temp_socket.bind(
                 (self.db_config.Get('INBOUND_PROXY_IP'),
                  int(self.db_config.Get('INBOUND_PROXY_PORT'))))
             temp_socket.close()
         except socket.error:
             self.error_handler.FrameworkAbort(
                 "Inbound proxy address %s:%s already in use" %
                 (self.db_config.Get('INBOUND_PROXY_IP'),
                  self.db_config.Get("INBOUND_PROXY_PORT")))
         # If everything is fine.
         self.ProxyProcess = proxy.ProxyProcess()
         self.ProxyProcess.initialize(options['OutboundProxy'],
                                      options['OutboundProxyAuth'])
         self.TransactionLogger = transaction_logger.TransactionLogger(
             cache_dir=self.db_config.Get('INBOUND_PROXY_CACHE_DIR'))
         logging.warn(
             "%s:%s <-- HTTP(S) Proxy to which requests can be directed",
             self.db_config.Get('INBOUND_PROXY_IP'),
             self.db_config.Get("INBOUND_PROXY_PORT"))
         self.ProxyProcess.start()
         logging.debug("Starting Transaction logger process")
         self.TransactionLogger.start()
         logging.debug("Proxy transaction's log file at %s",
                       self.db_config.Get("PROXY_LOG"))
     else:
         ComponentInitialiser.initialisation_phase_3(
             options['OutboundProxy'])
コード例 #2
0
ファイル: core.py プロジェクト: marcellobellini/owtf
 def StartProxy(self, Options):
     # The proxy along with supporting processes are started
     if Options["ProxyMode"]:
         if not os.path.exists(self.Config.Get('CACHE_DIR')):
             os.makedirs(self.Config.Get('CACHE_DIR'))
         else:
             shutil.rmtree(self.Config.Get('CACHE_DIR'))
             os.makedirs(self.Config.Get('CACHE_DIR'))
         InboundProxyOptions = [
             self.Config.Get('INBOUND_PROXY_IP'),
             self.Config.Get('INBOUND_PROXY_PORT')
         ]
         transaction_db_path = os.path.join(self.Config.Get('OUTPUT_PATH'),
                                            self.Config.Get('HOST_IP'),
                                            'transactions')
         if not os.path.exists(transaction_db_path):
             os.makedirs(transaction_db_path)
         for folder_name in [
                 'url', 'req-headers', 'req-body', 'resp-code',
                 'resp-headers', 'resp-body'
         ]:
             folder_path = os.path.join(transaction_db_path, folder_name)
             if not os.path.exists(folder_path):
                 os.mkdir(folder_path)
         if self.Config.Get('COOKIES_BLACKLIST_NATURE'):
             regex_cookies_list = [
                 cookie + "=([^;]+;?)"
                 for cookie in self.Config.Get('COOKIES_LIST')
             ]
             blacklist = True
         else:
             regex_cookies_list = [
                 "(" + cookie + "=[^;]+;?)"
                 for cookie in self.Config.Get('COOKIES_LIST')
             ]
             blacklist = False
         regex_string = '|'.join(regex_cookies_list)
         cookie_regex = re.compile(regex_string)
         cookie_filter = {'BLACKLIST': blacklist, 'REGEX': cookie_regex}
         self.ProxyProcess = proxy.ProxyProcess(
             self, self.Config.Get('INBOUND_PROXY_PROCESSES'),
             InboundProxyOptions, transaction_db_path,
             self.Config.Get('INBOUND_PROXY_SSL'), cookie_filter,
             Options['OutboundProxy'], Options['OutboundProxyAuth'])
         """
         self.TransactionLogger = transaction_logger.TransactionLogger(
                                                                         self.Config.Get('CACHE_DIR'),
                                                                         transaction_db_path
                                                                      )
         """
         cprint("Started Inbound proxy at " +
                self.Config.Get('INBOUND_PROXY'))
         self.ProxyProcess.start()
         #self.TransactionLogger.start()
         self.Requester = requester.Requester(self, InboundProxyOptions)
     else:
         self.Requester = requester.Requester(self,
                                              Options['OutboundProxy'])
コード例 #3
0
ファイル: core.py プロジェクト: narayana1208/owtf
 def StartProxy(self, Options):
     # The proxy along with supporting processes are started
     if Options["ProxyMode"]:
         self.ProxyProcess = proxy.ProxyProcess(
             self, Options['OutboundProxy'], Options['OutboundProxyAuth'])
         self.TransactionLogger = transaction_logger.TransactionLogger(self)
         cprint("Starting Inbound proxy at " +
                self.Config.Get('INBOUND_PROXY'))
         self.ProxyProcess.start()
         cprint("Starting Transaction logger process")
         self.TransactionLogger.start()
         self.Requester = requester.Requester(self, [
             self.Config.Get('INBOUND_PROXY_IP'),
             self.Config.Get('INBOUND_PROXY_PORT')
         ])
     else:
         self.Requester = requester.Requester(self,
                                              Options['OutboundProxy'])
コード例 #4
0
 def StartProxy(self, Options):
     # The proxy along with supporting processes are started
     if not self.Config.Get('SIMULATION'):
         self.ProxyProcess = proxy.ProxyProcess( 
                                                 self,
                                                 Options['OutboundProxy'],
                                                 Options['OutboundProxyAuth']
                                               )
         self.TransactionLogger = transaction_logger.TransactionLogger(self)
         cprint("Starting Inbound proxy at " + self.Config.Get('INBOUND_PROXY'))
         self.ProxyProcess.start()
         cprint("Starting Transaction logger process")
         self.TransactionLogger.start()
         self.Requester = requester.Requester(self, [self.Config.Get('INBOUND_PROXY_IP'), self.Config.Get('INBOUND_PROXY_PORT')])
         cprint("Proxy transaction's log file at %s"%(self.Config.Get("PROXY_LOG")))
         cprint("Visit http://" + self.Config.Get('INBOUND_PROXY') + "/proxy to use Plug-n-Hack standard")
         cprint("Execution of OWTF is halted.You can browse through OWTF proxy) Press Enter to continue with OWTF")
         if Options["Interactive"]:
             raw_input()
     else:
         self.Requester = requester.Requester(self, Options['OutboundProxy'])        
コード例 #5
0
ファイル: core.py プロジェクト: ovnicraft/owtf
    def StartProxy(self, Options):
        # The proxy along with supporting processes are started
        if not self.Config.Get('SIMULATION'):
            # Check if port is in use
            try:
                temp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                temp_socket.bind((self.Config.Get('INBOUND_PROXY_IP'),
                                  int(self.Config.Get('INBOUND_PROXY_PORT'))))
                temp_socket.close()
            except Exception:
                self.Error.FrameworkAbort("Inbound proxy address " +
                                          self.Config.Get('INBOUND_PROXY') +
                                          " already in use")

            # If everything is fine
            self.ProxyProcess = proxy.ProxyProcess(
                self, Options['OutboundProxy'], Options['OutboundProxyAuth'])
            self.TransactionLogger = transaction_logger.TransactionLogger(self)
            cprint("Starting Inbound proxy at " +
                   self.Config.Get('INBOUND_PROXY'))
            self.ProxyProcess.start()
            cprint("Starting Transaction logger process")
            self.TransactionLogger.start()
            self.Requester = requester.Requester(self, [
                self.Config.Get('INBOUND_PROXY_IP'),
                self.Config.Get('INBOUND_PROXY_PORT')
            ])
            cprint("Proxy transaction's log file at %s" %
                   (self.Config.Get("PROXY_LOG")))
            cprint("Visit http://" + self.Config.Get('INBOUND_PROXY') +
                   "/proxy to use Plug-n-Hack standard")
            cprint(
                "Execution of OWTF is halted.You can browse through OWTF proxy) Press Enter to continue with OWTF"
            )
            if Options["Interactive"]:
                raw_input()
        else:
            self.Requester = requester.Requester(self,
                                                 Options['OutboundProxy'])