Si la pregunta es "¿Por qué necesitamos codificar caracteres distintos de < y >" , esto se debe a que posiblemente existen casos de esquinas? Un ejemplo ingenuo sería cuando la entrada de un cuadro de texto se utiliza para generar, por ejemplo, un href, o una fuente de imagen sobre la marcha.
Posibilidades :
<img src="&{alert('XSS Vulnerable')};">
El carácter especial "&" a veces se interpreta como un nuevo segmento de código JavaScript (entidad).
" [event]='code'
En muchos casos, es posible que un atacante inserte una cadena de explotación, con la sintaxis anterior, en una etiqueta HTML que debería haber sido como:
<A HREF="exploit string">Go</A>
dando como resultado:
<A HREF="" [event]='code'">Go</A>
<b onMouseOver="self.location.href='http://bad.com/'">text</b>
A medida que el cursor del cliente se mueve sobre el texto en negrita, ocurre un evento intrínseco y se ejecuta el código JavaScript.
Hay muchos más casos de esquinas / oscuros (en el mundo de hoy) en los que solo se codifica < o > Puede que no sea suficiente. Busque enlace para obtener información sobre casos similares (aunque no un poco obsoletos).