在看Nginx chunked size exploit代码时,self.send()方法怎么也看不懂,一直以为是metasploit代码,后面才发现是Ruby自身语法,调用对应方法,和self.respond_to?是一体的,后者测试是否有对应方法。Ruby写的还是太少。
def dereference_got
unless self.respond_to?(target[:store_callback]) and self.respond_to?(target[:dereference_got_callback])
fail_with(Failure::NoTarget, "Invalid target specified: no callback functions defined")
end
buf = ""
command = payload.encoded
i = 0
while i < command.length
buf << self.send(target[:store_callback], target['Writable'] + i, command[i, 4].ljust(4, ";"))
i = i + 4
end
buf << self.send(target[:dereference_got_callback])
return buf
end
https://ruby-doc.org/core-2.6.3/Object.html#method-i-respond_to-3F
网友评论