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
9
tests/dynamic_fixtures/websocket/actioncable/benign.rb
Normal file
9
tests/dynamic_fixtures/websocket/actioncable/benign.rb
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# Phase 21 — ActionCable benign control.
|
||||
# class ChatChannel < ApplicationCable::Channel
|
||||
require 'shellwords'
|
||||
|
||||
class ChatChannel
|
||||
def receive(data)
|
||||
system("echo " + Shellwords.escape(data.to_s))
|
||||
end
|
||||
end
|
||||
14
tests/dynamic_fixtures/websocket/actioncable/vuln.rb
Normal file
14
tests/dynamic_fixtures/websocket/actioncable/vuln.rb
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# Phase 21 (Track M.3) — Rails ActionCable channel vuln fixture.
|
||||
#
|
||||
# `ChatChannel#receive(data)` splices the inbound WebSocket message
|
||||
# bytes into a shell command via Kernel#system — classic ActionCable
|
||||
# → cmdi shape.
|
||||
|
||||
# class ChatChannel < ApplicationCable::Channel
|
||||
|
||||
class ChatChannel
|
||||
def receive(data)
|
||||
# SINK: tainted data concatenated into shell command.
|
||||
system("echo " + data.to_s)
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue