def getPluginStatus(plugin): # example: http://127.0.0.1:9090/cachekill for p in ProxyPlugins().plugin_list: if plugin == p.name: return json.dumps("1") return json.dumps("0")
def getPlugins(): # example: http://127.0.0.1:9999/ pdict = {} #print ProxyPlugins().plugin_list for activated_plugin in ProxyPlugins().plugin_list: pdict[activated_plugin.name] = True #print ProxyPlugins().all_plugins for plugin in ProxyPlugins().all_plugins: if plugin.name not in pdict: pdict[plugin.name] = False #print ProxyPlugins().pmthds return json.dumps(pdict)
def setPluginStatus(plugin, status): # example: http://127.0.0.1:9090/cachekill/1 # enabled # example: http://127.0.0.1:9090/cachekill/0 # disabled if status == "1": for p in ProxyPlugins().all_plugins: if (p.name == plugin) and (p not in ProxyPlugins().plugin_list): ProxyPlugins().addPlugin(p) return json.dumps({ "plugin": plugin, "response": "success" }) elif status == "0": for p in ProxyPlugins().plugin_list: if p.name == plugin: ProxyPlugins().removePlugin(p) return json.dumps({ "plugin": plugin, "response": "success" }) return json.dumps({"plugin": plugin, "response": "failed"})
def __init__(self, command, uri, postData, headers, client): self.command = command self.uri = uri self.postData = postData self.headers = headers self.client = client self.clientInfo = {} self.plugins = ProxyPlugins() self.urlMonitor = URLMonitor.getInstance() self.hsts = URLMonitor.getInstance().hsts self.app = URLMonitor.getInstance().app self.isImageRequest = False self.isCompressed = False self.contentLength = None self.shutdownComplete = False self.handle_post_output = False
def shutdown(message=None): for plugin in ProxyPlugins().plugin_list: plugin.on_shutdown() sys.exit(message)
from core.sslstrip.CookieCleaner import CookieCleaner from core.sergioproxy.ProxyPlugins import ProxyPlugins from core.sslstrip.StrippingProxy import StrippingProxy from core.sslstrip.URLMonitor import URLMonitor URLMonitor.getInstance().setFaviconSpoofing(options.favicon) URLMonitor.getInstance().setCaching(options.preserve_cache) CookieCleaner.getInstance().setEnabled(options.killsessions) strippingFactory = http.HTTPFactory(timeout=10) strippingFactory.protocol = StrippingProxy reactor.listenTCP(options.listen_port, strippingFactory) ProxyPlugins().all_plugins = plugins print "[*] MITMf v{} - '{}'".format(mitmf_version, mitmf_codename) for plugin in plugins: #load only the plugins that have been called at the command line if vars(options)[plugin.optname] is True: ProxyPlugins().add_plugin(plugin) print "|_ {} v{}".format(plugin.name, plugin.version) if plugin.tree_info: for line in xrange(0, len(plugin.tree_info)): print "| |_ {}".format(plugin.tree_info.pop()) plugin.setup_logger()