问题标签 [taint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 如何在 CGI.pm 中清除系统调用
我有以下 CGI 脚本:
当我执行命令时,它给了我这个
如何修复第 10 行?
java - 有开源污染工具吗?
有开源污染工具吗?我正在尝试分析一个 Java 项目,它是 Java 源代码。因此,我可以看到参数的用途和用途。例如,它是在 if 语句中使用还是分配给另一个变量等。
谢谢
ajax - 来自 JacksonMessageConverter 的 Spring JSON 污染响应
我的 Spring 应用程序中有一个 JacksonMessageConverter 用于返回 JSON 响应。但在返回 JSON 之前,我想污染Ajax Security - Preventing JSON hijacking中给出的 JSON 。使用消息转换器时可以这样做吗?
更新
我正在寻找一个类似于这个带有 responsebody 的 spring prefixjson的解决方案,但我已经正确设置了配置。PFB
但是返回的 JSON 仍然没有以“&&{}”为前缀。
注意:我想为 JSON 使用不同的前缀,如Ajax 安全性 - 防止 JSON 劫持 中所述,但即使是 Jackson 中提供的默认支持似乎也不起作用。有任何想法吗?
ruby-on-rails - 默认情况下,Rails 如何污染活动记录列?
关于 Rails 魔法的问题:
我在玩 IRB 和污染?方法,然后我只是做了以下事情:
有谁知道为什么有些参数被污染而有些没有?如果有办法选择应该污染哪一列?
编辑:
感谢您的回答。
@sgtFloyd:我只是尝试手动更新国家/地区。这就是正在发生的事情:
编辑 2:
我删除了 User 模型中的所有内容,并且一些 String 列看起来没有被污染,而有些则......
非常感谢!
json - 通过创建不可评估(“不可解析的杂乱无章”)JSON来提高安全性?
我们正在考虑对我们的 json 使用不可解析的 curft 方法作为额外的安全级别。
在查看这些方法时,我遇到了 googlewhile(1);
和 facebook 的for(;;)
;然后再提到{}&&
我已经看到围绕 1 的评论while(1);
说数字 1 可能会被破坏,所以我的方法将是for(;;);
.
然后我遇到了{}&&
,它使 json 无效,但它仍然可以被解析/评估。请参阅本文以供参考:http ://www.sitepen.com/blog/2008/09/25/security-in-ajax/
你的方法是什么?以及使用不可解析的曲线进行 ajax 调用的函数是什么样的?
perl - #!/usr/bin/perl 中的 -T 或 -w 有什么意义?
我用谷歌搜索#!/usr/bin/perl
,但找不到任何令人满意的答案。我知道这是一个非常基本的事情,但是,仍然可以解释我#!/usr/bin/perl
在 Perl 中的意义是什么?此外,在 中-w
或-T
表示#!/usr/bin/perl
什么?我是 Perl 的新手,所以请耐心等待。
perl - 为什么 Perl 在 -T 下运行时不想要求某些文件?
require 'lib/file.pl'
我最近注意到在我的系统上运行时是不可能的-T
,但是require './lib/file.pl'
可以。
这样做没有-T
两种方式: $ perl -w -e 'require "lib/file.pl"' $ perl -w -e 'require "./lib/file.pl"'
在污点模式下,.
不是@INC
.
我在文档中找不到这种行为。有人可以告诉我这是在哪里记录的,或者为什么-T
不喜欢.
作为 lib 目录?
c - 夹板如何进行污点分析
如何使用 Splint 进行污点分析?
我已经在我的 Ubuntu 12.04 上安装了 Splint。创建了一个小测试用例,如下所示:
还创建了具有以下内容的 splint.xh 文件:
还创建了具有以下内容的 splint.mts 文件:
然后最后用命令运行夹板工具:
其中 prg001.c 是样本输入,“splint”是指 splint.mts 和 splint.xh 文件。所有文件都在当前目录中。
我收到的输出是:
夹板 3.1.2 --- 2012 年 8 月 21 日
prg001.c: (在函数 main) prg001.c:6:1: printf 的格式字符串参数不是编译时常量:格式参数在编译时是未知的。这可能会导致安全漏洞,因为无法对参数进行类型检查。(使用 -formatconst 禁止警告) prg001.c:3:14: 未使用参数 argc 函数体中未使用函数参数。如果类型兼容性或未来计划需要参数,请在参数声明中使用 / @unused@ /。(使用 -paramuse 禁止警告)
完成检查 --- 2 个代码警告
输出中没有任何污点分析的提示。有人可以帮助我了解如何使用 Splint 完成污点分析。
谢谢
ruby - 什么是受污染的对象,我们应该何时清除它们?
什么时候需要对 Ruby 对象进行污染,什么时候应该对它们进行去污染?受污染对象的概念如何使 Ruby 脚本在安全模式下运行?任何人都可以详细说明这一点以通过一些代码片段来明确这个概念吗?
perl - perl cgi::param 错误与污染模式中的单加号
我在一个基于 Perl CGI 的网站上工作。它使用 Perl -T(污染模式)运行。我注意到文本输入只包含一个加号,没有其他内容(“+”)导致 CGI::param() 给出此错误:
在 ....../CGI.pm 第 533 行使用 -T 开关运行时,require 中的依赖关系不安全。BEGIN failed - 编译中止。
这不适用于其他单号或带有前导或尾随空格的加号(“-”、“+”、“?”)。
尽管用户通常不会输入单个加号作为输入,但我希望在这里有一个解决方法,以便我的脚本可以很好地拒绝输入,而不是在浏览器中打印一个丑陋的“软件错误”。
'
这会打印一个编译错误:
[在 ../..../CGI.pm 第 xxx 行使用 -T 开关运行时,require 中的依赖关系不安全。BEGIN 失败——编译中止。]
如果我跳过 CGI->new() 不会有错误。但根据我们的要求,这不是一个选项。
我希望这更清楚。感谢大家的帮助!
YJ