El atacante no puede elegir qué codificaciones podrían ser efectivas. Si no hay un decodificador base64 en el extremo de la aplicación, la codificación base64 no logrará nada.
Si hay un paso de decodificación en base64 al final de la aplicación, la aplicación debe realizar la validación de entrada después de que se haya realizado la decodificación.
En el caso de los WAF, que están en el medio y no saben qué descodificación podría estar haciendo la aplicación, tienes razón: no son confiables.
Algunas herramientas solo aplican la decodificación estándar de protocolo (por ejemplo, decodificación de URL para parámetros de URL) y serían falsos negativos en ataques codificados utilizando un esquema ad hoc; algunas herramientas prueban una selección de codificaciones y, opcionalmente, combinaciones n de profundas codificaciones para tratar de detectar firmas de ataques, lo que puede llevar a falsos positivos como texto inocuo que nunca será descifrado con base64 se interpreta erróneamente como la base64- Codificación de algo que podría ser un ataque.
Así que sí, las correcciones como WAF que operan por encima de la capa de aplicación no son confiables, pero eso no es nada nuevo. Nadie debe confiar únicamente en un WAF para la seguridad; son buenos para detectar ataques genéricos y para soluciones temporales temporales para vulnerabilidades conocidas hasta que haya una solución disponible, pero nunca pueden ser un filtro de entrada hermético.