问题标签 [taint-checking]

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.

0 投票
2 回答
123 浏览

perl - perl IO 事件处理程序,用于清除字符串

如何在我的 Perl 代码中创建一个事件处理程序来拦截所有基于文件/目录/系统的调用,以便我可以及时处理输入。

我的脚本中有很多 IO 访问权限,并且我发现添加手动代码以消除污染很麻烦。

这可以在不需要安装第三方 CPAN 模块的情况下完成吗?

0 投票
1 回答
436 浏览

perl - 我以前未被污染的数据怎么会再次被污染?

我在这里有点神秘,我不太了解其根本原因。尝试从脚本调用 unlink 时,出现“使用 -T 开关运行时 unlink 中的不安全依赖项”。这不是谜,因为我意识到这意味着 Perl 说我正在尝试使用受污染的数据。神秘的是,这些数据之前在另一个脚本中没有受到污染,该脚本将其保存到磁盘而没有任何问题。

事情是这样的......第一个脚本使用以下内容创建一个二进制文件名

$adID 是由脚本本身使用 localtime(time) 函数生成的,所以它不应该被污染。$item_photo 在污点检查之前使用 $adID 和 $extensioncheck 重新分配,因此新的 $item_photo 现在是无污点的。我知道这一点是因为 $item_photo 本身在脚本后面的 unlink 本身没有问题。$item_photo 仅用于使用 ImageMagick 创建其他三个图像文件的时间,然后使用 unlink 函数将其丢弃。通过 $item_photo 的 ImageMagick 处理创建的三个文件名就是这样创建的。

路径被添加到新文件名以创建 URL,并在脚本顶部定义,因此它们也不会被污染。这些文件的 URL 是这样生成的。

然后我把它们写到唱片上,我知道一切都没有受到污染。

现在是棘手的部分。在第二个脚本中,我读取这些文件以使用 unlink 函数删除这些文件,这就是我获得“不安全依赖”标志的地方。

我知道我可以再次清除它们,或者甚至只是通过知道数据是安全的来打击它们,但这不是重点。我想首先了解为什么会发生这种情况,因为我不了解这些以前未受污染的数据现在如何被视为受污染。任何有助于启发我缺少此连接的地方将不胜感激,因为我真的想理解这一点,而不仅仅是编写黑客来修复它。

0 投票
4 回答
654 浏览

perl - 如何清理 EDITOR 等环境变量?

我有以下代码,但我认为我需要清理环境变量,但我不确定我应该如何清理它们。我意识到我可以对它们进行消毒的程度可能是有限的,但我能做些什么呢?

0 投票
3 回答
271 浏览

regex - Perl:使用 ?: 运算符时出现意外的匹配变量

尝试在 Perl 中清除一些变量,下面的代码效果很好:

在上面的例子中,$1 包含 $year(如果有效)。但是,在使用?:运算符时,$1 在有效时包含“1”:

任何人都看到我可能有错吗?我很困惑为什么会这样。它只发生在这台机器上。或者更确切地说,我已经成功使用了 ? 运算符用于返回多年的正确匹配变量。我还没有在任何其他机器上尝试过这段代码。

0 投票
1 回答
5483 浏览

ruby - 什么是受污染的对象,我们应该何时清除它们?

什么时候需要对 Ruby 对象进行污染,什么时候应该对它们进行去污染?受污染对象的概念如何使 Ruby 脚本在安全模式下运行?任何人都可以详细说明这一点以通过一些代码片段来明确这个概念吗?