%= Msf::Ui::Web::Common.header(framework.version, 'exploits') %>
<%
name = query_string['name']
step = query_string['step'] || 0
target = query_string['target']
step = step.to_i
if (name == nil)
%>
<%# Display the exploit list if one hasn't been selected %>
<% framework.exploits.each_module { |name, mod|
modinst = mod.new
%>
<%= Msf::Ui::Web::Common.module_icons(modinst) %>
|
<%= modinst.name %>
|
|
<% } %>
<%# Wizard step 0 - target selection %>
<%
elsif (step == 0)
modinst = framework.exploits.create(name)
%>
<%= html_escape(modinst.name) %>
|
Name: |
<%= html_escape(modinst.name) %> |
Authors: |
<%= html_escape(modinst.author.join(" ")) %> |
Description: |
<%= html_escape(modinst.description) %>
|
References: |
<% modinst.references.each { |ref| %>
<% if (ref.kind_of?(Msf::Module::SiteReference)) %>
- <%= ref.to_s %>
<% else %>
- <%= ref.to_s %>
<% end %>
<% } %>
|
Targets: |
|
|
Target Name |
Platform |
<% modinst.targets.each_with_index { |tgt, idx| %>
<%= idx %> - <%= tgt.name %>
|
<%= Msf::Ui::Web::Common.target_icons(tgt) %>
|
<% } %>
|
<%# Wizard step 1 - payload selection %>
<%
elsif (step == 1)
modinst = framework.exploits.create(name)
modinst.datastore['TARGET'] = query_string['target'].to_i
%>
<%= html_escape(modinst.name) %>
|
Select Payload: |
|
|
|
Name |
Description |
<% idx = 0
modinst.compatible_payloads.each { |pname, pmod|
pmodinst = pmod.new
%>
|
<%= html_escape(pname) %>
|
<%= html_escape(pmodinst.description) %> |
<% idx += 1
}
%>
<%# Wizard step 2 - option selection %>
<% elsif (step == 2)
payload = query_string['payload']
modinst = framework.exploits.create(name)
pinst = framework.payloads.create(payload)
modinst.datastore['TARGET'] = query_string['target'].to_i
%>
<%= html_escape(modinst.name) %>
|
<%# Wizard step 3 - exploitation %>
<%
elsif (step == 3)
%>
Exploit time
<% else %>
Unknown step: <%= html_escape(step) %>
<% end %>
|
<%= Msf::Ui::Web::Common.footer %>