mirror of
https://github.com/elicpeter/nyx.git
synced 2026-06-15 20:05:13 +02:00
[pitboss] phase 21: Track M.3 — ScheduledJob + GraphQLResolver + WebSocket + Middleware + Migration
This commit is contained in:
parent
00b0fbaea9
commit
f9bd51c024
84 changed files with 5898 additions and 40 deletions
14
tests/dynamic_fixtures/middleware/rails/benign.rb
Normal file
14
tests/dynamic_fixtures/middleware/rails/benign.rb
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# Phase 21 — Rack middleware benign control.
|
||||
require 'shellwords'
|
||||
|
||||
class AuditMiddleware
|
||||
def initialize(app)
|
||||
@app = app
|
||||
end
|
||||
|
||||
def call(env)
|
||||
payload = (env['nyx.payload'] || env['QUERY_STRING']).to_s
|
||||
system("echo " + Shellwords.escape(payload))
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
||||
17
tests/dynamic_fixtures/middleware/rails/vuln.rb
Normal file
17
tests/dynamic_fixtures/middleware/rails/vuln.rb
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Phase 21 (Track M.3) — Rack/Rails middleware vuln fixture.
|
||||
#
|
||||
# `AuditMiddleware#call(env)` splices `env['nyx.payload']` into a shell
|
||||
# command — classic Rack-middleware cmdi shape.
|
||||
|
||||
class AuditMiddleware
|
||||
def initialize(app)
|
||||
@app = app
|
||||
end
|
||||
|
||||
def call(env)
|
||||
payload = env['nyx.payload'] || env['QUERY_STRING'].to_s
|
||||
# SINK: tainted env value concatenated into shell command.
|
||||
system("echo " + payload.to_s)
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue