gpt4 book ai didi

perl open() 注入(inject)预防

转载 作者:行者123 更新时间:2023-12-01 08:28:40 27 4
gpt4 key购买 nike

我已经读过带有 2 个参数的 open() 命令容易被注入(inject),而带有 3 个参数的 open() 命令不能被注入(inject)。

说我有一个目录,我的所有文件都有一个公共(public)前缀,即“file-”,所以示例文件名是 file-SomeSourceCode.txt

open(FILEHANDLE, "some/random/dir/file-" . $fileextension) 这样的东西怎么样?脆弱?

在哪里 $fileextension可以是任何类型的“文件名”。据我了解,这不会受到像 | shutdown -r | 这样的文件名的影响。它将向服务器执行命令。

最佳答案

open(my $fh, "some/random/dir/file-" . $user_text)

是完全脆弱的。不正确的注入(inject)不仅导致无法打开名为
some/random/dir/file-foo|

它可用于执行任意命令
$ perl -e'open(my $fh, "file-".$ARGV[0])' ' ; echo 0wned >&2 |'
sh: 1: file-: not found
0wned

关于perl open() 注入(inject)预防,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26614348/

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