Пример #1
0
    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")
Пример #2
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)
Пример #3
0
    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().add_plugin(p)
                    return json.dumps({
                        "plugin": plugin,
                        "response": "success"
                    })

        elif status == "0":
            for p in ProxyPlugins().plugin_list:
                if p.name == plugin:
                    ProxyPlugins().remove_plugin(p)
                    return json.dumps({
                        "plugin": plugin,
                        "response": "success"
                    })

        return json.dumps({"plugin": plugin, "response": "failed"})
Пример #4
0
    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
Пример #5
0
def shutdown(message=None):
    for plugin in ProxyPlugins().plugin_list:
        plugin.on_shutdown()
    sys.exit(message)
Пример #6
0
options.mac = get_mac(options.interface)

settings.Config.populate(options)

log.debug("MITMf started: {}".format(sys.argv))

#Start Net-Creds
print "[*] MITMf v{} - '{}'".format(mitmf_version, mitmf_codename)

NetCreds().start(options.interface, options.ip)
print "|"
print "|_ Net-Creds v{} online".format(NetCreds.version)

from core.proxyplugins import ProxyPlugins

ProxyPlugins().all_plugins = plugins
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()
        plugin.initialize(options)