Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails应用程序中通过字符串插值的远程代码执行_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails RubyonRails应用程序中通过字符串插值的远程代码执行

Ruby on rails RubyonRails应用程序中通过字符串插值的远程代码执行,ruby-on-rails,ruby,Ruby On Rails,Ruby,我遇到过一个博客,它解释了ruby应用程序中由于使用字符串插值而导致的远程代码执行 我完全理解字符串插值的概念。然而,我不知道它如何导致远程代码执行 有人能用一组示例代码解释一下通过字符串插值执行远程代码的概念吗?这篇博文中提供了一个例子——他们执行一个shell命令。Ruby字符串插值中{…}中的内容可以是任何Ruby表达式,而不仅仅是变量之类的。因此,如示例中所示,您可以说“#{%x[ls]}”来通过shell执行ls。如果没有在您的帖子中直接提供必要的上下文,请不要链接到外部资源。链接消失

我遇到过一个博客,它解释了ruby应用程序中由于使用字符串插值而导致的远程代码执行

我完全理解字符串插值的概念。然而,我不知道它如何导致远程代码执行


有人能用一组示例代码解释一下通过字符串插值执行远程代码的概念吗?

这篇博文中提供了一个例子——他们执行一个shell命令。Ruby字符串插值中
{…}
中的内容可以是任何Ruby表达式,而不仅仅是变量之类的。因此,如示例中所示,您可以说
“#{%x[ls]}”
来通过shell执行
ls
。如果没有在您的帖子中直接提供必要的上下文,请不要链接到外部资源。链接消失,网站消失,等等。如果有一个关于字符串插值导致远程代码执行的具体解释是你问题的基础,那么这个解释的全部内容必须包含在你的问题中。博客文章中提供了一个例子——它们执行一个shell命令。
{…}
在Ruby中,字符串插值可以是任何Ruby表达式,而不仅仅是变量等。因此,如示例中所示,您可以说
“#{%x[ls]}”
来通过shell执行
ls
。如果没有在您的帖子中直接提供必要的上下文,请不要链接到外部资源。链接消失,网站消失,等等。如果有一个字符串插值导致远程代码执行的具体解释,这是您的问题的基础,那么该解释的全部内容必须包含在您的问题中。