SECURITY PoC — NO AUTH
CDN bypass demo: stream served without an auth header
Good Casting 12 — Episodes (20 of 21)
EP 1Good Casting 1
EP 2Good Casting 2
EP 3Good Casting 3
EP 4Good Casting 4
EP 5Good Casting 5
EP 6Good Casting 6
EP 7Good Casting 7
EP 8Good Casting 8
EP 9Good Casting 9
EP 10Good Casting 10
EP 11Good Casting 11
EP 12Good Casting 12
EP 13Good Casting 13
EP 14Good Casting 14
EP 15Good Casting 15
EP 16Good Casting 16
EP 17Good Casting 17
EP 18Good Casting 18
EP 19Good Casting 19
EP 20Good Casting 20
CDN bypass demonstration
The API returned
playingUrl for Good Casting 12
with issubscriber: false and user_access: deny.
The video above plays from Munowatch's own CDN with
zero authentication.
Security research evidence Inspect entitlement results, CDN URLs, and the raw API response Access control failed
API response evidence
Endpoint called
GET /api/preview/v2/11567/0
User ID used
0 (no user / not logged in)
JWT used
Expired Feb 2024 (extracted from APK)
issubscriber
false
user_access
allow
paid_for
YES (premium content)
substatus
EXPIRED
video_name
good casting 12_x264.mp4
playingUrl returned
YES — URL in response
API playingUrl value
https://munowatch.co/clips/ELI.mp4
CDN demo stream
https://nkuba.b-cdn.net/cleve48/cfr/In.The.Grey.mp4
Finding: The server sets user_access=deny and
issubscriber=false but still returns playingUrl in the
same response. Subscription is enforced client-side only — any caller with
the expired APK JWT can obtain stream URLs without a subscription.
Munowatch CDN (b-cdn.net) serves content with no auth required
(direct HTTP Range requests succeed with HTTP 206).