Это действительный тест, который может быть серьезной уязвимостью.
Если содержимое value
не было экранировано, то злоумышленник может закрыть тег и добавить любой другой скрипт.
Даже если <>
экранированы / удалены, а кавычки - нет, это все еще может быть использовано: злоумышленник может подключить обработчики событий, такие как onload
и onerror
. В современных браузерах каждый элемент можно сделать видимым (например, даже <head>
), поэтому style
может сделать <param>
доступным для поиска.
Это довольно просто защитить от XSS, как это. При генерации атрибутов всегда используйте кавычки и при изменении значения:
&
до &
<
до <
,
'
до &x39;
- и
"
до "
.
и вам не придется беспокоиться о том, что может случиться с угнанным <param>
.