У меня есть HTML выберите тег в моем JSPCross-Site: encodeForHTML для содержания HTML (АНИ OWASP Enterprise Security)
<%@ taglib prefix="esapi" uri="http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API"%>
<select>
...
<option value="volvo">${device.name}</option>
....
</select>
Я установил это как имя устройства в БД
"><script>alert(1)</script>2d65
Я пытался избавиться от тревоги, когда я загрузить страницу с помощью
<esapi:encodeForHTMLAttribute>${device.name}</esapi:encodeForHTMLAttribute>
или
<esapi:encodeForHTML>${device.name}</esapi:encodeForHTML>
или
<c : out value="${device.name}"/>
или
<esapi:encodeForJavaScript>${device.name}</esapi:encodeForJavaScript>
Но нет никакого способа! Предупреждающее сообщение всегда появляется при загрузке страницы!
На самом деле, я вижу, что символы экранируются, но даже о том, что предупреждение появляется в JSP
Похоже esapi не имеет закодировал параметр. Вы проверили сгенерированный html? – XPD
Вы можете показать полный код и сгенерировать Html, пожалуйста? – ProllyGeek