1. 程式人生 > 實用技巧 >域滲透下的委派攻擊(非約束委派&約束委派&基於資源的約束委派)

域滲透下的委派攻擊(非約束委派&約束委派&基於資源的約束委派)

Redis 釋出訂閱 (pub/sub) 是一種訊息通訊模式:傳送者 (pub) 傳送訊息,訂閱者 (sub) 接收訊息。
  • 客戶端可以訂閱一個或者多個頻道,從而成為這些頻道的訂閱者,每當有其他客戶端向被訂閱的頻道傳送訊息時,頻道的訂閱者都會收到這條訊息。
  • 舉例說明:

訂閱給定的一個或多個頻道的資訊。
SUBSCRIBE channel [channel …]

將資訊傳送到指定的頻道。
PUBLISH channel message

#####--客戶端1
127.0.0.1:6379> subscribe daily  #訂閱 daily 訊息
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "daily"
3) (integer) 1
#####--客戶端2 
127.0.0.1:6379> publish daily "Redis publish is test" # 釋出 daily訊息
(integer) 1
#####--客戶端1將會收到-客戶端2 釋出的最新 daily 訊息
127.0.0.1:6379> subscribe daily
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "daily"
3) (integer) 1
1) "message"
2) "daily"
3) "Redis publish is test"

訂閱一個或多個符合給定模式的頻道。
PSUBSCRIBE pattern [pattern …]

127.0.0.1:6379> psubscribe daily* #匹配所有daily打頭的頻道
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "daily*"
3) (integer) 1

取消訂閱指定的頻道, 如果不指定頻道,則會取消訂閱所有頻道
UNSUBSCRIBE [channel [channel …]]

127.0.0.1:6379> unsubscribe daily
1) "unsubscribe"
2) "daily"
3) (integer) 0

檢視訂閱與釋出系統狀態。
PUBSUB subcommand [argument [argument …]]

#PUBSUB CHANNELS [pattern]
#列出當前的活躍頻道。
127.0.0.1:6379> pubsub channels  # 列出所有
1) "daily"
2) "daily123"
3) "other"
127.0.0.1:6379> pubsub channels dail* #列出指定規則的活躍頻道
1) "daily"
2) "daily123"
#PUBSUB NUMSUB [channel-1 ... channel-N]¶
#返回給定頻道的訂閱者數量, 訂閱模式的客戶端不計算在內。
127.0.0.1:6379> pubsub numsub daily daily123
1) "daily"
2) (integer) 1
3) "daily123"
4) (integer) 1
#PUBSUB NUMPAT 返回訂閱模式的數量。
# 這個命令返回的不是訂閱模式的客戶端的數量,而是客戶端訂閱的所有模式的數量總和。
127.0.0.1:6379> psubscribe dai* #增加一個訂閱模式
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "dai*"
3) (integer) 1
127.0.0.1:6379> pubsub numpat #獲取訂閱模式數量
(integer) 1

退訂指定的規則, 如果沒有引數則會退訂所有規則
PUNSUBSCRIBE [pattern [pattern …]]

127.0.0.1:6379> punsubscribe daily
1) "punsubscribe"
2) "daily"
3) (integer) 0