- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Fortify 静态代码分析来分析我们的软件。 Fortify 报告称我们存在跨站点脚本漏洞(已反射(reflect)),但我认为我们实际上并没有这样做。
我可以尝试与客户争论这一点,让他们相信这是安全的(没有人愿意这样做,因为它需要审核),或者让 Fortify 满意;
我从 ASP.NET 的请求中获取表单参数,并“手动”(不使用 API)对其进行转义(转义任何换行符、\字符、引号并删除任何脚本标记)。然后我将其转储回浏览器,如下所示
output.Write("var enteredText = \"" + htmlEscape( Form.Params["enteredText"] ) +"\"");
加强投诉,除非我这样做
output.Write("var enteredText = \"" + htmlEscape( HttpUtility.HtmlEncode(Form.Params["enteredText"]) ) +"\"");
但这意味着要使用 Javascript var 'enteredText' 我必须使用 Javascript 对它进行 HTML 解码,这意味着我的应用程序上还有 10k 的代码(除非我错了)。在这种情况下,<>和实体的整个编码和解码都是多余的,不是吗?
如何安抚 Fortify?
最佳答案
如果应用程序允许在 EnteredText 字段中使用任意 JavaScript,并将其作为 JavaScript 在浏览器中执行,那么您确实存在反射性跨站点脚本漏洞,而且情况非常严重。任何可以导致用户针对您的应用程序发布帖子(例如,鱼叉式网络钓鱼攻击)的人都可能对用户造成各种伤害。这是一次非常简单的攻击。
因此,修复方法是以下之一
拒绝此 EnteredText 字段中的 JavaScript(以及 HTML 和 CSS)。或者,如果这破坏了您的应用程序:
查看需要在 EnteredText 字段中包含可执行代码并将可接受的值列入白名单的用例。对于 JavaScript,拒绝任何可能导致页面重写的内容:OnLoad()、document.body.innerHTML(例如)的事件处理程序或重定向用户的浏览器。
同时拒绝任何可能发布到远程服务器的内容(例如表单、img、css 标签)。正如您所暗示的,这可能是很多代码。
这只是一个简单的示例,您需要研究可在跨站点脚本攻击中使用的标记和事件处理程序的类型。如果您不拒绝 EnteredText 字段中的内容,您仍然会遇到该漏洞。
希望这有帮助。祝你好运。
关于javascript - 安全地将表单参数反射(reflect)为 Javascript 变量,而不会扰乱 Fortify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23574684/
Fortify SCA 和 Fortify SSC 有什么区别。这些软件生成的报告有什么区别吗? 我知道 Fortify SSC 是一个基于 Web 的应用程序。我也可以将 Fortify SCA 用
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
使用sourceanalyzer,如何在翻译过程中提供多个文件/路径排除项? 下面的示例来自:Fortify SCA exclude test folder\files /src/main/xyz/p
我们运行了 Fortify 扫描并遇到了一些访问控制:数据库问题。该代码正在获取文本框值并将其设置为字符串变量。在这种情况下,它将值从 TextBox 传递到数据库中的存储过程。关于如何解决此访问控制
对于我的 Controller 中的大多数操作方法,HP fortify scan 给我一条消息作为Mass Assignment: Insecure Binder Configuration (AP
我正在尝试获取一份报告,其中仅包含自上次扫描以来的最新问题,并且是在命令行中。例如: 扫描 1:5 个问题 扫描 2:8 个问题 我想要的:一份只显示最新 3 期的报告 到目前为止,这是我的命令: .
作为自动化运行安全代码分析过程的一部分,我有一个 Jenkins 作业,它使用 sourceanalyzer 命令行工具生成一个 .fpr 结果文件。目前,我正在 Audit Workbench 应用
Fortify Audit Workbench 是否有任何命令行选项可以让我将其放入 cron 作业并每天运行它? 扫描需要两个多小时,我希望它能连夜运行并在早上看到结果。 杰森 最佳答案 Audit
我有多个项目由一个父 pom 绑定(bind)。 如果我使用 Maven 强化插件在父 pom 上运行强化扫描,则会生成每个项目的 fpr 文件。我想为所有项目生成一个 fpr 文件。是否可以 ? 谢
全部,我正在尝试对代码存储库进行静态扫描,但 HP Fortify SCA 和应用程序 4.42 中的扫描向导不会为扫描创建批处理文件。 我可以添加项目根目录,然后系统会找到所有文件,大约 18,00
我们正在运行强化以检查安全漏洞和声纳以进行代码清理。 我想知道我们是否可以在 fortify 中启用静态代码分析并摆脱 sonar/pmd/findbugs 等。 我有一个 java 项目,将使用 f
翻译和扫描目标适用于我们正在扫描的项目。 但我们仍在手动进行合并;即我们搁置最后一次扫描的 .fpr 文件并通过 Maven 再次运行扫描,然后使用 Fortify Workbench 合并两个 .f
我想知道用于获取强化网站中所有漏洞的 REST API。 就像我可以通过点击' https://fortifyssc.xxx.com//api/v1/projects?q=id 来获取应用程序的详细信
我需要使用 Fortify 检查在我的项目中使用的第三方库中的漏洞(如果有)。 对于一些第三方库,我无法访问他们的源文件。我只有随附的 .jar 文件。 是否可以在 .jar 文件上运行 Fortif
我一直在尝试研究这个问题,而我有限的编译经验阻碍了我解决这个问题的能力。 基本上,我有一些代码是用 Qt Creator 编写的,然后用这些构建步骤构建: qmake.exe [project nam
我使用 HP Fortify SCA 4.10 进行扫描。现在我想将原始结果导出为 Excel 格式以进行数据按摩以生成数据透视表。任何人都可以建议一种简单或困难的方法来做到这一点。 最佳答案 引用此
使用 Fortify Audit Workbench 应用程序出现以下错误: [错误]:解析 *.js 时出现意外异常com.fortify.sca.analyzer.a:没有足够的内存来完成分析。有
我创建了一个默认的 .Net Core 1.0.1 类库并更改了 project.json 中的 buildOptions 以包含 debugType:“Full”。我使用 16.11 使用了集成的
我有一个在 AWB 中打开的 Fortify FPR 扫描文件。我想生成一份报告,其中包含发现问题的所有实例。当我生成报告时,它会按类型及其计数生成问题报告,在类型下方,我还会获取发现问题的某些文件的
我们如何使用命令生成 FortiFy 报告???在 Linux 上。 在命令中,我们如何仅包含一些文件夹或文件进行分析,以及如何提供存储报告的位置。等等。 请帮忙.... 谢谢, 卡尔蒂克 最佳答案
我是一名优秀的程序员,十分优秀!