StringEscapeUtils调用和JSP表单提交值的问题

时间:2014-05-08 19:52:09

标签: java jsp xss stringescapeutils

我从JSP文件中传递了一些带有值的参数,在此之前我使用Apache StringEscapeUtils来避免使用参数值执行任何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是否会从传递的上述类型的param值中保存,或者我是否需要任何其他库

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

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

感谢这里的任何指示

由于

1 个答案:

答案 0 :(得分:0)

试试这个。

HTML表单编码的实用程序类

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

类似的方式,我们有

java.net.URLDecoder.decode(yoururlhere, "UTF-8");