Fortify Cross Site Scripting:验证不良

时间:2013-02-15 01:47:26

标签: jsp jstl xss fortify

我使用JSTL标记来修复Fortify在我的JSP上报告的XSS漏洞问题。但在使用XSS漏洞问题后,问题就解决了,它导致了一个新问题,即“XSS:差评验”。我可以实现哪些其他可能的解决方案来解决这个糟糕的验证问题?

Fortify建议HTML / XML / URL编码不是一个好习惯,因为代码将在运行时解码,这仍然可能导致XSS攻击。

我正在使用注入spring的struts框架。我有一些字段,用户可以提供输入以及从数据库中读取的字段。我已经找到了可能的解决方案,但还没有找到一个好运。

谢谢, 蒂娜

2 个答案:

答案 0 :(得分:0)

根据您输出数据的位置使用正确的编码。可以找到具体内容OWASP XSS Prevention Cheat Sheet - 以及有关OWASP AntiSamyJava HTML Sanitizer的信息。

此外,white listing可以在适当的地方使用。

答案 1 :(得分:0)

使用OWASP Encoder Jar。 Fortify解决了我的跨站点脚本问题。

从以下网址下载jar。第二个标签有例子。 https://www.owasp.org/index.php/OWASP_Java_Encoder_Project

段:

 /**
    * @typedef FieldType
    * @property {string} Text "text"
    * @property {string} Date "date"
    * @property {string} DateTime "datetime"
    * @property {string} Number "number"
    * @property {string} Currency "currency"
    * @property {string} CheckBox "checkbox"
    * @property {string} ComboBox "combobox"
    * @property {string} Dropdownlist "dropdownlist"
    * @property {string} Label "label"
    * @property {string} TextArea "textarea"
    * @property {string} JsonEditor "jsoneditor"
    * @property {string} NoteEditor "noteeditor"
    * @property {string} ScriptEditor "scripteditor"
    * @property {string} SqlEditor "sqleditor"
    */

http://owasp.github.io/owasp-java-encoder/encoder/apidocs/index.html?index-all.html