Fixed CSS warnings and made all XHTML and CSS standards compliant (as of W3C specs).

Added IDE skeleton, layout and initial CSS, as well as a nice logo.

git-svn-id: file:///home/svn/framework3/trunk@4025 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
lmh 2006-10-15 08:04:45 +00:00
parent 667adc68e9
commit 3db0db05d9
16 changed files with 140 additions and 43 deletions

View File

@ -0,0 +1,12 @@
# Author: L.M.H <lmh@info-pull.com>
# Description: The IDE controller of msfweb v.3. Handles views, processing,
# help and all actions related to the msfweb IDE for exploit development.
# Now Metasploit has a multi-platform IDE. Find bug. Click. Profit. (tm)
class IdeController < ApplicationController
layout 'msfide'
def start
end
end

View File

@ -16,7 +16,7 @@ module ApplicationHelper
# Return the JavaScript code necessary for "supporting" :hover pseudo-class
# in MSIE (ex. used in the top menu bar).
def msie_hover_fix(css_class_name)
return "onMouseOver=\"this.className='#{css_class_name}'\" onMouseOut=\"this.className=''\""
return "onmouseover=\"this.className='#{css_class_name}'\" onmouseout=\"this.className=''\""
end
# Adapted from old msfweb code, returns HTML necessary for displaying icons

View File

@ -0,0 +1,2 @@
module IdeHelper
end

View File

@ -2,14 +2,17 @@
<tr width="100%" align="center">
<p class="moduleName">
<%= html_escape(@tmod.name) %>
<%= h(@tmod.name) %> <br />
<span class="moduleVersion">
<%= h(@tmod.version) %>
</span>
</p>
</tr>
<tr width="100%" align="center">
<blockquote>
<p class="moduleDesc">
<%= html_escape(@tmod.description) %>
<%= h(@tmod.description) %>
</p>
</blockquote>
</tr>
@ -18,21 +21,12 @@
<tr width="100%" align="center">
<blockquote>
<p class="moduleDesc">
This module was provided by <%= @tmod.author.join(' and ') %>.
This module was provided by <%= @tmod.author.join(' and ') %>, under the
<%= @tmod.license %> license.
</p>
</blockquote>
</tr>
<tr>
<td>Version:</td>
<td><%= @tmod.version %></td>
</tr>
<tr>
<td>License:</td>
<td><%= @tmod.license %></td>
</tr>
<tr width="100%" align="center">
<blockquote>
<p class="moduleDesc">
@ -41,9 +35,9 @@
<% @tmod.references.each { |ref| %>
<% if (ref.kind_of?(Msf::Module::SiteReference)) %>
<li><a href="<%= ref.site %>" target="_blank">
<%= html_escape(ref.to_s) %></a></li>
<%= h(ref.to_s) %></a></li>
<% else %>
<li><%= html_escape(ref.to_s) %></li>
<li><%= h(ref.to_s) %></li>
<% end %>
<% } %>
</p>
@ -56,12 +50,11 @@
Available targets:
<ul>
<% @tmod.targets.each_with_index { |tgt, idx| %>
<li><a href='#'><%= idx %> - <%= html_escape(tgt.name) %></a></li>
<li><a href='#'><%= idx %> - <%= h(tgt.name) %></a></li>
<% } %>
</ul>
</p>
</blockquote>
</tr>
</table>

View File

@ -0,0 +1,10 @@
<div id="ide-start" class="wizard_page">
<p>
Welcome to the Metasploit exploit Integrated Development Environment.
Find bug. Open IDE. Click. Profit.
</p>
<ul>
<li><%= link_to "Use wizard", :action => "wizard" %></li>
<li><%= link_to "Advanced", :action => "advanced" %></li>
</ul>
</div>

View File

@ -0,0 +1,24 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="eng">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Author" content="L.M.H (lmh@info-pull.com)" />
<meta name="Copyright" content="(c) 2006, L.M.H (lmh@info-pull.com)" />
<title>Metasploit Framework Web IDE</title>
<%= stylesheet_link_tag "msfide" %>
<%= javascript_include_tag :defaults %>
</head>
<body>
<div id="logo">
<img src="/images/ide-logo.png" alt="Metasploit Framework Web IDE" />
</div>
<div id="spinner">
<img src="/images/spinner_alt.gif" alt="Loading" />
</div>
<%= @content_for_layout %>
<div id="dyn_content"></div>
</body>
</html>

View File

