Skip to content

sehraramiz/mohsen-in-the-middle

Repository files navigation

Try mitmproxy as a pre-proxy or alternative to your main intercepting proxy software. you’ll thank yourself later

  1. Install uv
  2. Run $ uv install in project's root
  3. set .env variables
  4. uv run mitmproxy -s config.py -s flow_highlighter.py -s repeater.py -s nonoise.py -s sampler.py

Recommended Key Bindings:

$ cp .mitmproxy/keys.yaml ~/.mitmproxy
  • Crtl + r to send flow to "Repeater"
  • Shift + r/R to show the "Repeater"
  • Shift + h/H to highlight a flow

Custom Commands:

  • :nojs hide javascript flows
  • :noimage hide image flows
  • :nostyle hide style related flows
  • :repeat send a copy of the current focused flow to repeater
  • :repeater show repeater
  • :highlight highlight current focused flow
  • :freeze freeze a flow
  • :freezer show freezed flows
  • :rotate rotate upstream tor ip

Set scope on addon with @scope() decorator

@scope()
def request(flow: http.HTTPFlow):
    ...

Addons

  • Flow Highlighter highlight the focused flow row
  • Repeater like burpsuite repeater (mark flows as R and show/hide them)
  • Sampler to extract json fields, query parameters, headers from request/response flows and save to a file for later fuzzing.
  • No Noise to drop analytic and ad related request so they dont reach the upstream proxy (BurpSuite/Caido/Zap).
  • Flow Freezer to capture and freeze a flow’s response to serve the frozen response for any future requests to the same url.
  • Rotator to use tor as upstream and rotate its ip based on dynamic conditions (e.g., every 100 requests)

About

Here to brainwash you into using mitmproxy.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages