Похоже, что HTML-очиститель правильно фильтрует эту строку, ЕСЛИ она появляется в коде Javascript.
В Javascript вы хотите отфильтровать все вхождения закрывающего тега, такого как </script>
, даже если он появляется в строковом литерале Javascript. В противном случае введение </script>
в строковое значение может обойти некоторые неосторожные фильтры и вырваться из строки Javascript в произвольный HTML. Похоже, что очиститель HTML правильно отфильтровал это, удалив этот «тег».
Нет ничего плохого в том, что <%00script>
в литеральной строке в Javascript, ЕСЛИ это действительно контекст, в котором оно появляется.
Также обратите внимание, что %00
на самом деле не является нулевым байтом, или PHP, или HTML, или сценарием Javascript. Это знак процента, за которым следуют два нуля. Однако в URL-адресе %00
действительно может интерпретироваться как нулевой байт, и поэтому %00
должен быть отфильтрован из URL-адресов.