Java 防止根据PCI标准暴露敏感数据-response.getWriter().write(xml.toString())

Java 防止根据PCI标准暴露敏感数据-response.getWriter().write(xml.toString()),java,stringbuffer,Java,Stringbuffer,我正在根据代码审计报告修复代码。它表示防止对具有语法response.getWriter.writexml.toString的行暴露敏感数据。整个代码如下 String alertId = request.getParameter("alertId") != null ? request.getParameter("alertId") : ""; String desc=AAAA.getBBBB(Long.parseLong(AAAA.getCCCC(a

我正在根据代码审计报告修复代码。它表示防止对具有语法response.getWriter.writexml.toString的行暴露敏感数据。整个代码如下

String alertId =  request.getParameter("alertId") != null ? request.getParameter("alertId") : "";
                    String desc=AAAA.getBBBB(Long.parseLong(AAAA.getCCCC(alertId)));
                    StringBuffer xml = new StringBuffer();

                    xml.append("<?xml version=\"1.0\"?>");
                    xml.append("<parent>");
                    xml.append("<child>");
                    xml.append("<alertDesc>");
                    xml.append(desc);
                    xml.append("</alertDesc>");
                    xml.append("</child>");
                    xml.append("</parent>");

                    response.getWriter().write(xml.toString());  // ISSUE IN THIS LINE
                    response.setContentType("text/xml");
                    response.setHeader("Cache-Control", "no-cache");
StringBuffer content = (StringBuffer)file.get("content");
response.setContentLength((int)content.length());
            response.getWriter().write(content.toString());

我也不知道怎么修这个。问题是该工具报告的敏感数据泄漏。

正如我在评论中所说的,我不认为评论与代码本身有关,而是与敏感数据的暴露有关。我已经阅读了PCI-DSS文档,但我不记得该文档中有任何关于如何编写代码的内容,无论良好实践如何。您可以自己查看所有可用的。这是一项艰巨的任务,更好的方法是尝试找出顾问的意思


当您不知道问题在哪里时,修复某些内容确实很困难。

content.toString需要正确验证。使用ESAPI对其进行严格验证。直接写入响应确实容易受到攻击,如果数据是从以请求作为输入的方法输出的,那么它就容易受到攻击。主要的安全问题。

我认为问题不在于StringBuffer,而在于您公开的信息。desc中是否有任何敏感信息,如信用卡号或CVV代码?no desc没有任何敏感数据。它是由审计工具只报告,我只需要给问题的修复。你为什么不直接问审计员他们是什么意思呢?亲爱的,我在一个客户项目上工作。客户已经完成了代码审计,并向我们提供了关于不同审计标准的问题和消息的报告,我需要解决这些问题,这就是我所能说的。如果你知道答案,请告诉我。谢谢