XSS - 编码 - 解码 href/url

XSS - encode - decode a href/url

我有一个用例,其中有一个接受 URL 并保存的文本输入字段。 保存的 url 用于 jsp 文件

<script type="text/javascript">
    var defaultSimulatorUrl = '<%= defaultSimulatorUrl %>';
</script>

变量 defaultSimulatorUrl 用于在预填充的文本输入字段中显示

某些攻击者可以通过发送 http://abcxyz.com?a=b&c=d';alert(1);//[ 来攻击 defaultSimulatorUrl 的值=29=]

脚本内容将被转换为

<script type="text/javascript">
    var defaultSimulatorUrl = 'http://abcxyz.com?a=b&c=d';alert(1);//';
</script>

我的问题是,如果我使用 com.adobe.granite.xss.XSSAPI.encodeForHTML() 对 Url 进行编码,我如何才能在输入中显示原始 url字段

或者我可以通过其他方式对其进行编码以用于预填充的文本输入字段

XSSAPI 不提供 api 来解码字符串

我使用了 XSSAPI 的 encodeForJS 方法解决了我的问题