我使用JSTL标记来修复Fortify在我的JSP上报告的XSS漏洞问题。但在使用XSS漏洞问题后,问题就解决了,它导致了一个新问题,即“XSS:差评验”。我可以实现哪些其他可能的解决方案来解决这个糟糕的验证问题?
Fortify建议HTML / XML / URL编码不是一个好习惯,因为代码将在运行时解码,这仍然可能导致XSS攻击。
我正在使用注入spring的struts框架。我有一些字段,用户可以提供输入以及从数据库中读取的字段。我已经找到了可能的解决方案,但还没有找到一个好运。
谢谢, 蒂娜
答案 0 :(得分:0)
根据您输出数据的位置使用正确的编码。可以找到具体内容OWASP XSS Prevention Cheat Sheet - 以及有关OWASP AntiSamy
和Java 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