@ -4,8 +4,8 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Author" content="L.M.H <lmh@info-pull.com>" />
<meta name="Copyright" content="(c) 2006, L.M.H <lmh@info-pull.com>" />
<meta name="Author" content="L.M.H (lmh@info-pull.com)" />
<meta name="Copyright" content="(c) 2006, L.M.H (lmh@info-pull.com)" />
<title>Metasploit Framework Web Console v.3</title>
<%= stylesheet_link_tag "msfweb" %>
<%= stylesheet_link_tag "window-themes/default" %>
@ -17,47 +17,47 @@
<body>
<div id="topmenu">
<ul>
<li onClick="openExploitsWindow()" <%=msie_hover_fix('limsieFix')%>>
<li onclick="openExploitsWindow()" <%=msie_hover_fix('limsieFix')%>>
<img src="/images/bug.png" alt="" />
Exploits
</li>
<li onClick="openAuxiliariesWindow()" <%=msie_hover_fix('limsieFix')%>>
<li onclick="openAuxiliariesWindow()" <%=msie_hover_fix('limsieFix')%>>
<img src="/images/zoom.png" alt="" />
Auxiliaries
</li>
<li onClick="openPayloadsWindow()" <%=msie_hover_fix('limsieFix')%>>
<li onclick="openPayloadsWindow()" <%=msie_hover_fix('limsieFix')%>>
<img src="/images/bomb.png" alt="" />
Payloads
</li>
<li onClick="openEncodersWindow()" <%=msie_hover_fix('limsieFix')%>>
<li onclick="openEncodersWindow()" <%=msie_hover_fix('limsieFix')%>>
<img src="/images/encoder.png" alt="" />
Encoders
</li>
<li onClick="openNopsWindow()" <%=msie_hover_fix('limsieFix')%>>
<li onclick="openNopsWindow()" <%=msie_hover_fix('limsieFix')%>>
<img src="/images/lightbulb-off.png" alt="" />
Nops
</li>
<li onClick="openSessionsWindow()" <%=msie_hover_fix('limsieFix')%>>
<li onclick="openSessionsWindow()" <%=msie_hover_fix('limsieFix')%>>
<img src="/images/terminal.png" alt="" />
Sessions
</li>
<li onClick="openJobsWindow()" <%=msie_hover_fix('limsieFix')%>>
<li onclick="openJobsWindow()" <%=msie_hover_fix('limsieFix')%>>
<img src="/images/jobs.png" alt="" />
Jobs
</li>
<li onClick="">
<li onclick="openIDEWindow()">
<img src="/images/wrench.png" alt="" />
IDE
</li>
<li onClick="openAboutDialog()">
<li onclick="openAboutDialog()">
<img src="/images/help.png" alt="" />
Help
</li>

View File

@ -4,8 +4,8 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Author" content="L.M.H <lmh@info-pull.com>" />
<meta name="Copyright" content="(c) 2006, L.M.H <lmh@info-pull.com>" />
<meta name="Author" content="L.M.H (lmh@info-pull.com)" />
<meta name="Copyright" content="(c) 2006, L.M.H (lmh@info-pull.com)" />
<%= stylesheet_link_tag "windows" %>
<%= javascript_include_tag :defaults %>
</head>

View File

@ -9,7 +9,7 @@
<% @results.each do |m| %>
<tr>
<td class="itemTitle">
<a onClick="window.parent.openModuleWindow('<%= @module_type %>', '<%= m.refname.gsub('/', ':') %>', '<%= m.name.gsub('"','').gsub("'","") %>')" href="#"><%= h(m.name) %></a>
<a onclick="window.parent.openModuleWindow('<%= @module_type %>', '<%= m.refname.gsub('/', ':') %>', '<%= m.name.gsub('"','').gsub("'","") %>')" href="#"><%= h(m.name) %></a>
</td>
<td>
<% if m.platform and @module_type =~ /(payloads|exploits)/ %>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

View File

@ -15,9 +15,10 @@ var web_windows_theme = "metasploit";
*/
var winIndex = 0;
/* Returns a unique Window identifier */
function obtainWindowId() {
return(winIndex++);
return (winIndex++);
}
/*
@ -36,12 +37,13 @@ function openAboutDialog() {
draggable:true
})
var about_content = "<div style='padding:10px'>The new <strong>Metasploit Framework Web Console</strong> (v.3)" +
var about_content = "<div style='padding:5px'>The new <strong>Metasploit Framework Web Console</strong> (v.3)" +
" has been developed by L.M.H &lt;lmh@info-pull.com&gt;.<br />Copyright &copy; 2006 L.M.H " +
"&lt;lmh@info-pull.com&gt;. All Rights Reserved. <br />" +
"&lt;lmh@info-pull.com&gt;. All Rights Reserved. <br /><br />" +
"Thanks to H.D.M for the functionality suggestions and general help. Also thanks to" +
" the Metasploit team (hdm, skape, etc) and contributors for developing a ground-breaking" +
" project: <strong>Metasploit.</strong></div>"
" project: <strong>Metasploit.</strong><br /><br />Standards compliant: Valid XHTML Strict " +
"and CSS code.</div>"
aboutWindow.getContent().innerHTML= about_content;
aboutWindow.showCenter();
@ -94,6 +96,10 @@ function openJobsWindow() {
jobList.showCenter();
}
function openIDEWindow() {
window.open('/ide/start');
}
/*
* Task and helper functions
*/

