|
2 | 2 |
|
3 | 3 | Here's the mitmproxy setup I use when working on various researches, pentests, and bug bounties. |
4 | 4 |
|
| 5 | +Personally I have not been using Burp for many years unless I really had a reason to. Reasons include: |
| 6 | + |
| 7 | +1. Free of cost. |
| 8 | +2. Convenient to debug when performing security researches or playing CTFs. |
| 9 | +3. Convenient to add plugins or features if you can write a code in python. |
| 10 | +4. Viewing and editing via web interface. Simply install at your home, VPS, or work. extremely lightweight. |
| 11 | +5. [Chaining proxies](https://docs.mitmproxy.org/stable/concepts-modes/#upstream-proxy) is very convenient. |
| 12 | + |
5 | 13 | Contributions are welcome! Feel free to share any interesting addons or views you have. |
6 | 14 |
|
| 15 | +You may also want to look the official [Addons Examples](https://github.com/mitmproxy/mitmproxy/tree/main/examples/addons) for boilerplate codes. |
| 16 | + |
7 | 17 | ## Background |
8 | 18 |
|
9 | 19 | ### Previous Work |
10 | 20 |
|
11 | 21 | Long ago, I wrote a blog post of my [mitmproxy + OpenVPN setup](https://blog.flatt.tech/entry/mitmproxy) at my former workplace. |
12 | | -Then I later published another [mitmproxy + OpenVPN setup](https://gist.github.com/stypr/abe9ef83556759847c063ae9389fa0ae) to show the current setup both in English and Korean. |
| 22 | +Later, I published another [mitmproxy + OpenVPN setup](https://gist.github.com/stypr/abe9ef83556759847c063ae9389fa0ae) to share my existing setup both in English and Korean. |
13 | 23 |
|
14 | 24 | ### What's New? |
15 | 25 |
|
16 | 26 | This time introduces a few more changes: |
17 | 27 |
|
18 | 28 | #### Directory Structure Updates |
19 | 29 |
|
20 | | -- **`views/*`**: Automates decryption of specific request/response data to enhance data visualization. |
21 | | -- **`addons/*`**: Acts as plugins to perform actions on send/receive HTTP data |
| 30 | +Directories are divided for convenient coding, hot-reloading on subdirectories are included |
| 31 | + |
| 32 | +- **`views`**: Automates manipulation of specific request/response data to enhance data visualization. |
| 33 | +- **`addons*`**: Acts as plugins to perform actions on send/receive HTTP data |
22 | 34 |
|
23 | 35 | #### Transition to WireGuard Setup |
24 | 36 |
|
25 | 37 | - Completely Replaced OpenVPN with WireGuard for improved functionality. (Ref. [WireGuard Mode](https://mitmproxy.org/posts/wireguard-mode/)) |
26 | | - - WireGuard mode supports DNS and UDP packet manipulation, unlike the transparent proxy, which cannot pass UDP packets when the upstream SOCKS5 proxy only supports TCP. |
| 38 | + - WireGuard mode supports DNS and UDP packet inspection / manipulation unlike the transparent proxy. |
27 | 39 | - WireGuard setups are significantly simpler compared to traditional OpenVPN configurations. |
28 | 40 | - Some limitations remain, such as partial handling of HTTP2/HTTP3 traffics, but there seems not much problem of just using old HTTPS. |
29 | 41 |
|
|
0 commit comments