diff --git a/data/msfweb/app/controllers/ide_controller.rb b/data/msfweb/app/controllers/ide_controller.rb index 2af5f6b843..9681ca97d8 100644 --- a/data/msfweb/app/controllers/ide_controller.rb +++ b/data/msfweb/app/controllers/ide_controller.rb @@ -21,8 +21,7 @@ class IdeController < ApplicationController @the_exploit = session[:exploit] = params[:exploit] @step = @the_exploit["step"].to_i elsif @step.nil? - @step = 0 - @the_exploit = {} + redirect_to :action => start end flash[:error] = "" diff --git a/data/msfweb/app/helpers/application_helper.rb b/data/msfweb/app/helpers/application_helper.rb index 9b42301eb2..dca02176b9 100644 --- a/data/msfweb/app/helpers/application_helper.rb +++ b/data/msfweb/app/helpers/application_helper.rb @@ -66,9 +66,15 @@ module ApplicationHelper return ARCH_ALL end - # + # Returns an array suitable for the select form option helper, + # of the available exploit mixins. thanks skape for the new method. def return_selectable_exploit_mixins() - ret = {} - ret['Connect to a TCP service', '' ] + Msf::Exploit::mixins + end + + # Returns an array suitable for the select form option helper, + # of the available module licenses. + def return_selectable_licenses() + LICENSES end end diff --git a/data/msfweb/app/views/ide/start.rhtml b/data/msfweb/app/views/ide/start.rhtml index df20324991..066f1d476c 100644 --- a/data/msfweb/app/views/ide/start.rhtml +++ b/data/msfweb/app/views/ide/start.rhtml @@ -5,7 +5,7 @@
@@ -14,6 +14,7 @@

@@ -36,8 +37,11 @@ \ No newline at end of file diff --git a/data/msfweb/app/views/ide/wizard.rhtml b/data/msfweb/app/views/ide/wizard.rhtml index 7d290a26f5..19d4b00390 100644 --- a/data/msfweb/app/views/ide/wizard.rhtml +++ b/data/msfweb/app/views/ide/wizard.rhtml @@ -5,12 +5,90 @@

<% end %> -<% if @step == 0 %> -

Step 1: Exploit information

+<% if @step == 1 %> +

Step 1: Generic information

<%= start_form_tag %> + <%= hidden_field "exploit", "step", :value => 2 %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= end_form_tag %> +
Name:<%= text_field "exploit", "name" %>
Title:<%= text_field "exploit", "title" %>
Description:<%= text_area "exploit", "description", :cols => 40, :rows => 5 %>
Authors:<%= text_area "exploit", "authors", :cols => 40, :rows => 5 %>
References:<%= text_area "exploit", "references", :cols => 40, :rows => 5 %>
License:<%= select ("exploit", "license", return_selectable_licenses()) %>
<%= submit_tag "Next" %>
+<% elsif @step == 2 %> +

Step 2: Configure payload

+

+

+ + <%= start_form_tag %> + <%= hidden_field "exploit", "step", :value => 3 %> + + + + + + + + + + + + + + + + + + + + + + + + + <%= end_form_tag %> +
Space for payload:<%= text_field "exploit", "payload_space" %>
Bad characters:<%= text_field "exploit", "payload_badchars" %>
Prepend:<%= text_field "exploit", "payload_prepend" %>
Append:<%= text_field "exploit", "payload_append" %>
SaveRegisters:<%= text_field "exploit", "payload_saveregs" %>
Previous<%= submit_tag "Next" %>
+<% elsif @step == 3 %> +

Step 2: Configure targets

+

+

+ + <%= start_form_tag %> + <%= hidden_field "exploit", "step", :value => 4 %> + + + + + + + + <%= end_form_tag %>
SaveRegisters:<%= text_field "exploit", "payload_saveregs" %>
Previous<%= submit_tag "Next" %>
<% end %>