Part of the code reorg for adding exploit mode

git-svn-id: file:///home/svn/framework3/trunk@4442 4d416f70-5f16-0410-b530-b9f4589650da
unstable
HD Moore 2007-02-19 02:26:07 +00:00
parent 10c61b495d
commit 692fbc50db
1 changed files with 175 additions and 0 deletions

View File

@ -0,0 +1,175 @@
<table align="center" width="100%" cellspacing="0" cellpadding="3" border="0" class="moduleInfo">
<tr width="100%" align="center">
<p class="moduleName">
<%= h(@tmod.name) %><br />
</p>
</tr>
<% if @cur_step == nil %>
<p>Select payload for <strong><%= h(@target.name) %></strong>:</p>
<tr>
<th class="moduleOptionsHeader">Name</th>
<th class="moduleOptionsHeader">Description</th>
</tr>
<%
rcol_a = 'item_row_col_a'
rcol_b = 'item_row_col_b'
rcol = rcol_b
%>
<% @payloads.each_with_index do |p, idx| %>
<tr class='<%=h rcol = (rcol == rcol_a) ? rcol_b : rcol_a %>'>
<% o = p[1].new %>
<td><%= link_to h(p[0]), :refname => @tmod.refname.gsub('/', ':'), :step => "config",
:target => h(params[:target].to_i), :payload => idx %></td>
<td><%= h(o.description) %></td>
</tr>
<% end %>
<% elsif @cur_step == "config" %>
<p>Exploit and payload configuration:</p>
<tr>
<th colspan="2" class="moduleOptionsHeader">
CURRENT CONFIGURATION -
<%= link_to "change", :action => "config", :refname => h(params[:refname]) %>
</th>
</tr>
<tr>
<td>Exploit:</td>
<td><%= @tmod.refname %></td>
<tr>
<tr>
<td>Payload:</td>
<td><%= @payload[0] %></td>
<tr>
<tr>
<td>Target:</td>
<td><%= @target.name %></td>
<tr>
<tr>
<th colspan="2" class="moduleOptionsHeader">OPTIONS</th>
</tr>
<form action="/exploits/exploit" method="post">
<%= hidden_field_tag "refname", h(params[:refname]) %>
<%= hidden_field_tag "step", "ready" %>
<%= hidden_field_tag "target", h(params[:target]) %>
<%= hidden_field_tag "payload", h(params[:payload]) %>
<% @tmod.options.sort.each { |name, option|
next if (option.advanced?)
next if (option.evasion?) %>
<tr>
<td><strong><%= name %></strong></td>
<td><strong><%= (option.required?) ? "Required" : "Optional" %></strong></td>
</tr>
<tr>
<td><%= html_escape(option.desc) %> (type: <%= option.type %>)</td>
<td>
<input type="text" name="eopt_<%= h(name) %>" value="<%= h(option.default || '') %>" />
</td>
</tr>
<% } %>
<% @payload[1].new.options.sort.each { |name, option|
next if (option.advanced?)
next if (option.evasion?) %>
<tr>
<td><strong><%= name %></strong></td>
<td><strong><%= (option.required?) ? "Required" : "Optional" %></strong></td>
</tr>
<tr>
<td><%= html_escape(option.desc) %> (type: <%= option.type %>)</td>
<td>
<input type="text" name="popt_<%= h(name) %>" value="<%= h(option.default || '') %>" />
</td>
</tr>
<% } %>
<tr>
<th colspan="2"><br/><%= submit_tag "Launch Exploit" %><br/></th>
</tr>
<tr>
<th colspan="2" class="moduleOptionsHeader">ADVANCED OPTIONS</th>
</tr>
<% @tmod.options.sort.each { |name, option|
next if not option.advanced? %>
<tr>
<td><strong><%= name %></strong></td>
<td><strong><%= (option.required?) ? "Required" : "Optional" %></strong></td>
</tr>
<tr>
<td><%= html_escape(option.desc) %> (type: <%= option.type %>)</td>
<td>
<input type="text" name="eopt_<%= h(name) %>" value="<%= h(option.default || '') %>" />
</td>
</tr>
<% } %>
<% @payload[1].new.options.sort.each { |name, option|
next if not option.advanced? %>
<tr>
<td><strong><%= name %></strong></td>
<td><strong><%= (option.required?) ? "Required" : "Optional" %></strong></td>
</tr>
<tr>
<td><%= html_escape(option.desc) %> (type: <%= option.type %>)</td>
<td>
<input type="text" name="popt_<%= h(name) %>" value="<%= h(option.default || '') %>" />
</td>
</tr>
<% } %>
<tr>
<th colspan="2"><br/><%= submit_tag "Launch Exploit" %><br/></th>
</tr>
<tr>
<th colspan="2" class="moduleOptionsHeader">EVASION OPTIONS</th>
</tr>
<% @tmod.options.sort.each { |name, option|
next if not option.evasion? %>
<tr>
<td><strong><%= name %></strong></td>
<td><strong><%= (option.required?) ? "Required" : "Optional" %></strong></td>
</tr>
<tr>
<td><%= html_escape(option.desc) %> (type: <%= option.type %>)</td>
<td>
<input type="text" name="eopt_<%= h(name) %>" value="<%= h(option.default || '') %>" />
</td>
</tr>
<% } %>
<% @payload[1].new.options.sort.each { |name, option|
next if not option.evasion? %>
<tr>
<td><strong><%= name %></strong></td>
<td><strong><%= (option.required?) ? "Required" : "Optional" %></strong></td>
</tr>
<tr>
<td><%= html_escape(option.desc) %> (type: <%= option.type %>)</td>
<td>
<input type="text" name="popt_<%= h(name) %>" value="<%= h(option.default || '') %>" />
</td>
</tr>
<% } %>
<tr>
<th colspan="2"><br/><%= submit_tag "Launch Exploit" %><br/></th>
</tr>
</form>
<% end %>
</table>