XSS и апплет / Param HTML ключевые слова - PullRequest
1 голос
/ 02 ноября 2009

У меня есть веб-приложение, и я запустил сканирование XSS, и оно сообщает, что одна из моих страниц, на которой есть апплет Java, потенциально может быть открыта для XSS.

Тесту удалось назначить окно предупреждения javascript для следующего HTML-кода:

<param name='id' value='' onMouseOver=alert(40041)>

Мой вопрос - это действительный тест? Будет ли выполнение каких-либо манипуляций с JavaScript XSS объектами Param причиной каких-либо проблем в реальном мире? Я не думаю, что MouseOver для объекта param что-нибудь сделает.

Спасибо

1 Ответ

1 голос
/ 19 ноября 2009

Это действительный тест, который может быть серьезной уязвимостью.

Если содержимое value не было экранировано, то злоумышленник может закрыть тег и добавить любой другой скрипт.

Даже если <> экранированы / удалены, а кавычки - нет, это все еще может быть использовано: злоумышленник может подключить обработчики событий, такие как onload и onerror. В современных браузерах каждый элемент можно сделать видимым (например, даже <head>), поэтому style может сделать <param> доступным для поиска.

Это довольно просто защитить от XSS, как это. При генерации атрибутов всегда используйте кавычки и при изменении значения:

  • & до &amp;
  • < до &lt;,
  • ' до &x39;
  • и " до &quot;.

и вам не придется беспокоиться о том, что может случиться с угнанным <param>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...