gpt4 book ai didi

Ruby 系统参数

转载 作者:数据小太阳 更新时间:2023-10-29 08:22:57 25 4
gpt4 key购买 nike

我正在尝试使用 system 从 ruby​​ 程序运行 nmap。我想转义一些参数以防止 shell 注入(inject),所以我使用以下形式:

system('nmap', '-sn', hostname)

这很好用,但是我想使用 -oX - 选项将 xml 输出到标准输出。以下代码似乎不起作用:

system('nmap', '-sn', '-oX -', hostname)

-oX - 参数似乎被忽略了,有人可以提出解决方法吗?

最佳答案

由于 system 也会转义参数中的空格,因此使用 -oX - 的系统调用将有效地调用为

nmap "-sn" "-oX -" "example.com"

空格是单个参数的一部分。因此,它不会被视为 nmap 的有效参数。要解决此问题,您实际上必须将其作为两个参数传递。这里,单个参数中的空格不会被转义:

system('nmap', '-sn', '-oX', '-', hostname)

关于Ruby 系统参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23219932/

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