đ§ āĻĻāĻā§āώāϤāĻž āϝāĻžāĻāĻžāĻ āĻ āĻĒā§āϰāϤāĻŋāϰāĻā§āώāĻžāĻŽā§āϞāĻ takeaway
Skill checkpoint: Protobuf/gRPC message structure āĻ schema version āĻŦā§āĻā§ local sample decode āĻāϰā§āĨ¤
Defense checkpoint: Server-side authorization, size limit āĻ schema validation āϝā§āĻ āĻāϰā§.
Lab scope: āĻļā§āϧ⧠āύāĻŋāĻā§āϰ lab, synthetic data āĻŦāĻž āϞāĻŋāĻāĻŋāϤ āĻ
āύā§āĻŽāϤāĻŋāĻĒā§āϰāĻžāĻĒā§āϤ target-āĻ āĻ
āύā§āĻļā§āϞāύ āĻāϰā§āĨ¤ Real credential, token āĻŦāĻž customer data āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻā§āϰ⧠āύāĻžāĨ¤
Portfolio proof: finding, impact, fix āĻ retest āύāĻŋā§ā§ ā§Ģ-āϞāĻžāĻāύā§āϰ redacted note āϰāĻžāĻā§āĨ¤
đĻ āĻāϞā§āĻĒ ā§§: āĻāĻŋāĻ āĻŋāϰ āĻāĻžā§āĻāĻžā§ āĻā§ā§āĻŋāϤ⧠āĻŦāύā§āϧ āϏāĻŋāϞāĻŽā§āĻšāϰ â āĻĒā§āϰā§āĻā§āĻŦāĻžāĻĢ āĻā§?
āϏā§āϰāĻ āĻāĻāĻāĻŋ āĻšāĻžāĻ-āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āϰāĻžāĻāĻĄ āĻļā§ā§āĻžāϰāĻŋāĻ āĻ
ā§āϝāĻžāĻĒā§āϰ āĻā§āϰā§āϝāĻžāĻĢāĻŋāĻ āĻāύā§āĻāĻžāϰāϏā§āĻĒā§āĻ āĻāϰāϞāĨ¤
āĻāĻŋāύā§āϤ⧠āĻāĻāĻŋ! āϰā§āϏāĻĒāύā§āϏ⧠āĻā§āύ⧠āĻā§āύāĻž JSON āύā§āĻ â {"price": 500}-āĻāϰ āĻŦāĻĻāϞ⧠āĻļā§āϧā§āĻ āĻāĻŋāĻā§ āĻ
āĻĻā§āĻā§āϤ āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻāĻžāĻŦāϰāĻāĻžāĻāĻž āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰ: ÂSourav!
āĻŦā§āώā§āĻāĻŋ āĻŽā§āϝāĻžāĻŽ āĻŦāϞāϞā§āύ, "āϏā§āϰāĻ, āĻŦā§ āĻŦā§ āĻā§āĻŽā§āĻĒāĻžāύāĻŋāĻā§āϞ⧠āĻā§āϰā§āϝāĻžāĻĢāĻŋāĻ āϏāĻžāĻāĻ ā§¯ā§Ļ% āĻāĻŽāĻžāύā§āϰ āĻāύā§āϝ āĻā§āĻā§āϏāĻ JSON āĻŦāĻžāĻĻ āĻĻāĻŋā§ā§ āĻā§āĻāϞā§āϰ āϤā§āϰāĻŋ Protobuf (Protocol Buffers) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻāĻžāύ⧠āĻĢāĻŋāϞā§āĻĄā§āϰ āύāĻžāĻŽ āĻĨāĻžāĻā§ āύāĻž, āĻļā§āϧ⧠āĻĢāĻŋāϞā§āĻĄ āύāĻžāĻŽā§āĻŦāĻžāϰ āĻāϰ āĻāĻŽāĻĒā§āϝāĻžāĻā§āĻ āĻŦāĻžāĻāĻ āĻĨāĻžāĻā§!"
đŦ āĻāϞā§āĻĒ ā§¨: Wire Types â āϤāĻžāϰā§āϰ āĻā§āϤāϰā§āϰ āĻāĻžāώāĻžāϰ āĻŦā§āϝāĻžāĻāϰāĻŖ
āĻĒā§āϰā§āĻā§āĻŦāĻžāĻĢā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĄā§āĻāĻžāϰ āĻāĻāĻāĻŋ āĻā§āϝāĻžāĻ āĻĨāĻžāĻā§āĨ¤ āĻā§āϝāĻžāĻ āĻĨā§āĻā§āĻ āĻŦā§āĻāĻž āϝāĻžā§ āĻĄā§āĻāĻžāĻāĻŋ āĻā§ āϧāϰāύā§āϰ:
âĸ Wire Type 0 (Varint): āĻāύā§āĻāĻŋāĻāĻžāϰ, āĻŦā§āϞāĻŋāϝāĻŧāĻžāύ (variable length integer)
âĸ Wire Type 1 (64-bit): āĻĢāĻŋāĻā§āϏāĻĄ ā§Ž āĻŦāĻžāĻāĻ āϏāĻāĻā§āϝāĻž āĻŦāĻž āĻĄāĻžāĻŦāϞ
âĸ Wire Type 2 (Length-delimited): āϏā§āĻā§āϰāĻŋāĻ, āĻŦāĻžāĻāĻāϏ āĻŦāĻž āύā§āϏā§āĻā§āĻĄ āϏāĻžāĻŦ-āĻ
āĻŦāĻā§āĻā§āĻ
âĸ Wire Type 5 (32-bit): āĻĢāĻŋāĻā§āϏāĻĄ ā§Ē āĻŦāĻžāĻāĻ āĻĢā§āϞā§āĻ
āĻāĻ āϰā§āϞ āĻāĻžāύāϞ⧠āϏā§āĻāĻŋāĻŽāĻž āĻĢāĻžāĻāϞ (.proto) āĻāĻžā§āĻžāĻ āϤā§āĻŽāĻŋ āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻĒā§āϝāĻžāĻā§āĻ āĻĄāĻŋāĻā§āĻĄ āĻāϰ⧠āĻĢā§āϞāϤ⧠āĻĒāĻžāϰāĻŦā§!
đ ī¸ āĻāϞā§āĻĒ ā§Š: APK āĻĨā§āĻā§ āĻāϏāϞ .proto āϏā§āĻāĻŋāĻŽāĻž āĻā§āϰāĻŋ āĻāϰāĻž
āĻŦā§āώā§āĻāĻŋ āĻŽā§āϝāĻžāĻŽ āϏā§āϰāĻāĻā§ āĻŦāϞāϞā§āύ, "āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻĻā§āĻā§ āĻāύā§āĻĻāĻžāĻ āĻāϰāĻžāϰ āĻā§ā§ā§ āϝāĻĻāĻŋ āĻ
ā§āϝāĻžāĻĒā§āϰ āĻā§āϤāϰā§āϰ āĻāϏāϞ āĻŦā§āϞā§āĻĒā§āϰāĻŋāύā§āĻāĻāĻž āĻĒā§ā§ā§ āϝāĻžāĻ, āĻā§āĻŽāύ āĻšā§?"
ā§§. JADX Search: āĻā§āϞāĻžāϏā§āϰ āĻā§āϤāϰ GeneratedMessageV3 āĻŦāĻž MessageLite āϞāĻŋāĻā§ āϏāĻžāϰā§āĻ āĻāϰā§āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĢāĻŋāϞā§āĻĄā§āϰ āĻāϏāϞ āύāĻžāĻŽ āĻ āĻāĻžāĻāĻĒ āĻā§āϞāĻžāϏā§āϰ āĻŽā§āĻĨāĻĄā§ āĻĒā§āϞā§āĻāύ āĻāĻžāĻāĻžāϤ⧠āϞā§āĻāĻž āĻĨāĻžāĻā§!
⧍. Protoc-dump & Mitmproxy: Mitmproxy-āĻāϰ āϏāĻžāĻĨā§ mitmproxy-protobuf āĻĒā§āϞāĻžāĻāĻāύ āϞāĻžāĻāĻžāϞ⧠āϝ⧠āĻā§āύ⧠āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻā§āϰā§āϝāĻžāĻĢāĻŋāĻ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§ āϰāĻŋāĻĄā§āĻŦāϞ JSON-āĻ āϰā§āĻĒāĻžāύā§āϤāϰ āĻšā§ā§ āϏā§āĻā§āϰāĻŋāύ⧠āĻā§āϏ⧠āĻāĻ ā§!
⥠āĻāϞā§āĻĒ ā§Ē: gRPC āĻāĻāĻžāϰ HTTP/2 â āĻāĻŦāĻŋāώā§āϝāϤā§āϰ āĻšā§āϝāĻžāĻāĻŋāĻ
Uber, Meesho, Netflix āĻāĻāύ āĻŽāĻžāĻāĻā§āϰā§āϏāĻžāϰā§āĻāĻŋāϏā§āϰ āĻŽāϧā§āϝ⧠gRPC āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϝāĻž HTTP/2 āĻŽāĻžāϞā§āĻāĻŋāĻĒā§āϞā§āĻā§āϏāĻŋāĻ āĻĻāĻŋā§ā§ āĻāϞā§āĨ¤
āĻāĻŽāϰāĻž Burp Suite āĻŦāĻž Reqable-āĻ āĻĒā§āϰā§āĻā§āĻŦāĻžāĻĢ āĻāĻā§āϏāĻā§āύāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏāϰāĻžāϏāϰāĻŋ āĻŦāĻžāĻāύāĻžāϰāĻŋ āϰāĻŋāĻā§ā§ā§āϏā§āĻā§āϰ āĻā§āϤāϰā§āϰ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻāĻĄāĻŋāĻ āĻāϰ⧠āϏāĻžāϰā§āĻāĻžāϰ⧠āϰāĻŋ-āĻĒā§āϞ⧠āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ!