コード例 #1
0
ファイル: mitmfapi.py プロジェクト: CplusHua01/MITMf
    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
ファイル: mitmfapi.py プロジェクト: CplusHua01/MITMf
    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
ファイル: mitmfapi.py プロジェクト: CplusHua01/MITMf
    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"})
コード例 #4
0
ファイル: ServerConnection.py プロジェクト: CplusHua01/MITMf
    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
ファイル: mitmf.py プロジェクト: CplusHua01/MITMf
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()