java修复XSS漏洞
Checkmarx为我的控制器类中的以下方法提供XSS漏洞。 特别是:该元素的值(ResultsVO)随后在代码中流动,没有经过适当的消毒或验证,并最终在方法中显示给用户:
@RequestMapping(value = "/getresults", method = RequestMethod.POST, produces = "application/json")
@ResponseBody
public ResultsVO getConfigResults(@RequestBody ResultsVO resultsVO, HttpServletRequest request)
throws OverrideApplicationException {
String loggedUserId = request.getHeader("USER");
return resultsService.getConfigResults(resultsVO, loggedUserId);
}
ResultsVO对象有很多字符串属性,我只是想知道是否有一种优雅的方式对它们进行编码以防止这种漏洞
# 1 楼答案
您需要从中删除转义字符,如Html/Js脚本。 您需要使用Jsoup和apachecommons库来转义Html/Javascript代码
示例:
# 2 楼答案
试试这个,它对我有用:)
Checkmarx将通过您报告的问题。:)
希望这将有助于提高投票率,如果成功的话