nyx/tests/dynamic_fixtures/ruby/rack_middleware/vuln.rb
2026-06-05 10:16:30 -05:00

14 lines
407 B
Ruby

# Phase 15 — Rack middleware, vulnerable.
# `call(env)` reads env['nyx.payload'] and pipes to /bin/sh -c.
class NyxRackApp
def initialize(app = nil); @app = app; end
def call(env)
STDOUT.print("__NYX_SINK_HIT__\n")
payload = env['nyx.payload'] || ENV['NYX_PAYLOAD'] || ''
out = `echo hello #{payload}`
STDOUT.print(out)
[200, { 'Content-Type' => 'text/plain' }, [out]]
end
end