Да, в этом коде есть ряд уязвимостей:
- выполнение вредоносного JavaScript при выполнении
$('#div001').attr("title", unsafe_string);
Пример: код jsp: $('#div001').attr("title", ${unsafe_string});
когда значение unsafe_string "");alert('do nasty stuff')
генерирует код js: $('#div001').attr("title", "");alert('do nasty stuff')
edit: jquery защищает вас от этих 2, избегая опасногосимволы
внедрение вредоносного javascript в значение атрибута (заголовок) внедрение html в значение атрибута У вас естьчтобы избежать небезопасной строки, чтобы защитить от всех этих (а также вы должны проверить небезопасную строку, когда вы сохраняете ее в своем приложении).Я предлагаю использовать для этого существующую библиотеку безопасности, в зависимости от вашего технологического стека.Подробнее здесь: https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
Редактировать: 4. Если вы храните свой js-код в html-файле, вы также можете быть уязвимы для html-инъекции Пример: jsp code:
<body>
<script>
$(document).ready(function(){$('#mydiv').attr( "title", ${unsafe_string})});
</script>
<div id="mydiv" title='abc'>
something
</div>
Когда unsafe_string - строка уничтожение моего сайта Ваша страница будет выглядеть как
Подробнее о том, как проверить XSS здесь:https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)