高效率创建安全的Java应用, 第2部分 - 编程入门网
操纵。Rational AppScan 介绍了修正方法:您需要确保您的 Web 应用程序不接受由用户浏览器所创建的会话。因此,您需要使用户当前绘画无效,并且在用户被许可证之后创建一个新的随机会话 ID 。要完成这一操作,您需要将列表 2 中所示的代码添加到 login.jsp 文件中。
列表 2. 使现有的网络会话无效
高效率创建安全的Java应用, 第2部分(13)时间:2012-01-14 IBM David Whitelegg在 logout.jsp 文件上,您需要结束会话:session.setAttribute("userid", null);。 列表上面的第三个问题是另一种经典的 Web 应用程序安全性缺陷:SQL 注入。SQL 注入使得攻击者能够通过执行在 Web 应用程序输入栏中所输入的 SQL 语句,操纵后台数据库。Rational AppScan 提示您 zip 输入框已经被影响。同 XSS 一起,Rational AppScan 解释了输入框的有效性,并且修正了这一缺陷。 至此,我们完成了高级别问题的修正。接下来,您将看到有关 Database Error Pattern Found 的几个中等级别的问题。 Database Error Pattern 是指返回一个数据库错误的测试。导致这种错误的原因是缺乏用户输入检查,即应用程序易遭受 SQL 注入或者 XSS 的攻击。检查建议。您需要确保对用户输入的全面检查,从而防止数据库错误和可能的缺陷在下一次扫描中出现。 接下来是列表上两个低级别的问题,它们都是 Session Identifier Not Updated。Rational AppScan 提示您黑客有可能盗取或者操纵会话和 cookie。同 Session Fixation 问题一样,您需要您的应用程序创建用户的会话 ID。 我们来看问题列表的最后部分,这里有三个信息级别的问题,即这些问题并不是真正的 Web 应用程序缺陷,但是可能是一个潜在的问题和威胁。您可以通过 Rational AppScan 看到 .jsp 文件中的注释。Rational AppScan 警告您这些注释可能包含敏感的信息,而这些信息是您不愿意公之于众或者被黑客获得的。在现实生活中,我所遇到的经典问题就是当测试 Web 应用程序的输入框时,开发人员将用户名和密码以背景色的形式放在注视中,以方便测试者阅读。所以,您需要检查这些注释,最好将它们从您的代码中移除。请记住,您的代码是面向大众的,所以安全性最佳实践就是将注释删掉,因此请将所有可能向黑客暴露 Web 应用程序的任何信息的可能性都消除掉。 通过点击左侧的 Remediation tasks,您可以过滤需要修正的列表,如图 29 所示。 图 29. 补救任务 最后,我们检查 Application Data,它将告诉我们有关 Rational AppScan 处理 Web 应用程序的每件事情,所以您将会看到文件夹树形结构以及 Rational AppScan 按着这一方式所发现的所有网页。您应当总是核查两遍以确保 Rational AppScan 正确无误的发现了所有 Web 应用程序文件。 在您对代码做出改变之前,请简要地看一下 Rational AppScan 报告,正常情况下先生成一个安全性报告,然后将其提供给负责作出修正的开发人员。 Rational AppScan 安全性报告 现在您有一组问题需要您的开发人员进行修正。您需要以一种好的报告格式将 Rational AppScan 的结果和建议提供给他们。 选择 Tools > Report,如图 30 中所示。 图 30. 启动报告向导 在报告中,您会发现大量预先载入的 Rational AppScan 报告,并且它们被划分为若干个主题。由于您希望生成一个内部报告以帮助开发人员解决问题,所以请照着默认报告去做。键入 Security Report。 高效率创建安全的Java应用, 第2部分(14)时间:2012-01-14 IBM David Whitelegg从模板选项中选择 Developer。 完成报告选项,如图 31 中所示。请 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |