gpt4 book ai didi

perl - 查找 perl 污点模式错误的根源

转载 作者:行者123 更新时间:2023-12-04 18:50:52 25 4
gpt4 key购买 nike

在污点模式下运行 perl CGI 脚本时,我收到以下形式的错误...

Insecure dependency in some_function while running with -T switch at (eval some_line) line some_other_line.
Compilation failed in require at my-script.cgi line 39.
BEGIN failed--compilation aborted at my-script.cgi line 39.

my-script.cgi 第 39 行是 perl 模块的 use 语句,它本身不使用 eval 或 some_function,但可能使用了另一个库。 some_line 和 some_other_line 行号在 my-script.cgi 或在 my-script.cgi 的第 39 行“使用”的库中似乎没有意义。

鉴于此错误,我如何追踪污点错误发生的位置?

我尝试设置一个新的 die 信号处理程序,它应该打印一个堆栈跟踪,即
$SIG{ __DIE__ } = sub { require Carp; Carp::confess(@_); };

但这似乎对错误没有影响。也许这是错误的信号,没有足够早地发生,或者需要更复杂的信号。

最佳答案

Carp::Always在污点检查引发的异常情况下工作正常。示例输出:

$ perl -MCarp::Always -T blah.pl
Insecure dependency in sprintf while running with -T switch at blah.pl line 6
main::foo() called at blah.pl line 8
main::bar() called at blah.pl line 10

关于perl - 查找 perl 污点模式错误的根源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6353242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com