0

我从我的 JSP 文件中传递了一些带有值的参数,在此之前我使用 ApacheStringEscapeUtils来避免使用参数值执行任何 XSS 攻击脚本

例如,如果有人插入这样的值并获得访问权限

当这样的东西作为值传递时,跨脚本测试当前失败

site_locale=en_US%2F%3E%3Ciframe+src%3Djavascript%3Aalert%28116%29+

当这样的事情通过时,盲 SQL 注入测试当前失败

isMgr=true%27+and+%27f%27%3D%27f%27%29+--+  

我的问题是是否StringEscapeUtils.escapeHtml会从上面传递的参数值类型中保存,还是我需要任何其他库

我还想确认我StringEscapeUtils在 JSP 中调用的方式是否正确

<input type="hidden" name="site_locale" value= <%= StringEscapeUtils.escapeHtml(site_locale) %> >

在这里欣赏任何指针

谢谢

4

1 回答 1

0

尝试这个。

HTML 表单编码的实用程序类

URLEncoder.encode(yoururlhere, "UTF-8")

类似的方式,我们有

java.net.URLDecoder.decode(yoururlhere, "UTF-8");
于 2014-05-08T20:03:45.103 回答