View File

@ -0,0 +1,29 @@
/*
* Copyright (c) 2006, L.M.H. <lmh@info-pull.com>
* All Rights Reserved.
*
* Standards compliant:
* Valid, warning-free CSS: http://jigsaw.w3.org/css-validator
*/
body {
font-family: Trebuchet, Sans, Arial, serif;
}
#logo {
text-align: center;
margin-bottom: 1em;
}
#spinner {
float: right;
display: none;
}
.wizard_page {
padding: 1em;
background: #ddd;
border: 1px solid #ccc;
width: 50%;
margin: 0px auto;
}

View File

@ -1,6 +1,9 @@
/*
* Copyright (c) 2006, L.M.H. <lmh@info-pull.com>
* All Rights Reserved.
*
* Standards compliant:
* Valid, warning-free CSS: http://jigsaw.w3.org/css-validator
*/
html,body {
@ -13,7 +16,8 @@ html,body {
body {
background: #444444 url(/images/banner.png) fixed center no-repeat;
font-family: Trebuchet, Sans, Arial;
color: #fff;
font-family: Trebuchet, Sans, Arial, serif;
}
#topmenu {
@ -23,6 +27,7 @@ body {
list-style-type:none;
height: 35px;
background-color:#f4f4f4;
color: WindowText;
font-size: 8pt;
}
@ -40,13 +45,12 @@ body {
border-left: 1px solid #ddd;
font: menu;
color: WindowText;
background-color: inherit;
}
#topmenu li:hover,
#topmenu li.limsieFix {
background-color: blue;
cursor: pointer;
_cursor: hand;
background-color: Highlight;
color: HighlightText;
}
@ -64,7 +68,7 @@ body {
.desktop-tip {
margin-top: 7em;
margin-left: 1em;
font-family: Trebuchet, Sans, Arial;
font-family: Trebuchet, Sans, Arial, serif;
font-size: 90%;
padding-left: 4em;
padding-right: 1em;
@ -72,7 +76,7 @@ body {
padding-bottom: 1em;
width: 400px;
clear: both;
border-left: 5px solid #fff;
color: #000;
background: #fff url(/images/help.png) no-repeat;
}

View File

@ -1,10 +1,14 @@
/*
* Copyright (c) 2006, L.M.H. <lmh@info-pull.com>
* All Rights Reserved.
*
* Standards compliant:
* Valid, warning-free CSS: http://jigsaw.w3.org/css-validator
*/
body {
background: #fff;
color: #000;
font-family: Sans, Arial, sans-serif;
font-size: 10pt;
}
@ -17,12 +21,15 @@ thead {
table {
background: #FAFAFA;
color: #000;
}
table .itemTitle {
background: #666666 url(/images/bullet_go.png) left no-repeat;
color: #fff;
padding: 6px;
padding-top: 6px;
padding-right: 6px;
padding-bottom: 6px;
padding-left: 16px;
text-align: center;
border: 1px solid #AAAAAA;
@ -30,23 +37,27 @@ table .itemTitle {
table .itemTitle:hover {
background: #404040 url(/images/bullet_wrench.png) left no-repeat;
color: #fff;
}
table .itemTitle a,
table .itemTitle a:hover {
color: #fff;
background-color: inherit;
text-decoration: none;
font-size: 9pt;
}
table .itemDescription {
background: #EDEDED;
color: #000;
padding: 5px;
border: 1px solid #ccc;
}
table .itemDescription:hover {
background: #CAE1FF;
color: #000;
}
#module-search-box input {
@ -67,16 +78,22 @@ p.moduleName {
background: #eeeeee;
}
p.moduleName .moduleVersion {
font-size: 9px;
}
.moduleIcons {
float: left;
}
p.moduleDesc {
color: #333333;
background: #fff;
text-align: justify;
}
th.moduleOptionsHeader {
background: #ddd;
color: #000;
text-transform: uppercase;
}