Genuine question here: How is it not absolutely terrifying that an iOS App Store app can man in the middle HTTPS communications made by other apps? Is there some way in which this isn’t poking a hole in exactly the sort of security sandbox that iOS tends to be good at? (And yes there probably is some part of what’s going on that I don’t understand, that’s why I’m asking the question)
Can't say much about the security, but I suspect it's working by pretending to be a VPN provider and then proxying the traffic. It's then able to install a CA root to generate any certs it needs to MITM traffic. Cert pinning will prevent this from working, but that's the only thing that will.
Charles Proxy now available on iOS
81–90 of 113 posts
Re: Charles Proxy now available on iOS
#82I'm trying to get it to work but whenever I have the VPN enabled all network traffic fails (HTTP and HTTPS). Anyone else have this issue? The website isn't giving me much insight :( edit: I'm on the latest iOS beta. Could that be why? funny that I'm troubleshooting an app which is largely meant for troubleshooting apps...
I found that it didn't work on WiFi networks that block client-to-client connections, if that gives you any pointers.
Yeah it works once I disable it, kind of an important pointer the app could alert users to...
I was originally thinking that maybe the MITM VPN IP clashes with my LAN subnet.
Re: Charles Proxy now available on iOS
#83Earlier quoted context omitted.
Can't say much about the security, but I suspect it's working by pretending to be a VPN provider and then proxying the traffic. It's then able to install a CA root to generate any certs it needs to MITM traffic. Cert pinning will prevent this from working, but that's the only thing that will.
Do iOS apps not require cert pinning by default for their respective APIs/whitelisted https domains?
Re: Charles Proxy now available on iOS
#84Earlier quoted context omitted.
Can't say much about the security, but I suspect it's working by pretending to be a VPN provider and then proxying the traffic. It's then able to install a CA root to generate any certs it needs to MITM traffic. Cert pinning will prevent this from working, but that's the only thing that will.
Supposed sandboxing against malicious apps is precisely why I run iOS rather than Android. I get that Charles isn’t malicious, but what’s keeping any random free game app from doing the same thing? (Again, intended as a real question not a rhetorical one)
2. You have to trust the Charlesproxy root certificate; again, in the system settings.
Re: Charles Proxy now available on iOS
#85Earlier quoted context omitted.
Can't say much about the security, but I suspect it's working by pretending to be a VPN provider and then proxying the traffic. It's then able to install a CA root to generate any certs it needs to MITM traffic. Cert pinning will prevent this from working, but that's the only thing that will.
Supposed sandboxing against malicious apps is precisely why I run iOS rather than Android. I get that Charles isn’t malicious, but what’s keeping any random free game app from doing the same thing? (Again, intended as a real question not a rhetorical one)
Re: Charles Proxy now available on iOS
#86How widespread is certificate pinning nowadays in iOS apps? Does anybody have any experiences?
I guess it's mostly used if the application is doing something critical like money transactions etc.
Re: Charles Proxy now available on iOS
#87This is awesome! The first thing I discovered was how much network noise crashlytics.com was causing. Used AdBlock's[0] DNS proxy feature to black-hole the offending domain (they even mention blocking crashlytics.com in their FAQ[1]). Note that both AdBlock and Charlex rely on iOS's VPN feature, and only one can be enabled at a time. [0] https://itunes.apple.com/us/app/adblock/id691121579?mt=8http... [1] https://www.…
Re: Charles Proxy now available on iOS
#88Earlier quoted context omitted.
Supposed sandboxing against malicious apps is precisely why I run iOS rather than Android. I get that Charles isn’t malicious, but what’s keeping any random free game app from doing the same thing? (Again, intended as a real question not a rhetorical one)
1. You have to turn on VPN in the system settings. 2. You have to trust the Charlesproxy root certificate; again, in the system settings.
Re: Charles Proxy now available on iOS
#89Earlier quoted context omitted.
And the desktop version allows to intercept the traffic of the machine it runs on. Mitmproxy cannot do that afaik.
What do you mean? This has been working since way before 1.0.
> Note that the rdr rules in the pf.conf given above
> only apply to inbound traffic. This means that
> they will NOT redirect traffic coming from the box
> running pf itself. We can’t distinguish between an
> outbound connection from a non-mitmproxy app, and
> an outbound connection from mitmproxy itself - if
> you want to intercept your OSX traffic, you should
> use an external host to run mitmproxy. Nonetheless,
> pf is flexible to cater for a range of creative
> possibilities, like intercepting traffic emanating
> from VMs. See the pf.conf man page for more.
That's for transparent mode only though, maybe that had me confused.Re: Charles Proxy now available on iOS
#90Earlier quoted context omitted.
Do iOS apps not require cert pinning by default for their respective APIs/whitelisted https domains?
Whitelisted domains? What? Never heard of that in iOS.
[1] https://developer.apple.com/library/content/releasenotes/Gen...