Earlier quoted context omitted.
Well, the certs don't _have_ to be shipped with the app, there are workarounds to refresh the certs without sending out a whole new app binary.
Yep - but guess what wasn't done in this case... (Yes, this is a still-trying-to-fix-it real world event... Glad it's not my problem, just one I hear about from people I used to work with...)
Charles Proxy now available on iOS
61–70 of 113 posts
Re: Charles Proxy now available on iOS
#62Re: Charles Proxy now available on iOS
#63Earlier quoted context omitted.
I've never done this personally, but I'm pretty sure there is no way to protect against hooking and/or patching functions in Secure Transport (iOS's low-level TLS stack), since all network traffic goes through these APIs. I'm sure there's something similar in Android.
You're not forced to use system facilities for TLS on Android. Back when you needed up to date TLS support for your app on older Android versions you would use e.g. BouncyCastle instead of the system's TLS facilities. Probably the same for iOS.
Re: Charles Proxy now available on iOS
#64Earlier 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)
You can also click a link to a certificate on a webpage and install it manually on iOS.
Re: Charles Proxy now available on iOS
#65Sucks that more and more 3rd party apps are adding pinning to their code so you can't sniff their traffic. This is a great tool for first party debugging though :) Nice work Charles!
Of course, pinning is trivially defeated if you have debug-level access to the app because you could just intercept any network call.
Re: Charles Proxy now available on iOS
#66Earlier quoted context omitted.
Sure, but then you'd have to JB the phone. Most of this stuff is pretty straightforward, but not exactly 'trivial' - especially given the context is an iOS app specifically aimed at making MITM easier.
Certificate pinning is inherently security by obscurity; it's intended as an annoyance for anyone trying to reverse-engineer the service, rather than an insurmountable barrier.
For instance if a CA gives a CA certificate to a government running an SSL inspection service.
Re: Charles Proxy now available on iOS
#67Re: Charles Proxy now available on iOS
#68I use the desktop product daily so I picked this up. I frequently proxy my phone through my desktop but I figured this would be fun to play with if nothing else. I turned it on for literally one second and the first thing it captured was traffic from an app I used briefly several years ago and not since. Cool!
Charles could show a list of recommended apps to delete.
Re: Charles Proxy now available on iOS
#69Charles can already be used as an http/https proxy on iPhone via https://www.charlesproxy.com/documentation/faqs/using-charle... I generally would only be needing to inspect requests when developing at my workstation, so how is this native app providing additional value beyond what the Charles Mac software already provides? Big fan of Charles over here, I just don't understand the use case for the native app.
You can watch his presentation [1] (which is linked to in the announcement page that story links to) for a few of the use cases.
Re: Charles Proxy now available on iOS
#70However I'll continue to use wireshark for debugging my network code when at the office.