Live data from Hacker News

Launch HN: Requestly (YC W22) – Network debugging proxy for web and mobile

news.ycombinator.com

71–80 of 87 posts

Re: Launch HN: Requestly (YC W22) – Network debugging proxy for web and mobile

#71
post #37
post #31

Earlier quoted context omitted.

I recently used Fiddler along with Frida[1] to deal with cert pinning in the app I was looking into. [1] https://github.com/httptoolkit/frida-android-unpinning

Sweet, thanks for the link. I was looking for something like this. Tried mitmproxy but it was useless against cert pinning. So I went with decompiling the app to extract the auth keys and urls for the internal API it was using.

Is there a way to deal cert pinning without decompiling the app?

Re: Launch HN: Requestly (YC W22) – Network debugging proxy for web and mobile

#73

This looks great! Congratulations. I particularly like the "shortcuts" to common actions like "Insert JS/CSS". That's very useful! I want to also give a shoutout to https://proxyman.io/ . Proxyman is a native Mac App that also works as a local proxy and is a pleasure to use. I've been using it for similar workflows and can highly recommend it over Charles (the SSL handling alone is 100x simpler).

I too used to use paid-version of Charles and then moved to Proxyman. I particularly like the scripting ability in Proxyman.

Interesting! What was the trigger point to move to Proxyman. How did you port the configurations you already had in Charles? Did you have to recreate them?

Re: Launch HN: Requestly (YC W22) – Network debugging proxy for web and mobile

#74

Earlier quoted context omitted.

Lightrun looks really interesting. Have you personally used lightrun to debug anything directly in production? I saw the video on landing page and very curious to know how it works under the hood.

Sure. It works differently for every language/platform e.g. for Java it uses a JVMTI agent. This connects to the backend server which then connects to the IDE. This lets you send action commands to production without having a debug session into you K8S cloud.

Very Interesting that you brought K8s. In the K8s cluster, an API request could be hitting one of the multiple PODs so how does the JVMTI agent know which pod to connect to? I am definitely missing something here.

Re: Launch HN: Requestly (YC W22) – Network debugging proxy for web and mobile

#75

Earlier quoted context omitted.

Sure. It works differently for every language/platform e.g. for Java it uses a JVMTI agent. This connects to the backend server which then connects to the IDE. This lets you send action commands to production without having a debug session into you K8S cloud.

Very Interesting that you brought K8s. In the K8s cluster, an API request could be hitting one of the multiple PODs so how does the JVMTI agent know which pod to connect to? I am definitely missing something here.

You need to install the agent in all the pods in the cluster. You can then pick a specific one or use tags to target a set of them.

So you can add a conditional snapshot (a breakpoint that doesn't break) to the set of green containers. E.g. I can add a snapshot that has a condition to only grab the data for user X. I'll get the result regardless of the container that actually handles the request.

Re: Launch HN: Requestly (YC W22) – Network debugging proxy for web and mobile

#76

I'm interested in this for its potential reverse engineering apps on Android. I've had some success with `mitmproxy` but I'm wondering what other HN-ers use for this purpose.

I've been building a list of apps and libraries in this space. In no particular order: https://requestly.io/ https://portswigger.net/burp https://dutzi.github.io/tamper/ https://anyproxy.io/en/ https://wproxy.org/whistle/ https://www.telerik.com/fiddler https://github.com/alibaba/lightproxy https://httptoolkit.tech/ https://mitmproxy.org/ https://wiki.squid-cache.org/Features/SslPeekAndSplice https://www.charlesproxy…

Note that any properly made android app will pin its certificates and disallow user-added certificates, so you'll only see garbage go through. You need to install your certificate as a system certificate, which either requires root, or using the emulator.

Re: Launch HN: Requestly (YC W22) – Network debugging proxy for web and mobile

#77

Could you compare Requestly with Proxyman in terms of mobile debugging capabilities? Proxyman has especially well developed flow for installing certificates that allow the proxying without having to change the app's source code. I have not see other apps match that and it is incredibly helpful for only semi-technical QA workers who might not always have a dev team willing to integrate random SDKs only to make their l…

If it's iOS devices, the iOS version of Charles proxy is really easy to set up (no computer needed). You can export and send of the capture for later viewing in the desktop app.

Re: Launch HN: Requestly (YC W22) – Network debugging proxy for web and mobile

#79
post #50

There's a site I use that checks for membership only on the client side and I use requestly to spoof premium status. Just had to write a simple script like this to modify the response body of the request that gets membership status: function modifyResponse(args) { const {method, url, response, responseType, requestHeaders, requestData} = args; const responseDataParsed = JSON.parse(response); responseDataParsed.result…

FYI - We are adding a support for responseJSON in the arguments so you can just write the above code like this

function modifyResponse(args) { const {method, url, response, responseType, requestHeaders, requestData, responseJSON} = args;

    responseJSON.result.user.vip_end = "2030-06-11T14:16:20.000Z";
    responseJSON.result.user.expire_in = "3573 days, 3 hours";
    responseJSON.result.user.is_premium = true;
    return responseJSON;
  }

Re: Launch HN: Requestly (YC W22) – Network debugging proxy for web and mobile

#80

Earlier quoted context omitted.

Same. mitmproxy (and its built-in mitmdump lib), along w/ the (criminally obscure / amazing) lnav ( https://lnav.org ), have served me very well in the past for this kind of thing.

I have seen Inav earlier but never used it. Does it also provide response modification capabilities?

No, at least not out of the box, bc that's outside its intended realm; lnav (short for log navigator) is like a mini-ETL CLI powertool w/ embedded SQLite. You can pipe (semi/)structured data in, then query and optionally transform and/or export it out. Its API makes it convenient for chaining w/ tools like mitmproxy, so you could do almost anything with it in a custom script pipeline.
Post reply on HN