首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止敏感数据泄露-- response.getWriter().write(xml.toString())

防止敏感数据泄露-- response.getWriter().write(xml.toString())
EN

Stack Overflow用户
提问于 2012-06-18 12:40:09
回答 2查看 1.4K关注 0票数 0

我正在根据代码审计报告修复代码。它在语法为response.getWriter().write(xml.toString())的行上写着“防止敏感数据的暴露”。整个代码如下所示。

代码语言:javascript
复制
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");

我已经做了足够的家庭作业,可以修复XSS攻击,并使用ESAPI进行同样的修复。但是不知道怎么解决这个问题。请针对报告中报告的问题提供以下建议。“通过网页泄漏toString()结果("xml")”

经过一天的研究和开发,我发现sax解析器在这种情况下可以帮助我。这实际上是StringBuffer.toString()语法中的内存泄漏,导致敏感数据暴露和丢失。但我不知道如何实现它。在某些地方,我发现使用StringBuilder()类而不是StringBuffer()类。有没有人可以帮我或者给出宝贵的建议。提前谢谢。

此外,我也有另一种类型的代码相同的问题。它在下面。

代码语言:javascript
复制
StringBuffer content = (StringBuffer)file.get("content");
response.setContentLength((int)content.length());
            response.getWriter().write(content.toString());

再说一次,我不知道如何解决这个问题。问题是该工具报告的敏感数据的泄漏。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-29 17:52:49

需要正确地验证content.toString()。使用ESAPI进行严格的验证。直接写入响应确实容易受到攻击,如果数据是从具有请求作为输入的方法中输出的,那么它会有两倍的漏洞。主要的安全问题。

票数 0
EN

Stack Overflow用户

发布于 2012-06-18 22:32:02

正如我在我的评论中所说的那样,我不认为评论与代码本身有关,而是与敏感数据的暴露有关。我读过PCI-DSS文档,但我不记得它有任何关于它应该如何编码的内容(不管好的实践)。你可以自己看看所有可用的PCI documentation。这是一项艰巨的任务,更好的方法是尝试找出顾问的意思。

当你不知道问题出在哪里的时候,解决问题真的很难。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11076992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档