【发布时间】:2014-06-06 20:21:01
【问题描述】:
我正在尝试使用 system 从 ruby 程序运行 nmap。我想转义一些参数以防止 shell 注入,所以我使用以下形式:
system('nmap', '-sn', hostname)
这很好用,但是我想使用-oX - 选项将xml 输出到标准输出。以下代码似乎不起作用:
system('nmap', '-sn', '-oX -', hostname)
-oX - 参数似乎被忽略了,有人可以提出解决方法吗?
【问题讨论】:
-
试试这个
system("nmap -sn -oX -#{hostname}") -
会在
hostname中转义shell 元字符吗? -
hostname是 ruby 变量吗? -
是的,可能包含不受信任的用户输入