2007-01-18 15:31:42 +00:00
|
|
|
# Author: LMH <lmh@info-pull.com>
|
2006-09-29 13:53:51 +00:00
|
|
|
# Description: The payload controller of msfweb v.3. Handles views, listing
|
|
|
|
|
# and other actions related to payload modules. Code and processing goes here.
|
|
|
|
|
# Instance variables, final values, etc, go into views.
|
|
|
|
|
|
2006-09-24 01:09:21 +00:00
|
|
|
class PayloadsController < ApplicationController
|
2006-09-28 05:27:20 +00:00
|
|
|
layout 'windows'
|
2006-09-27 05:18:06 +00:00
|
|
|
|
2006-09-27 02:47:01 +00:00
|
|
|
def list
|
|
|
|
|
end
|
2006-09-24 01:09:21 +00:00
|
|
|
|
2006-09-27 02:47:01 +00:00
|
|
|
def view
|
2006-12-19 14:01:08 +00:00
|
|
|
@tmod = get_view_for_module("payload", params[:refname])
|
2006-09-29 13:53:51 +00:00
|
|
|
|
|
|
|
|
unless @tmod
|
2007-03-25 03:08:00 +00:00
|
|
|
render_text "Unknown module specified."
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Catch non-standard payloads
|
|
|
|
|
begin
|
|
|
|
|
@tmod.generate
|
|
|
|
|
rescue => e
|
|
|
|
|
render_text "This interface does not support generic payloads."
|
2006-09-29 13:53:51 +00:00
|
|
|
end
|
2006-10-02 20:39:52 +00:00
|
|
|
|
|
|
|
|
@module_step = (params[:step] || 0).to_i
|
2006-09-29 13:53:51 +00:00
|
|
|
|
2006-10-02 20:39:52 +00:00
|
|
|
if @module_step == 1
|
|
|
|
|
modinst = Payload.create(@tmod.refname)
|
|
|
|
|
badchars = params[:badchars]
|
|
|
|
|
pencoder = params[:encoder]
|
|
|
|
|
pformat = params[:format]
|
|
|
|
|
max_size = (params[:max_size] || 0).to_i
|
|
|
|
|
payload_opts = ''
|
|
|
|
|
|
|
|
|
|
params.each_pair { |k, v|
|
|
|
|
|
next if (v == nil or v.length == 0)
|
|
|
|
|
if (k =~ /^opt_(.*)$/)
|
|
|
|
|
payload_opts += "#{$1}=#{v} "
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
begin
|
|
|
|
|
@generation = modinst.generate_simple(
|
|
|
|
|
'Encoder' => (pencoder == '__default') ? nil : pencoder,
|
|
|
|
|
'BadChars' => badchars,
|
|
|
|
|
'Format' => pformat || 'c',
|
|
|
|
|
'OptionStr' => payload_opts,
|
|
|
|
|
'MaxSize' => (max_size == 0) ? nil : max_size)
|
|
|
|
|
rescue
|
|
|
|
|
@generation = $!
|
|
|
|
|
end
|
2006-09-29 13:53:51 +00:00
|
|
|
end
|
2006-10-02 20:39:52 +00:00
|
|
|
# end of view method
|
2006-09-27 02:47:01 +00:00
|
|
|
end
|
2006-09-24 01:09:21 +00:00
|
|
|
|
2006-09-27 02:47:01 +00:00
|
|
|
def generate
|
|
|
|
|
end
|
2006-09-24 01:39:36 +00:00
|
|
|
|
2006-09-24 01:09:21 +00:00
|
|
|
end
|