当前位置: 首页 > 面试题库 >

防止敏感数据违反PCI标准-response.getWriter()。write(xml.toString())

邢昂然
2023-03-14
问题内容

我正在根据代码审核报告来修复代码。它对具有语法的行说“敏感数据的显着暴露”
response.getWriter().write(xml.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");

我已经做了足够的家庭作业,可以针对XSS攻击进行修复,并使用ESAPI进行相同的工作。但不知道如何解决这一问题。请提供建议该报告针对所报告的问题具有以下消息。“通过网页泄漏toString()结果(“
xml”)“

经过一天的研发,我发现sax解析器可以在这种情况下为我提供帮助。实际上,这是由于StringBuffer.toString()语法导致的内存泄漏,这是由于敏感数据被暴露和丢失。但我不知道如何实现。同样在某个地方,我发现使用StringBuilder()类而不是StringBuffer()类。任何人都可以帮助我或提出宝贵建议。提前致谢。

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

StringBuffer content = (StringBuffer)file.get("content");
response.setContentLength((int)content.length());
            response.getWriter().write(content.toString());

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


问题答案:

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



 类似资料:
  • 问:我们如何防止主机提供商访问我们的数据? > 我们不希望宿主提供程序的用户登录Sql Server并查看数据。 我们不希望盒子里有数据库文件的未加密副本。

  • 随着在线应用程序日复一日地涌入互联网,并非所有应用程序都受到保护。许多Web应用程序无法正确保护敏感用户数据,如信用卡信息/银行帐户信息/身份验证凭据。黑客可能最终窃取这些受到弱保护的数据,以进行信用卡欺诈,身份盗窃或其他犯罪。 下面我们来了解这个漏洞的威胁代理,攻击向量,安全弱点,技术影响和业务影响。 威胁代理 - 谁可以访问您的敏感数据和任何数据备份。有外部和内部威胁。 攻击者的方法 - 做中

  • 问题内容: 我需要在内存中短时间存储用户密码。我该怎么做却又不会在核心转储或回溯中意外泄露此类信息?有没有一种方法可以将值标记为“敏感”,因此调试器不会将其保存在任何地方? 问题答案: 编辑 我已经提出了使用ctypes(反过来使用C)零内存的解决方案。 我不保证此代码的安全性。经过测试可在x86和CPython 2.6.2上运行。更长的文章在这里。 在Python中解密和加密将无法进行。字符串和

  • 我的PHP网站有以下内容: > 启用SSL Cookie: 传输时的密码SHA512,然后是password_hash(),最后是PASSWORD_BCRYPT 我现在希望使用AES_Encrypt函数加密敏感数据,方法是将用于加密和解密的$key存储在webroot目录之外。 这可能会存储病人的数据,我所拥有的是否足够安全? 问题: 当您插入/更新时,您是如何清理输入的?如果您使用的是准备好的语

  • Peripheral Component Interconnect ( PCI ),好像它的名字暗示的一样,是描述如何通过一个结构化和可控制的方式把系统中的外设组件连接起来的一个标准。标准的 PCI Local Bus 规范描述了系统组件电气连接的方法和它们行为的方法。本章探讨 Linux 核心如何初始化系统的 PCI 总线和设备。 图 6.1 是一个 PCI 基础的系统的逻辑图。 PCI 总线和

  • 我正在构建一个React本机应用程序,需要保存一些敏感数据,如令牌和刷新令牌。显而易见的解决方案是使用异步存储保存这些信息。问题在于异步存储的安全级别。 AsyncStorage提供了一种本地存储令牌和数据的方法。在某些方面,它可以与LocalStorage选项相比较。在完整生产应用程序中,建议不要直接访问AsyncStorage,而是使用抽象层,因为AsyncStorage与使用同一浏览器的其他