Defenses: A WAF decodes your input once and checks for dangerous patterns (<script>, event handlers, javascript:). If the WAF passes it, the application decodes again before rendering.
A WAF decodes your input once and scans for threats. If it passes, the application decodes it again before rendering. Can you sneak a payload past the WAF?