Zum Inhalt

mitmproxy Cheatsheet

_ Mitmproxy Cheatsheet

Überblick

Mitmproxy ist ein freier und offener interaktiver Man-in-the-middle-Proxy für HTTP und HTTPS. Es ermöglicht Ihnen, Web-Verkehr abzufangen, inspizieren, zu modifizieren und wiederherzustellen.

Schlüsselmerkmale

  • Interaktive Konsole: Eine leistungsstarke und interaktive Konsole zur Überwachung und Manipulation des Verkehrs.
  • **SSL/TLS Rezeption*: Kann SSL/TLS-Verkehr abfangen und entschlüsseln.
  • **Skript*: Kann mit Python Scriptiert werden, um Aufgaben zu automatisieren.
  • Web Interface: Eine webbasierte Schnittstelle zur Inspektion und Manipulation des Verkehrs. Transparent Proxy: Kann als transparenter Proxy verwendet werden.

Installation

pip install mitmproxy

Werkzeuge

  • __INLINE_CODE_4_: Eine interaktive Konsole, die es Ihnen ermöglicht, Traffic auf der Fliege zu überprüfen und zu modifizieren.
  • mitmweb: Eine webbasierte Schnittstelle für Mitmproxy.
  • mitmdump: Ein Befehlszeilentool, mit dem Sie Mitmproxy Scriptieren können.

Erste Schritte

ANHANG Start mitmproxy:

    mitmproxy
    ```_
2. **Configure Your Browser*: Konfigurieren Sie Ihren Browser, um Mitmproxy als Proxy zu verwenden (in der Regel `localhost:8080`).
3. **Installieren Sie das Zertifikat*: Installieren Sie die Mitmproxy-Zertifikatsbehörde, um SSL/TLS-Verkehr abzufangen. Navigieren Sie auf __INLINE_CODE_8_ in Ihrem Browser und folgen Sie den Anweisungen.
4. **Start Intercepting*: Sie sollten jetzt sehen, wie der Verkehr durch die Mitmproxy-Konsole fließt.

### Keyboard Shortcuts (mitmproxy Konsole)

- **__INLINE_CODE_9_**: Hilfe
- **__INLINE_CODE_10_**: Quit
- **_INLINE_CODE_11_** **`k`**: Down, Up
- **__INLINE_CODE_13_**: Flussdetails anzeigen
- **`e`**: Fluss bearbeiten
- **`a`**: Änderung des Durchflusses akzeptieren
- **__INLINE_CODE_16_**: Fluss löschen
- **__INLINE_CODE_17_**: Replay Flow

### Scripting

Mitmproxy kann mit Python Scriptiert werden, um Aufgaben zu automatisieren.

**Example Script (save as `script.py`*):

```python
from mitmproxy import http

def request(flow: http.HTTPFlow) -> None:
    flow.request.headers["User-Agent"] = "MyCustomUserAgent"

Run mit Mitmdump:

mitmdump -s script.py

Common Use Cases

  • **Security Testing*: Intercept and change traffic to test for vulnerabilities.
  • **Penetration Testing*: Analyse der Sicherheit von Webanwendungen.
  • Reverse Engineering: Verstehen Sie, wie Webanwendungen funktionieren.
  • **Debugging*: Debug Web-Anwendungen durch die Inspektion des Verkehrs.

Zusätzliche Ressourcen