1370 lines
63 KiB
HTML
1370 lines
63 KiB
HTML
|
|
<!DOCTYPE html>
|
|||
|
|
<html>
|
|||
|
|
<head>
|
|||
|
|
<meta charset="utf-8">
|
|||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|||
|
|
<title>
|
|||
|
|
Module: Msf::DBManager::Import::MetasploitFramework::XML
|
|||
|
|
|
|||
|
|
— Documentation by YARD 0.9.37
|
|||
|
|
|
|||
|
|
</title>
|
|||
|
|
|
|||
|
|
<link rel="stylesheet" href="../../../../css/style.css" type="text/css" />
|
|||
|
|
|
|||
|
|
<link rel="stylesheet" href="../../../../css/common.css" type="text/css" />
|
|||
|
|
|
|||
|
|
<script type="text/javascript">
|
|||
|
|
pathId = "Msf::DBManager::Import::MetasploitFramework::XML";
|
|||
|
|
relpath = '../../../../';
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<script type="text/javascript" charset="utf-8" src="../../../../js/jquery.js"></script>
|
|||
|
|
|
|||
|
|
<script type="text/javascript" charset="utf-8" src="../../../../js/app.js"></script>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</head>
|
|||
|
|
<body>
|
|||
|
|
<div class="nav_wrap">
|
|||
|
|
<iframe id="nav" src="../../../../class_list.html?1"></iframe>
|
|||
|
|
<div id="resizer"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div id="main" tabindex="-1">
|
|||
|
|
<div id="header">
|
|||
|
|
<div id="menu">
|
|||
|
|
|
|||
|
|
<a href="../../../../_index.html">Index (X)</a> »
|
|||
|
|
<span class='title'><span class='object_link'><a href="../../../../Msf.html" title="Msf (module)">Msf</a></span></span> » <span class='title'><span class='object_link'><a href="../../../DBManager.html" title="Msf::DBManager (class)">DBManager</a></span></span> » <span class='title'><span class='object_link'><a href="../../Import.html" title="Msf::DBManager::Import (module)">Import</a></span></span> » <span class='title'><span class='object_link'><a href="../MetasploitFramework.html" title="Msf::DBManager::Import::MetasploitFramework (module)">MetasploitFramework</a></span></span>
|
|||
|
|
»
|
|||
|
|
<span class="title">XML</span>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div id="search">
|
|||
|
|
|
|||
|
|
<a class="full_list_link" id="class_list_link"
|
|||
|
|
href="../../../../class_list.html">
|
|||
|
|
|
|||
|
|
<svg width="24" height="24">
|
|||
|
|
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|||
|
|
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|||
|
|
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|||
|
|
</svg>
|
|||
|
|
</a>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div id="content"><h1>Module: Msf::DBManager::Import::MetasploitFramework::XML
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</h1>
|
|||
|
|
<div class="box_info">
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<dl>
|
|||
|
|
<dt>Included in:</dt>
|
|||
|
|
<dd><span class='object_link'><a href="../MetasploitFramework.html" title="Msf::DBManager::Import::MetasploitFramework (module)">Msf::DBManager::Import::MetasploitFramework</a></span></dd>
|
|||
|
|
</dl>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<dl>
|
|||
|
|
<dt>Defined in:</dt>
|
|||
|
|
<dd>lib/msf/core/db_manager/import/metasploit_framework/xml.rb</dd>
|
|||
|
|
</dl>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<h2>
|
|||
|
|
Constant Summary
|
|||
|
|
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
|
|||
|
|
</h2>
|
|||
|
|
|
|||
|
|
<dl class="constants">
|
|||
|
|
|
|||
|
|
<dt id="MSF_WEB_PAGE_TEXT_ELEMENT_NAMES-constant" class="">MSF_WEB_PAGE_TEXT_ELEMENT_NAMES =
|
|||
|
|
<div class="docstring">
|
|||
|
|
<div class="discussion">
|
|||
|
|
|
|||
|
|
<p>Elements that can be treated as text (i.e. do not need to be deserialized) in <span class='object_link'><a href="#import_msf_web_page_element-instance_method" title="Msf::DBManager::Import::MetasploitFramework::XML#import_msf_web_page_element (method)">#import_msf_web_page_element</a></span></p>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="tags">
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</dt>
|
|||
|
|
<dd><pre class="code"><span class='lbracket'>[</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>auth</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>body</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>code</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cookie</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ctype</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>location</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>mtime</span><span class='tstring_end'>'</span></span>
|
|||
|
|
<span class='rbracket'>]</span></pre></dd>
|
|||
|
|
|
|||
|
|
<dt id="MSF_WEB_TEXT_ELEMENT_NAMES-constant" class="">MSF_WEB_TEXT_ELEMENT_NAMES =
|
|||
|
|
<div class="docstring">
|
|||
|
|
<div class="discussion">
|
|||
|
|
|
|||
|
|
<p>Elements that can be treated as text (i.e. do not need to be deserialized) in <span class='object_link'>#import_msf_web_element</span>.</p>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="tags">
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</dt>
|
|||
|
|
<dd><pre class="code"><span class='lbracket'>[</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>created-at</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>host</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>path</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>port</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>query</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ssl</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>updated-at</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>vhost</span><span class='tstring_end'>'</span></span>
|
|||
|
|
<span class='rbracket'>]</span></pre></dd>
|
|||
|
|
|
|||
|
|
<dt id="MSF_WEB_VULN_TEXT_ELEMENT_NAMES-constant" class="">MSF_WEB_VULN_TEXT_ELEMENT_NAMES =
|
|||
|
|
<div class="docstring">
|
|||
|
|
<div class="discussion">
|
|||
|
|
|
|||
|
|
<p>Elements that can be treated as text (i.e. do not need to be deserialized) in <span class='object_link'><a href="#import_msf_web_vuln_element-instance_method" title="Msf::DBManager::Import::MetasploitFramework::XML#import_msf_web_vuln_element (method)">#import_msf_web_vuln_element</a></span>.</p>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="tags">
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</dt>
|
|||
|
|
<dd><pre class="code"><span class='lbracket'>[</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>blame</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>category</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>confidence</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>description</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>method</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>pname</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>proof</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>risk</span><span class='tstring_end'>'</span></span>
|
|||
|
|
<span class='rbracket'>]</span></pre></dd>
|
|||
|
|
|
|||
|
|
</dl>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<h2>
|
|||
|
|
Instance Method Summary
|
|||
|
|
<small><a href="#" class="summary_toggle">collapse</a></small>
|
|||
|
|
</h2>
|
|||
|
|
|
|||
|
|
<ul class="summary">
|
|||
|
|
|
|||
|
|
<li class="public ">
|
|||
|
|
<span class="summary_signature">
|
|||
|
|
|
|||
|
|
<a href="#import_msf_file-instance_method" title="#import_msf_file (instance method)">#<strong>import_msf_file</strong>(args = {}) ⇒ Object </a>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class="summary_desc"><div class='inline'>
|
|||
|
|
<p>Import a Metasploit XML file.</p>
|
|||
|
|
</div></span>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<li class="public ">
|
|||
|
|
<span class="summary_signature">
|
|||
|
|
|
|||
|
|
<a href="#import_msf_note_element-instance_method" title="#import_msf_note_element (instance method)">#<strong>import_msf_note_element</strong>(note, allow_yaml, note_data = {}) ⇒ void </a>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class="summary_desc"><div class='inline'>
|
|||
|
|
<p>Imports ‘Mdm::Note` objects from the XML element.</p>
|
|||
|
|
</div></span>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<li class="public ">
|
|||
|
|
<span class="summary_signature">
|
|||
|
|
|
|||
|
|
<a href="#import_msf_web_form_element-instance_method" title="#import_msf_web_form_element (instance method)">#<strong>import_msf_web_form_element</strong>(element, options = {}) {|event, data| ... } ⇒ void </a>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class="summary_desc"><div class='inline'>
|
|||
|
|
<p>Imports web_form element using Msf::DBManager#report_web_form.</p>
|
|||
|
|
</div></span>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<li class="public ">
|
|||
|
|
<span class="summary_signature">
|
|||
|
|
|
|||
|
|
<a href="#import_msf_web_page_element-instance_method" title="#import_msf_web_page_element (instance method)">#<strong>import_msf_web_page_element</strong>(element, options = {}) {|event, data| ... } ⇒ void </a>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class="summary_desc"><div class='inline'>
|
|||
|
|
<p>Imports web_page element using Msf::DBManager#report_web_page.</p>
|
|||
|
|
</div></span>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<li class="public ">
|
|||
|
|
<span class="summary_signature">
|
|||
|
|
|
|||
|
|
<a href="#import_msf_web_vuln_element-instance_method" title="#import_msf_web_vuln_element (instance method)">#<strong>import_msf_web_vuln_element</strong>(element, options = {}) {|event, data| ... } ⇒ void </a>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class="summary_desc"><div class='inline'>
|
|||
|
|
<p>Imports web_vuln element using Msf::DBManager#report_web_vuln.</p>
|
|||
|
|
</div></span>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<li class="public ">
|
|||
|
|
<span class="summary_signature">
|
|||
|
|
|
|||
|
|
<a href="#import_msf_xml-instance_method" title="#import_msf_xml (instance method)">#<strong>import_msf_xml</strong>(args = {}, &block) ⇒ Object </a>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class="summary_desc"><div class='inline'>
|
|||
|
|
<p>For each host, step through services, notes, and vulns, and import them.</p>
|
|||
|
|
</div></span>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div id="instance_method_details" class="method_details_list">
|
|||
|
|
<h2>Instance Method Details</h2>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div class="method_details first">
|
|||
|
|
<h3 class="signature first" id="import_msf_file-instance_method">
|
|||
|
|
|
|||
|
|
#<strong>import_msf_file</strong>(args = {}) ⇒ <tt>Object</tt>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</h3><div class="docstring">
|
|||
|
|
<div class="discussion">
|
|||
|
|
|
|||
|
|
<p>Import a Metasploit XML file.</p>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="tags">
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div><table class="source_code">
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
<pre class="lines">
|
|||
|
|
|
|||
|
|
|
|||
|
|
57
|
|||
|
|
58
|
|||
|
|
59
|
|||
|
|
60
|
|||
|
|
61
|
|||
|
|
62
|
|||
|
|
63
|
|||
|
|
64
|
|||
|
|
65</pre>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import/metasploit_framework/xml.rb', line 57</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_import_msf_file'>import_msf_file</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_filename'>filename</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
|||
|
|
<span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rb</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_f'>f</span><span class='op'>|</span>
|
|||
|
|
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_stat'>stat</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='id identifier rubyid_import_msf_xml'>import_msf_xml</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='symbol'>:data</span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>end</span></pre>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="method_details ">
|
|||
|
|
<h3 class="signature " id="import_msf_note_element-instance_method">
|
|||
|
|
|
|||
|
|
#<strong>import_msf_note_element</strong>(note, allow_yaml, note_data = {}) ⇒ <tt>void</tt>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</h3><div class="docstring">
|
|||
|
|
<div class="discussion">
|
|||
|
|
<p class="note returns_void">This method returns an undefined value.</p>
|
|||
|
|
<p>Imports ‘Mdm::Note` objects from the XML element.</p>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="tags">
|
|||
|
|
<p class="tag_title">Parameters:</p>
|
|||
|
|
<ul class="param">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>note</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>Nokogiri::XML::Element</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>The Note element</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>allow_yaml</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>Boolean</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>whether to allow yaml</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>note_data</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>Hash</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>hash containing note attributes to be passed along</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div><table class="source_code">
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
<pre class="lines">
|
|||
|
|
|
|||
|
|
|
|||
|
|
73
|
|||
|
|
74
|
|||
|
|
75
|
|||
|
|
76
|
|||
|
|
77
|
|||
|
|
78
|
|||
|
|
79
|
|||
|
|
80
|
|||
|
|
81
|
|||
|
|
82
|
|||
|
|
83
|
|||
|
|
84
|
|||
|
|
85
|
|||
|
|
86
|
|||
|
|
87
|
|||
|
|
88
|
|||
|
|
89</pre>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import/metasploit_framework/xml.rb', line 73</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_import_msf_note_element'>import_msf_note_element</span><span class='lparen'>(</span><span class='id identifier rubyid_note'>note</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_yaml'>allow_yaml</span><span class='comma'>,</span> <span class='id identifier rubyid_note_data'>note_data</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_note_data'>note_data</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_nils_for_nulls'>nils_for_nulls</span><span class='lparen'>(</span><span class='id identifier rubyid_note'>note</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ntype</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_note_data'>note_data</span><span class='lbracket'>[</span><span class='symbol'>:data</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_nils_for_nulls'>nils_for_nulls</span><span class='lparen'>(</span><span class='id identifier rubyid_unserialize_object'>unserialize_object</span><span class='lparen'>(</span><span class='id identifier rubyid_note'>note</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>data</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_yaml'>allow_yaml</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_note'>note</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>critical</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span>
|
|||
|
|
<span class='id identifier rubyid_note_data'>note_data</span><span class='lbracket'>[</span><span class='symbol'>:critical</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>unless</span> <span class='id identifier rubyid_note'>note</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>critical</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>NULL</span><span class='tstring_end'>"</span></span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_note'>note</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>seen</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span>
|
|||
|
|
<span class='id identifier rubyid_note_data'>note_data</span><span class='lbracket'>[</span><span class='symbol'>:seen</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>unless</span> <span class='id identifier rubyid_note'>note</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>critical</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>NULL</span><span class='tstring_end'>"</span></span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='words_beg'>%W{</span><span class='tstring_content'>created-at</span><span class='words_sep'> </span><span class='tstring_content'>updated-at</span><span class='tstring_end'>}</span></span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_datum'>datum</span><span class='op'>|</span>
|
|||
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_note'>note</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_datum'>datum</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span>
|
|||
|
|
<span class='id identifier rubyid_note_data'>note_data</span><span class='lbracket'>[</span><span class='id identifier rubyid_datum'>datum</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>-</span><span class='tstring_end'>"</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>_</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_nils_for_nulls'>nils_for_nulls</span><span class='lparen'>(</span><span class='id identifier rubyid_note'>note</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_datum'>datum</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='rbrace'>}</span>
|
|||
|
|
<span class='id identifier rubyid_msf_import_note'>msf_import_note</span><span class='lparen'>(</span><span class='id identifier rubyid_note_data'>note_data</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>end</span></pre>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="method_details ">
|
|||
|
|
<h3 class="signature " id="import_msf_web_form_element-instance_method">
|
|||
|
|
|
|||
|
|
#<strong>import_msf_web_form_element</strong>(element, options = {}) {|event, data| ... } ⇒ <tt>void</tt>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</h3><div class="docstring">
|
|||
|
|
<div class="discussion">
|
|||
|
|
<p class="note returns_void">This method returns an undefined value.</p>
|
|||
|
|
<p>Imports web_form element using Msf::DBManager#report_web_form.</p>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="tags">
|
|||
|
|
<p class="tag_title">Parameters:</p>
|
|||
|
|
<ul class="param">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>element</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>Nokogiri::XML::Element</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>web_form element.</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>options</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>Hash{Symbol => Object}</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>options</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<p class="tag_title">Options Hash (<tt>options</tt>):</p>
|
|||
|
|
<ul class="option">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
<span class="name">:allow_yaml</span>
|
|||
|
|
<span class="type">(<tt>Boolean</tt>)</span>
|
|||
|
|
<span class="default">
|
|||
|
|
|
|||
|
|
— default:
|
|||
|
|
<tt>false</tt>
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
— <div class='inline'>
|
|||
|
|
<p>Whether to allow YAML when deserializing params.</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
<span class="name">:workspace</span>
|
|||
|
|
<span class="type">(<tt>Mdm::Workspace</tt>, <tt>nil</tt>)</span>
|
|||
|
|
<span class="default">
|
|||
|
|
|
|||
|
|
— default:
|
|||
|
|
<tt>Msf::DBManager#workspace</tt>
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
— <div class='inline'>
|
|||
|
|
<p>workspace under which to report the Mdm::WebForm</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<p class="tag_title">Yields:</p>
|
|||
|
|
<ul class="yield">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>event</tt>, <tt>data</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
<p class="tag_title">Yield Parameters:</p>
|
|||
|
|
<ul class="yieldparam">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>event</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>:web_page</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>The event name</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>data</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>String</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>path</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
<p class="tag_title">Yield Returns:</p>
|
|||
|
|
<ul class="yieldreturn">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>void</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
</div><table class="source_code">
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
<pre class="lines">
|
|||
|
|
|
|||
|
|
|
|||
|
|
105
|
|||
|
|
106
|
|||
|
|
107
|
|||
|
|
108
|
|||
|
|
109
|
|||
|
|
110
|
|||
|
|
111
|
|||
|
|
112
|
|||
|
|
113
|
|||
|
|
114
|
|||
|
|
115
|
|||
|
|
116
|
|||
|
|
117
|
|||
|
|
118
|
|||
|
|
119
|
|||
|
|
120
|
|||
|
|
121
|
|||
|
|
122
|
|||
|
|
123
|
|||
|
|
124
|
|||
|
|
125</pre>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import/metasploit_framework/xml.rb', line 105</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_import_msf_web_form_element'>import_msf_web_form_element</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_notifier'>notifier</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_assert_valid_keys'>assert_valid_keys</span><span class='lparen'>(</span><span class='symbol'>:allow_yaml</span><span class='comma'>,</span> <span class='symbol'>:workspace</span><span class='rparen'>)</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_import_msf_web_element'>import_msf_web_element</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:allow_yaml</span> <span class='op'>=></span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:allow_yaml</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:notifier</span> <span class='op'>=></span> <span class='id identifier rubyid_notifier'>notifier</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:type</span> <span class='op'>=></span> <span class='symbol'>:form</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:workspace</span> <span class='op'>=></span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:workspace</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>|</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span> <span class='op'>=</span> <span class='id identifier rubyid_import_msf_text_element'>import_msf_text_element</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>method</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
|||
|
|
|
|||
|
|
<span class='comment'># FIXME https://www.pivotaltracker.com/story/show/46578647
|
|||
|
|
</span> <span class='comment'># FIXME https://www.pivotaltracker.com/story/show/47128407
|
|||
|
|
</span> <span class='id identifier rubyid_unserialized_params'>unserialized_params</span> <span class='op'>=</span> <span class='id identifier rubyid_unserialize_object'>unserialize_object</span><span class='lparen'>(</span>
|
|||
|
|
<span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>params</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
|||
|
|
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:allow_yaml</span><span class='rbracket'>]</span>
|
|||
|
|
<span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:params</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_nils_for_nulls'>nils_for_nulls</span><span class='lparen'>(</span><span class='id identifier rubyid_unserialized_params'>unserialized_params</span><span class='rparen'>)</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_info'>info</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='kw'>end</span></pre>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="method_details ">
|
|||
|
|
<h3 class="signature " id="import_msf_web_page_element-instance_method">
|
|||
|
|
|
|||
|
|
#<strong>import_msf_web_page_element</strong>(element, options = {}) {|event, data| ... } ⇒ <tt>void</tt>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</h3><div class="docstring">
|
|||
|
|
<div class="discussion">
|
|||
|
|
<p class="note returns_void">This method returns an undefined value.</p>
|
|||
|
|
<p>Imports web_page element using Msf::DBManager#report_web_page.</p>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="tags">
|
|||
|
|
<p class="tag_title">Parameters:</p>
|
|||
|
|
<ul class="param">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>element</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>Nokogiri::XML::Element</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>web_page element.</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>options</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>Hash{Symbol => Object}</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>options</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<p class="tag_title">Options Hash (<tt>options</tt>):</p>
|
|||
|
|
<ul class="option">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
<span class="name">:allow_yaml</span>
|
|||
|
|
<span class="type">(<tt>Boolean</tt>)</span>
|
|||
|
|
<span class="default">
|
|||
|
|
|
|||
|
|
— default:
|
|||
|
|
<tt>false</tt>
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
— <div class='inline'>
|
|||
|
|
<p>Whether to allow YAML when deserializing headers and body.</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
<span class="name">:workspace</span>
|
|||
|
|
<span class="type">(<tt>Mdm::Workspace</tt>, <tt>nil</tt>)</span>
|
|||
|
|
<span class="default">
|
|||
|
|
|
|||
|
|
— default:
|
|||
|
|
<tt>Msf::DBManager#workspace</tt>
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
— <div class='inline'>
|
|||
|
|
<p>workspace under which to report the Mdm::WebPage.</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<p class="tag_title">Yields:</p>
|
|||
|
|
<ul class="yield">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>event</tt>, <tt>data</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
<p class="tag_title">Yield Parameters:</p>
|
|||
|
|
<ul class="yieldparam">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>event</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>:web_page</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>The event name</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>data</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>String</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>path</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
<p class="tag_title">Yield Returns:</p>
|
|||
|
|
<ul class="yieldreturn">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>void</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
</div><table class="source_code">
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
<pre class="lines">
|
|||
|
|
|
|||
|
|
|
|||
|
|
141
|
|||
|
|
142
|
|||
|
|
143
|
|||
|
|
144
|
|||
|
|
145
|
|||
|
|
146
|
|||
|
|
147
|
|||
|
|
148
|
|||
|
|
149
|
|||
|
|
150
|
|||
|
|
151
|
|||
|
|
152
|
|||
|
|
153
|
|||
|
|
154
|
|||
|
|
155
|
|||
|
|
156
|
|||
|
|
157
|
|||
|
|
158
|
|||
|
|
159
|
|||
|
|
160
|
|||
|
|
161
|
|||
|
|
162
|
|||
|
|
163
|
|||
|
|
164
|
|||
|
|
165
|
|||
|
|
166
|
|||
|
|
167
|
|||
|
|
168
|
|||
|
|
169
|
|||
|
|
170
|
|||
|
|
171
|
|||
|
|
172
|
|||
|
|
173
|
|||
|
|
174
|
|||
|
|
175
|
|||
|
|
176
|
|||
|
|
177
|
|||
|
|
178
|
|||
|
|
179
|
|||
|
|
180
|
|||
|
|
181
|
|||
|
|
182</pre>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import/metasploit_framework/xml.rb', line 141</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_import_msf_web_page_element'>import_msf_web_page_element</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_notifier'>notifier</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_assert_valid_keys'>assert_valid_keys</span><span class='lparen'>(</span><span class='symbol'>:allow_yaml</span><span class='comma'>,</span> <span class='symbol'>:workspace</span><span class='rparen'>)</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_import_msf_web_element'>import_msf_web_element</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:allow_yaml</span> <span class='op'>=></span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:allow_yaml</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:notifier</span> <span class='op'>=></span> <span class='id identifier rubyid_notifier'>notifier</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:type</span> <span class='op'>=></span> <span class='symbol'>:page</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:workspace</span> <span class='op'>=></span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:workspace</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>|</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
|||
|
|
|
|||
|
|
<span class='const'><span class='object_link'><a href="#MSF_WEB_PAGE_TEXT_ELEMENT_NAMES-constant" title="Msf::DBManager::Import::MetasploitFramework::XML::MSF_WEB_PAGE_TEXT_ELEMENT_NAMES (constant)">MSF_WEB_PAGE_TEXT_ELEMENT_NAMES</a></span></span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_name'>name</span><span class='op'>|</span>
|
|||
|
|
<span class='id identifier rubyid_element_info'>element_info</span> <span class='op'>=</span> <span class='id identifier rubyid_import_msf_text_element'>import_msf_text_element</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_element_info'>element_info</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_code'>code</span> <span class='op'>=</span> <span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:code</span><span class='rbracket'>]</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_code'>code</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:code</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_code'>code</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
|
|||
|
|
<span class='comment'># FIXME https://www.pivotaltracker.com/story/show/46578647
|
|||
|
|
</span> <span class='comment'># FIXME https://www.pivotaltracker.com/story/show/47128407
|
|||
|
|
</span> <span class='id identifier rubyid_unserialized_headers'>unserialized_headers</span> <span class='op'>=</span> <span class='id identifier rubyid_unserialize_object'>unserialize_object</span><span class='lparen'>(</span>
|
|||
|
|
<span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>headers</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
|||
|
|
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:allow_yaml</span><span class='rbracket'>]</span>
|
|||
|
|
<span class='rparen'>)</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_unserialized_body'>unserialized_body</span> <span class='op'>=</span> <span class='id identifier rubyid_unserialize_object'>unserialize_object</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>body</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:allow_yaml</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>unless</span> <span class='id identifier rubyid_unserialized_body'>unserialized_body</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span>
|
|||
|
|
<span class='kw'>begin</span>
|
|||
|
|
<span class='id identifier rubyid_unserialized_body'>unserialized_body</span> <span class='op'>=</span> <span class='const'>Base64</span><span class='period'>.</span><span class='id identifier rubyid_urlsafe_decode64'>urlsafe_decode64</span><span class='lparen'>(</span><span class='id identifier rubyid_unserialized_body'>unserialized_body</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_b'>b</span>
|
|||
|
|
<span class='kw'>rescue</span> <span class='const'>ArgumentError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
|||
|
|
<span class='id identifier rubyid_elog'><span class='object_link'><a href="../../../../top-level-namespace.html#elog-instance_method" title="#elog (method)">elog</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Data format suggests response body is not encoded</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:headers</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_nils_for_nulls'>nils_for_nulls</span><span class='lparen'>(</span><span class='id identifier rubyid_unserialized_headers'>unserialized_headers</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:body</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_nils_for_nulls'>nils_for_nulls</span><span class='lparen'>(</span><span class='id identifier rubyid_unserialized_body'>unserialized_body</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='kw'>end</span></pre>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="method_details ">
|
|||
|
|
<h3 class="signature " id="import_msf_web_vuln_element-instance_method">
|
|||
|
|
|
|||
|
|
#<strong>import_msf_web_vuln_element</strong>(element, options = {}) {|event, data| ... } ⇒ <tt>void</tt>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</h3><div class="docstring">
|
|||
|
|
<div class="discussion">
|
|||
|
|
<p class="note returns_void">This method returns an undefined value.</p>
|
|||
|
|
<p>Imports web_vuln element using Msf::DBManager#report_web_vuln.</p>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="tags">
|
|||
|
|
<p class="tag_title">Parameters:</p>
|
|||
|
|
<ul class="param">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>element</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>Nokogiri::XML::Element</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>web_vuln element.</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>options</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>Hash{Symbol => Object}</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>options</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<p class="tag_title">Options Hash (<tt>options</tt>):</p>
|
|||
|
|
<ul class="option">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
<span class="name">:allow_yaml</span>
|
|||
|
|
<span class="type">(<tt>Boolean</tt>)</span>
|
|||
|
|
<span class="default">
|
|||
|
|
|
|||
|
|
— default:
|
|||
|
|
<tt>false</tt>
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
— <div class='inline'>
|
|||
|
|
<p>Whether to allow YAML when deserializing headers.</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
<span class="name">:workspace</span>
|
|||
|
|
<span class="type">(<tt>Mdm::Workspace</tt>, <tt>nil</tt>)</span>
|
|||
|
|
<span class="default">
|
|||
|
|
|
|||
|
|
— default:
|
|||
|
|
<tt>Msf::DBManager#workspace</tt>
|
|||
|
|
|
|||
|
|
</span>
|
|||
|
|
|
|||
|
|
— <div class='inline'>
|
|||
|
|
<p>workspace under which to report the Mdm::WebPage.</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<p class="tag_title">Yields:</p>
|
|||
|
|
<ul class="yield">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>event</tt>, <tt>data</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
<p class="tag_title">Yield Parameters:</p>
|
|||
|
|
<ul class="yieldparam">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>event</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>:web_page</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>The event name</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
<span class='name'>data</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>String</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
—
|
|||
|
|
<div class='inline'>
|
|||
|
|
<p>path</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
<p class="tag_title">Yield Returns:</p>
|
|||
|
|
<ul class="yieldreturn">
|
|||
|
|
|
|||
|
|
<li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<span class='type'>(<tt>void</tt>)</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
</div><table class="source_code">
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
<pre class="lines">
|
|||
|
|
|
|||
|
|
|
|||
|
|
198
|
|||
|
|
199
|
|||
|
|
200
|
|||
|
|
201
|
|||
|
|
202
|
|||
|
|
203
|
|||
|
|
204
|
|||
|
|
205
|
|||
|
|
206
|
|||
|
|
207
|
|||
|
|
208
|
|||
|
|
209
|
|||
|
|
210
|
|||
|
|
211
|
|||
|
|
212
|
|||
|
|
213
|
|||
|
|
214
|
|||
|
|
215
|
|||
|
|
216
|
|||
|
|
217
|
|||
|
|
218
|
|||
|
|
219
|
|||
|
|
220
|
|||
|
|
221
|
|||
|
|
222
|
|||
|
|
223
|
|||
|
|
224
|
|||
|
|
225
|
|||
|
|
226
|
|||
|
|
227
|
|||
|
|
228
|
|||
|
|
229
|
|||
|
|
230
|
|||
|
|
231
|
|||
|
|
232
|
|||
|
|
233
|
|||
|
|
234
|
|||
|
|
235</pre>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import/metasploit_framework/xml.rb', line 198</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_import_msf_web_vuln_element'>import_msf_web_vuln_element</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_notifier'>notifier</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_assert_valid_keys'>assert_valid_keys</span><span class='lparen'>(</span><span class='symbol'>:allow_yaml</span><span class='comma'>,</span> <span class='symbol'>:workspace</span><span class='rparen'>)</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_import_msf_web_element'>import_msf_web_element</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:allow_yaml</span> <span class='op'>=></span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:allow_yaml</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:notifier</span> <span class='op'>=></span> <span class='id identifier rubyid_notifier'>notifier</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:workspace</span> <span class='op'>=></span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:workspace</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:type</span> <span class='op'>=></span> <span class='symbol'>:vuln</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>|</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
|||
|
|
|
|||
|
|
<span class='const'><span class='object_link'><a href="#MSF_WEB_VULN_TEXT_ELEMENT_NAMES-constant" title="Msf::DBManager::Import::MetasploitFramework::XML::MSF_WEB_VULN_TEXT_ELEMENT_NAMES (constant)">MSF_WEB_VULN_TEXT_ELEMENT_NAMES</a></span></span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_name'>name</span><span class='op'>|</span>
|
|||
|
|
<span class='id identifier rubyid_element_info'>element_info</span> <span class='op'>=</span> <span class='id identifier rubyid_import_msf_text_element'>import_msf_text_element</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_element_info'>element_info</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_confidence'>confidence</span> <span class='op'>=</span> <span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:confidence</span><span class='rbracket'>]</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_confidence'>confidence</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:confidence</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_confidence'>confidence</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
|
|||
|
|
<span class='comment'># FIXME https://www.pivotaltracker.com/story/show/46578647
|
|||
|
|
</span> <span class='comment'># FIXME https://www.pivotaltracker.com/story/show/47128407
|
|||
|
|
</span> <span class='id identifier rubyid_unserialized_params'>unserialized_params</span> <span class='op'>=</span> <span class='id identifier rubyid_unserialize_object'>unserialize_object</span><span class='lparen'>(</span>
|
|||
|
|
<span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>params</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
|||
|
|
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:allow_yaml</span><span class='rbracket'>]</span>
|
|||
|
|
<span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:params</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_nils_for_nulls'>nils_for_nulls</span><span class='lparen'>(</span><span class='id identifier rubyid_unserialized_params'>unserialized_params</span><span class='rparen'>)</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_risk'>risk</span> <span class='op'>=</span> <span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:risk</span><span class='rbracket'>]</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_risk'>risk</span>
|
|||
|
|
<span class='id identifier rubyid_info'>info</span><span class='lbracket'>[</span><span class='symbol'>:risk</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_risk'>risk</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_info'>info</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='kw'>end</span></pre>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="method_details ">
|
|||
|
|
<h3 class="signature " id="import_msf_xml-instance_method">
|
|||
|
|
|
|||
|
|
#<strong>import_msf_xml</strong>(args = {}, &block) ⇒ <tt>Object</tt>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</h3><div class="docstring">
|
|||
|
|
<div class="discussion">
|
|||
|
|
|
|||
|
|
<p>For each host, step through services, notes, and vulns, and import them. TODO: loot, tasks, and reports</p>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="tags">
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div><table class="source_code">
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
<pre class="lines">
|
|||
|
|
|
|||
|
|
|
|||
|
|
240
|
|||
|
|
241
|
|||
|
|
242
|
|||
|
|
243
|
|||
|
|
244
|
|||
|
|
245
|
|||
|
|
246
|
|||
|
|
247
|
|||
|
|
248
|
|||
|
|
249
|
|||
|
|
250
|
|||
|
|
251
|
|||
|
|
252
|
|||
|
|
253
|
|||
|
|
254
|
|||
|
|
255
|
|||
|
|
256
|
|||
|
|
257
|
|||
|
|
258
|
|||
|
|
259
|
|||
|
|
260
|
|||
|
|
261
|
|||
|
|
262
|
|||
|
|
263
|
|||
|
|
264
|
|||
|
|
265
|
|||
|
|
266
|
|||
|
|
267
|
|||
|
|
268
|
|||
|
|
269
|
|||
|
|
270
|
|||
|
|
271
|
|||
|
|
272</pre>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import/metasploit_framework/xml.rb', line 240</span>
|
|||
|
|
|
|||
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_import_msf_xml'>import_msf_xml</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:data</span><span class='rbracket'>]</span>
|
|||
|
|
<span class='id identifier rubyid_wspace'>wspace</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../../Msf.html" title="Msf (module)">Msf</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../../Util.html" title="Msf::Util (module)">Util</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../../Util/DBManager.html" title="Msf::Util::DBManager (module)">DBManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_process_opts_workspace'><span class='object_link'><a href="../../../Util/DBManager.html#process_opts_workspace-class_method" title="Msf::Util::DBManager.process_opts_workspace (method)">process_opts_workspace</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='id identifier rubyid_framework'>framework</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span>
|
|||
|
|
<span class='id identifier rubyid_args'>args</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_clone'>clone</span><span class='lparen'>(</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:workspace</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_bl'>bl</span> <span class='op'>=</span> <span class='id identifier rubyid_validate_ips'>validate_ips</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:blacklist</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:blacklist</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span> <span class='op'>:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_doc'>doc</span> <span class='op'>=</span> <span class='const'>Nokogiri</span><span class='op'>::</span><span class='const'>XML</span><span class='op'>::</span><span class='const'>Reader</span><span class='period'>.</span><span class='id identifier rubyid_from_memory'>from_memory</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_check_msf_xml_version!'>check_msf_xml_version!</span><span class='lparen'>(</span><span class='id identifier rubyid_doc'>doc</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
|||
|
|
<span class='id identifier rubyid_allow_yaml'>allow_yaml</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='lbracket'>[</span><span class='symbol'>:allow_yaml</span><span class='rbracket'>]</span>
|
|||
|
|
<span class='id identifier rubyid_btag'>btag</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='lbracket'>[</span><span class='symbol'>:root_tag</span><span class='rbracket'>]</span>
|
|||
|
|
|
|||
|
|
<span class='id identifier rubyid_doc'>doc</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_node'>node</span><span class='op'>|</span>
|
|||
|
|
<span class='kw'>unless</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_inner_xml'>inner_xml</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
|||
|
|
<span class='kw'>unless</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_inner_xml'>inner_xml</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
|||
|
|
<span class='kw'>case</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span>
|
|||
|
|
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>host</span><span class='tstring_end'>'</span></span>
|
|||
|
|
<span class='id identifier rubyid_parse_host'>parse_host</span><span class='lparen'>(</span><span class='const'>Nokogiri</span><span class='op'>::</span><span class='const'>XML</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_outer_xml'>outer_xml</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>./</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_wspace'>wspace</span><span class='comma'>,</span> <span class='id identifier rubyid_bl'>bl</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_yaml'>allow_yaml</span><span class='comma'>,</span> <span class='id identifier rubyid_btag'>btag</span><span class='comma'>,</span> <span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>web_site</span><span class='tstring_end'>'</span></span>
|
|||
|
|
<span class='id identifier rubyid_parse_web_site'>parse_web_site</span><span class='lparen'>(</span><span class='const'>Nokogiri</span><span class='op'>::</span><span class='const'>XML</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_outer_xml'>outer_xml</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>./</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_wspace'>wspace</span><span class='comma'>,</span> <span class='id identifier rubyid_allow_yaml'>allow_yaml</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>web_page</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>web_form</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>web_vuln</span><span class='tstring_end'>'</span></span>
|
|||
|
|
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span>
|
|||
|
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>import_msf_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_element</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
|||
|
|
<span class='const'>Nokogiri</span><span class='op'>::</span><span class='const'>XML</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_outer_xml'>outer_xml</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>./</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:allow_yaml</span> <span class='op'>=></span> <span class='id identifier rubyid_allow_yaml'>allow_yaml</span><span class='comma'>,</span>
|
|||
|
|
<span class='symbol'>:workspace</span> <span class='op'>=></span> <span class='id identifier rubyid_wspace'>wspace</span><span class='comma'>,</span>
|
|||
|
|
<span class='op'>&</span><span class='id identifier rubyid_block'>block</span>
|
|||
|
|
<span class='rparen'>)</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='kw'>end</span>
|
|||
|
|
<span class='kw'>end</span></pre>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div id="footer">
|
|||
|
|
Generated on Fri May 8 17:02:42 2026 by
|
|||
|
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|||
|
|
0.9.37 (ruby-3.1.5).
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</body>
|
|||
|
|
</html>
|