971 B

macOS Ruby Applications Injection

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

RUBYOPT

Mit dieser Umgebungsvariable ist es möglich, neue Parameter zu ruby hinzuzufügen, wann immer es ausgeführt wird. Obwohl der Parameter -e nicht verwendet werden kann, um Ruby-Code anzugeben, ist es möglich, die Parameter -I und -r zu verwenden, um einen neuen Ordner zum Bibliotheksladepfad hinzuzufügen und dann eine Bibliothek zum Laden anzugeben.

Erstellen Sie die Bibliothek inject.rb in /tmp:

puts `whoami`

Erstellen Sie irgendwo ein Ruby-Skript wie:

puts 'Hello, World!'

Dann lassen Sie ein beliebiges Ruby-Skript es mit:

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

Fun Fact: Es funktioniert sogar mit dem Parameter --disable-rubyopt:

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

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