webPromedium

Lab 378 — PulseBoard — Cache Poisoning XSS via Next.js Header Misclassification

hackadvisor

Task: Next.js 14.2.9 analytics dashboard behind Nginx, /insights page reflects User-Agent unsanitized but is dynamic (not cached). Solution: Send x-now-route-matches header to trick Next.js into treating the page as static/ISR, making Nginx cache the XSS-poisoned response served to all visitors including admin bot whose flag cookie is exfiltrated via /api/feedback.

$ ls tags/ techniques/
admin_bot_exploitationhoneypot_flag_identificationsame_origin_exfiltration_via_apicache_poisoning_via_header_misclassificationnextjs_x_now_route_matches_isr_bypassunsanitized_user_agent_reflection

🔒

Permission denied (requires tier.pro)

Sign in to access full writeups

Sign in with GitHub to continue. No email required.

$sign in

$ grep --similar

Similar writeups