Live data from Hacker News

Charles Proxy now available on iOS

charlesproxy.com

101–110 of 113 posts

Re: Charles Proxy now available on iOS

#101
post #49
post #34

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)

Except on iOS you get: - Prompt to allow app to act like VPN - Having to enter your passcode after said prompt It's impossible for apps to MITM silently.

But is really common user reading these warnings?

I know that without it we wouldn't have amazing apps like https://itunes.apple.com/us/app/adblock/id691121579 , but i'm really not sure if its worth that risk for a common user that apple mostly targets with iOS.

Re: Charles Proxy now available on iOS

#102
post #99
post #49

Earlier quoted context omitted.

Except on iOS you get: - Prompt to allow app to act like VPN - Having to enter your passcode after said prompt It's impossible for apps to MITM silently.

Total noob question: is it possible for iOS app to fake/emulate that system prompt to ask your passcode?

It certainly was possible https://arstechnica.com/information-technology/2017/10/bewar...

Not sure about the current state though.

Re: Charles Proxy now available on iOS

#103
post #92
post #41

Earlier quoted context omitted.

How do you intercept traffic from apps that use cert pinning? Is the only way to patch the app binary and reinstall the patched binary using a dev certificate? How exactly does one go about patching the binary – is there a tutorial somewhere?

Won't an app worth its salt use certificate pinning to prevent this mitm ? In other words - Can I use Charles to sniff FB or watsapp traffic ? I do not use both services, but interested in analyzing their traffic.

You'll see the attempted request (the fact that there was a request to a named server) but none of the request details, except the encrypted stream.

There are guides you can google for cracking apps and replacing the certs they compare against. IIRC they all require a jailbroken device.

Re: Charles Proxy now available on iOS

#104
post #9

I 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!

Literally the same thing happened to me. I am deleting apps aggressively now.

Re: Charles Proxy now available on iOS

#105

mitmproxy has worked on iOS and Android for years now and is OSS and easy to use

I get the sense the Charles users are just not familiar with mitmproxy. Here’s a guide I wrote awhile ago to get you up to speed: https://gist.github.com/joshenders/2b0dc14c89a8769f64a7

Sure, but (a) this is an on-device app, and (b) some of us have been using Charles on the desktop since before mitmproxy existed.

Re: Charles Proxy now available on iOS

#106
post #38

Earlier 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)

"what’s keeping any random free game app from doing the same" It's not that simple, as author stated, it was some of the most challenging code he ever wrote.

Charles desktop app is well respected in the developer community. There is no reason that the iOS app will be treated any differently.

Re: Charles Proxy now available on iOS

#107
post #4

Charles 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.

I've had to do audits of apps that required you to be connected to a specific Wifi AP (usually with a dev server instance attached) to function.

Re: Charles Proxy now available on iOS

#108
post #22

Wish I could get a more consistent way of intercepting websocket traffic from iOS (specifically, wss traffic).

Charles for the desktop can intercept secure websocket traffic.

Yes, but the problem with Charles (well, iOS related at least) is that iOS websockets don't go through the HTTP Proxy configured. They're just considered a raw socket. Thus, even on desktop Charles, it's a nogo.

Re: Charles Proxy now available on iOS

#109
post #108

Earlier quoted context omitted.

Charles for the desktop can intercept secure websocket traffic.

Yes, but the problem with Charles (well, iOS related at least) is that iOS websockets don't go through the HTTP Proxy configured. They're just considered a raw socket. Thus, even on desktop Charles, it's a nogo.

I don't know about intercepting iOS apps, but I definitely do this exact thing for web app development targeting iPads using Charles for the desktop.

Be sure that your default proxy port doesn't conflict with the default WSS port.

Edit: for reference I'm on Charles 4.2.1

Re: Charles Proxy now available on iOS

#110
post #108

Earlier quoted context omitted.

Yes, but the problem with Charles (well, iOS related at least) is that iOS websockets don't go through the HTTP Proxy configured. They're just considered a raw socket. Thus, even on desktop Charles, it's a nogo.

I don't know about intercepting iOS apps, but I definitely do this exact thing for web app development targeting iPads using Charles for the desktop. Be sure that your default proxy port doesn't conflict with the default WSS port. Edit: for reference I'm on Charles 4.2.1

It works in Safari and Webviews, but definitely not in any native apps. That's what I'm referring to.
Post reply on HN