So, when I use your proxy you can see and store my http and https traffic (assuming I install the certificate in my device). Furthermore, all the traffic from the my pc to your proxy is also transmitted unencrypted so everyone who sits between my device and your proxy can see my traffic as well.
While this interface looks really cool and it is probably feature rich, I will pass using it because of those privacy concerns. If anyone is interested in a local http(s) proxy, check out mitmproxy[0] which is open source, runs locally and is easy to install (I’m not affiliated with them, i use use mitmproxy occasionally when Reverse Engineering am API).
Yes. Requests more than 20 minutes old are permanently deleted.
> Furthermore, all the traffic from the my pc to your proxy is also transmitted unencrypted so everyone who sits between my device and your proxy can see my traffic as well.
No, if you make HTTPS requests they are tunneled over TLS.
> While this interface looks really cool and it is probably feature rich,
Thanks. It isn't feature rich though, it's quite minimal.
> If anyone is interested in a local http(a) proxy, check out mitmproxy[0] which is open source, runs locally and is easy to install (I’m not affiliated with them, i use use mitmproxy occasionally when Reverse Engineering am API).
mitmproxy is indeed great, in fact, this service is build on mitmproxy instances :)
I can appreciate this. Pre-configured / zero config open source software as a service is a useful thing. Not everyone wants to install, configure, and deal with command line tools.
Are there tradeoffs? Sure. Would I personally make those tradeoffs? No. But I am sure some people will.
Not just see and store, but obviously also tamper with if you want to be thorough in a risk statement.
For years I've done presentations and whatnot to top notch web developers where I've invited them to connect to my proxy in order to demonstrate security flaws - rarely asking them to install my root CA. No matter how many warnings and disclaimers I provide, I always see sensitive traffic through my proxy because someone always connects, despite my advisement against it, with the machine they use for work as opposed to a test VM. Further, weeks after a presentation, I'll still have people connecting through my proxy because they forgot to clear out the settings. Be very, very, very cautious about using this service and do so on a machine that's not configured with email or anything else you care about or will be in the future. Even if you don't install the root CA, there are enough serious flaws in enough non-browser clients (email, chat, and whatnot) as well as sites we tend to use frequently that you should consider that even proxy exposure of HTTP traffic could be a security issue.
On debugProxy, username and password "sessions" are disabled after 20 minutes of inactivity. This was implemented, in part, to combat the issue of people forgetting they were still connected to the proxy.
Also, I don't want to, nor do I have a enough disk space to store things for long. So body data over 20 minutes old is periodically permanently removed. Header data lasts a bit longer, but is also periodically permanently removed.
This will not prevent users sending private credentials over the proxy, but it's hard to prevent that as you say, so hopefully this mitigates the problem a bit.
Of course you still have to trust the service, for some people that will be totally unacceptable, which is fine.
The secure pipeline we ended up using involves:
1. Having a HTTPS endpoint for the proxy
2. Forwarding the captures to you immediately via listening WebSocket instances
Note that because the server upon receiving a request can immediately push it to WebSockets instead of relying on polling, no storage is needed
This is side project I have been working on with a friend. It's a pretty niche service, so it isn't easy finding people to try it. I'm really interested to hear what you think, for better or worse :) I'm also happy to answer any questions.
Just a few highlights:
- Fully native iOS app
- You can intercept traffic from any device and your data stays in Peek
- Intercept traffic from other iOS apps on the same device, so you don’t need a Mac or a 2nd iOS device
- Modify requests and responses as they come in
Disclaimer: I am the creator. Would love to hear your feedback here or support@peek.tools
What's the benefit compared a traditional network setup with a MITM proxy?
Been using them for a couple of years, excellent support and new features keep on coming to their already slick web UI.
Thanks, glad you think so :)
> what benefits are there over using mitmproxy?
With mitmproxy you can do almost everything you can do with debugProxy and a lot more.
The main benefit is you don't need to install anything. Also you can proxy requests from clients outside your local network (if you are behind a NAT router, for example).
I use a MITM proxy to reverse engineer my IoT apps all the time (a lot of them don't provide public APIs but I want to use them from my controller app). I have not once ran into one that used pinning.