Skip to content

redis

The redis identity: Redis Serialization Protocol. Every field and what is required.

redis is the Redis serialization protocol (RESP). The target is host:port (default 6379). The step sends and receives raw bytes as hex, and the session persists across steps, so a solution can stage an exchange and continue it.

Fields

redis uses the byte-session fields from tcp:

fieldrequiredwhat it does
sendyesthe bytes to send, as hex or hex "text"; empty when a step only reads
recvhow many bytes to read at most
recv_untilstop reading once this hex marker appears
timeouthow long to wait, in seconds
closeend the session after this step
capturepull a value out of the received hex for later steps

Example

redis handshake
  meaning: send a RESP command and look for the reply
  send: 2a310d0a24340d0a636f6e6669670d0a...
  recv: 4096
  assert: contains "2b4f4b"

Write attacks down. Verify them.

Download the binary, point it at a target you own, and get a verified result. The corpus is open and the format is plain text.