Pet*_*teY 2 java controller sanitization owasp checkmarx
Checkmarx 为我的 Controller 类中的以下方法提供了 XSS 漏洞。\n具体来说:此元素\xe2\x80\x99s 值(ResultsVO)然后在没有经过适当清理或验证的情况下流经代码,并最终在方法中显示给用户:
\n\n @RequestMapping(value = "/getresults", method = RequestMethod.POST, produces = "application/json")\n @ResponseBody\n public ResultsVO getConfigResults(@RequestBody ResultsVO resultsVO, HttpServletRequest request)\n throws OverrideApplicationException {\n String loggedUserId = request.getHeader("USER");\n return resultsService.getConfigResults(resultsVO, loggedUserId);\n }\nRun Code Online (Sandbox Code Playgroud)\n\nResultsVO 对象有很多 String 属性,我只是想知道是否有一种优雅的方法对它们进行编码以防止此漏洞。
\n试试这个——它对我有用:)
resultsVO = SecurityUtil.sanitizeObject(resultsVO, ResultsVO.class);
Run Code Online (Sandbox Code Playgroud)
public static <T> T sanitizeObject(Object object, Class<T> classOfT){
Gson gson = new Gson();
String json = Jsoup.clean(StringEscapeUtils.escapeHtml4(gson.toJson(object)), Whitelist.basic());
return gson.fromJson(json, classOfT);
}
Run Code Online (Sandbox Code Playgroud)
Checkmarx 将通过您报告的问题。:)
希望它会有所帮助 - 如果有效,请投票
| 归档时间: |
|
| 查看次数: |
11247 次 |
| 最近记录: |