Files
metasploit-gs/api/Msf/DBManager/Import.html
T
jenkins-metasploit c3f5bd3de2 Reboot gh-pages
2026-05-08 17:08:43 +00:00

2747 lines
174 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Module: Msf::DBManager::Import
&mdash; 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";
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 (I)</a> &raquo;
<span class='title'><span class='object_link'><a href="../../Msf.html" title="Msf (module)">Msf</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../DBManager.html" title="Msf::DBManager (class)">DBManager</a></span></span>
&raquo;
<span class="title">Import</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
</h1>
<div class="box_info">
<dl>
<dt>Includes:</dt>
<dd><span class='object_link'><a href="Import/Acunetix.html" title="Msf::DBManager::Import::Acunetix (module)">Acunetix</a></span>, <span class='object_link'><a href="Import/Amap.html" title="Msf::DBManager::Import::Amap (module)">Amap</a></span>, <span class='object_link'><a href="Import/Appscan.html" title="Msf::DBManager::Import::Appscan (module)">Appscan</a></span>, <span class='object_link'><a href="Import/BurpIssue.html" title="Msf::DBManager::Import::BurpIssue (module)">BurpIssue</a></span>, <span class='object_link'><a href="Import/BurpSession.html" title="Msf::DBManager::Import::BurpSession (module)">BurpSession</a></span>, <span class='object_link'><a href="Import/CI.html" title="Msf::DBManager::Import::CI (module)">CI</a></span>, <span class='object_link'><a href="Import/Foundstone.html" title="Msf::DBManager::Import::Foundstone (module)">Foundstone</a></span>, <span class='object_link'><a href="Import/FusionVM.html" title="Msf::DBManager::Import::FusionVM (module)">FusionVM</a></span>, <span class='object_link'><a href="Import/GPP.html" title="Msf::DBManager::Import::GPP (module)">GPP</a></span>, <span class='object_link'><a href="Import/IP360.html" title="Msf::DBManager::Import::IP360 (module)">IP360</a></span>, <span class='object_link'><a href="Import/IPList.html" title="Msf::DBManager::Import::IPList (module)">IPList</a></span>, <span class='object_link'><a href="Import/Libpcap.html" title="Msf::DBManager::Import::Libpcap (module)">Libpcap</a></span>, <span class='object_link'><a href="Import/MBSA.html" title="Msf::DBManager::Import::MBSA (module)">MBSA</a></span>, <span class='object_link'><a href="Import/MetasploitFramework.html" title="Msf::DBManager::Import::MetasploitFramework (module)">MetasploitFramework</a></span>, <span class='object_link'><a href="Import/Nessus.html" title="Msf::DBManager::Import::Nessus (module)">Nessus</a></span>, <span class='object_link'><a href="Import/Netsparker.html" title="Msf::DBManager::Import::Netsparker (module)">Netsparker</a></span>, <span class='object_link'><a href="Import/Nexpose.html" title="Msf::DBManager::Import::Nexpose (module)">Nexpose</a></span>, <span class='object_link'><a href="Import/Nikto.html" title="Msf::DBManager::Import::Nikto (module)">Nikto</a></span>, <span class='object_link'><a href="Import/Nmap.html" title="Msf::DBManager::Import::Nmap (module)">Nmap</a></span>, <span class='object_link'><a href="Import/Nuclei.html" title="Msf::DBManager::Import::Nuclei (module)">Nuclei</a></span>, <span class='object_link'><a href="Import/OpenVAS.html" title="Msf::DBManager::Import::OpenVAS (module)">OpenVAS</a></span>, <span class='object_link'><a href="Import/Outpost24.html" title="Msf::DBManager::Import::Outpost24 (module)">Outpost24</a></span>, <span class='object_link'><a href="Import/Qualys.html" title="Msf::DBManager::Import::Qualys (module)">Qualys</a></span>, <span class='object_link'><a href="Import/Report.html" title="Msf::DBManager::Import::Report (module)">Report</a></span>, <span class='object_link'><a href="Import/Retina.html" title="Msf::DBManager::Import::Retina (module)">Retina</a></span>, <span class='object_link'><a href="Import/Spiceworks.html" title="Msf::DBManager::Import::Spiceworks (module)">Spiceworks</a></span>, <span class='object_link'><a href="Import/Wapiti.html" title="Msf::DBManager::Import::Wapiti (module)">Wapiti</a></span></dd>
</dl>
<dl>
<dt>Included in:</dt>
<dd><span class='object_link'><a href="../DBManager.html" title="Msf::DBManager (class)">Msf::DBManager</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/msf/core/db_manager/import.rb<span class="defines">,<br />
lib/msf/core/db_manager/import/marshal_validator.rb</span>
</dd>
</dl>
</div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<p>Gems</p>
</div>
</div>
<div class="tags">
</div><h2>Defined Under Namespace</h2>
<p class="children">
<strong class="modules">Modules:</strong> <span class='object_link'><a href="Import/Acunetix.html" title="Msf::DBManager::Import::Acunetix (module)">Acunetix</a></span>, <span class='object_link'><a href="Import/Amap.html" title="Msf::DBManager::Import::Amap (module)">Amap</a></span>, <span class='object_link'><a href="Import/Appscan.html" title="Msf::DBManager::Import::Appscan (module)">Appscan</a></span>, <span class='object_link'><a href="Import/BurpIssue.html" title="Msf::DBManager::Import::BurpIssue (module)">BurpIssue</a></span>, <span class='object_link'><a href="Import/BurpSession.html" title="Msf::DBManager::Import::BurpSession (module)">BurpSession</a></span>, <span class='object_link'><a href="Import/CI.html" title="Msf::DBManager::Import::CI (module)">CI</a></span>, <span class='object_link'><a href="Import/Foundstone.html" title="Msf::DBManager::Import::Foundstone (module)">Foundstone</a></span>, <span class='object_link'><a href="Import/FusionVM.html" title="Msf::DBManager::Import::FusionVM (module)">FusionVM</a></span>, <span class='object_link'><a href="Import/GPP.html" title="Msf::DBManager::Import::GPP (module)">GPP</a></span>, <span class='object_link'><a href="Import/IP360.html" title="Msf::DBManager::Import::IP360 (module)">IP360</a></span>, <span class='object_link'><a href="Import/IPList.html" title="Msf::DBManager::Import::IPList (module)">IPList</a></span>, <span class='object_link'><a href="Import/Libpcap.html" title="Msf::DBManager::Import::Libpcap (module)">Libpcap</a></span>, <span class='object_link'><a href="Import/MBSA.html" title="Msf::DBManager::Import::MBSA (module)">MBSA</a></span>, <span class='object_link'><a href="Import/MetasploitFramework.html" title="Msf::DBManager::Import::MetasploitFramework (module)">MetasploitFramework</a></span>, <span class='object_link'><a href="Import/Nessus.html" title="Msf::DBManager::Import::Nessus (module)">Nessus</a></span>, <span class='object_link'><a href="Import/Netsparker.html" title="Msf::DBManager::Import::Netsparker (module)">Netsparker</a></span>, <span class='object_link'><a href="Import/Nexpose.html" title="Msf::DBManager::Import::Nexpose (module)">Nexpose</a></span>, <span class='object_link'><a href="Import/Nikto.html" title="Msf::DBManager::Import::Nikto (module)">Nikto</a></span>, <span class='object_link'><a href="Import/Nmap.html" title="Msf::DBManager::Import::Nmap (module)">Nmap</a></span>, <span class='object_link'><a href="Import/Nuclei.html" title="Msf::DBManager::Import::Nuclei (module)">Nuclei</a></span>, <span class='object_link'><a href="Import/OpenVAS.html" title="Msf::DBManager::Import::OpenVAS (module)">OpenVAS</a></span>, <span class='object_link'><a href="Import/Outpost24.html" title="Msf::DBManager::Import::Outpost24 (module)">Outpost24</a></span>, <span class='object_link'><a href="Import/Qualys.html" title="Msf::DBManager::Import::Qualys (module)">Qualys</a></span>, <span class='object_link'><a href="Import/Report.html" title="Msf::DBManager::Import::Report (module)">Report</a></span>, <span class='object_link'><a href="Import/Retina.html" title="Msf::DBManager::Import::Retina (module)">Retina</a></span>, <span class='object_link'><a href="Import/Spiceworks.html" title="Msf::DBManager::Import::Spiceworks (module)">Spiceworks</a></span>, <span class='object_link'><a href="Import/Wapiti.html" title="Msf::DBManager::Import::Wapiti (module)">Wapiti</a></span>
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Import/MarshalValidationError.html" title="Msf::DBManager::Import::MarshalValidationError (class)">MarshalValidationError</a></span>, <span class='object_link'><a href="Import/MarshalValidator.html" title="Msf::DBManager::Import::MarshalValidator (class)">MarshalValidator</a></span>
</p>
<h2>Constant Summary</h2>
<h3 class="inherited">Constants included
from <span class='object_link'><a href="Import/Qualys.html" title="Msf::DBManager::Import::Qualys (module)">Qualys</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Qualys.html#TCP_QID-constant" title="Msf::DBManager::Import::Qualys::TCP_QID (constant)">Qualys::TCP_QID</a></span>, <span class='object_link'><a href="Import/Qualys.html#UDP_QID-constant" title="Msf::DBManager::Import::Qualys::UDP_QID (constant)">Qualys::UDP_QID</a></span></p>
<h3 class="inherited">Constants included
from <span class='object_link'><a href="Import/MetasploitFramework/XML.html" title="Msf::DBManager::Import::MetasploitFramework::XML (module)">MetasploitFramework::XML</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/MetasploitFramework/XML.html#MSF_WEB_PAGE_TEXT_ELEMENT_NAMES-constant" title="Msf::DBManager::Import::MetasploitFramework::XML::MSF_WEB_PAGE_TEXT_ELEMENT_NAMES (constant)">MetasploitFramework::XML::MSF_WEB_PAGE_TEXT_ELEMENT_NAMES</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/XML.html#MSF_WEB_TEXT_ELEMENT_NAMES-constant" title="Msf::DBManager::Import::MetasploitFramework::XML::MSF_WEB_TEXT_ELEMENT_NAMES (constant)">MetasploitFramework::XML::MSF_WEB_TEXT_ELEMENT_NAMES</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/XML.html#MSF_WEB_VULN_TEXT_ELEMENT_NAMES-constant" title="Msf::DBManager::Import::MetasploitFramework::XML::MSF_WEB_VULN_TEXT_ELEMENT_NAMES (constant)">MetasploitFramework::XML::MSF_WEB_VULN_TEXT_ELEMENT_NAMES</a></span></p>
<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="#dehex-instance_method" title="#dehex (instance method)">#<strong>dehex</strong>(str) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>If hex notation is present, turn them into a character.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#emit-instance_method" title="#emit (instance method)">#<strong>emit</strong>(sym, data) {|sym, data| ... } &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>A way to sneak the yield back into the db importer.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#import-instance_method" title="#import (instance method)">#<strong>import</strong>(args = {}) {|:filetype, @import_filedata[:type]| ... } &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>A dispatcher method that figures out the datas file type, and sends it off to the appropriate importer.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#import_file-instance_method" title="#import_file (instance method)">#<strong>import_file</strong>(args = {}, &amp;block) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Generic importer that automatically determines the file type being imported.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#import_filetype_detect-instance_method" title="#import_filetype_detect (instance method)">#<strong>import_filetype_detect</strong>(data) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns one of the following:.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_assign_timestamps-instance_method" title="#msf_assign_timestamps (instance method)">#<strong>msf_assign_timestamps</strong>(opts, obj) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Assigns created_at and updated_at time stamps to an object.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_artifact-instance_method" title="#msf_import_artifact (instance method)">#<strong>msf_import_artifact</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_host-instance_method" title="#msf_import_host (instance method)">#<strong>msf_import_host</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_loot-instance_method" title="#msf_import_loot (instance method)">#<strong>msf_import_loot</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_note-instance_method" title="#msf_import_note (instance method)">#<strong>msf_import_note</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_service-instance_method" title="#msf_import_service (instance method)">#<strong>msf_import_service</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_task-instance_method" title="#msf_import_task (instance method)">#<strong>msf_import_task</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_user-instance_method" title="#msf_import_user (instance method)">#<strong>msf_import_user</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_vuln-instance_method" title="#msf_import_vuln (instance method)">#<strong>msf_import_vuln</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_web_page-instance_method" title="#msf_import_web_page (instance method)">#<strong>msf_import_web_page</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_web_site-instance_method" title="#msf_import_web_site (instance method)">#<strong>msf_import_web_site</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_import_web_vuln-instance_method" title="#msf_import_web_vuln (instance method)">#<strong>msf_import_web_vuln</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#msf_normalise_import_timestamps-instance_method" title="#msf_normalise_import_timestamps (instance method)">#<strong>msf_normalise_import_timestamps</strong>(opts) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Handles timestamps from Metasploit Express/Pro imports.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#report_import_note-instance_method" title="#report_import_note (instance method)">#<strong>report_import_note</strong>(wspace, addr) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#rexmlify-instance_method" title="#rexmlify (instance method)">#<strong>rexmlify</strong>(data) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns a REXML::Document from the given data.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#service_name_map-instance_method" title="#service_name_map (instance method)">#<strong>service_name_map</strong>(proto) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>This method normalizes an incoming service name to one of the the standard ones recognized by metasploit.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#validate_import_file-instance_method" title="#validate_import_file (instance method)">#<strong>validate_import_file</strong>(data) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Boils down the validate_import_file to a boolean.</p>
</div></span>
</li>
</ul>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Wapiti.html" title="Msf::DBManager::Import::Wapiti (module)">Wapiti</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Wapiti.html#import_wapiti_xml-instance_method" title="Msf::DBManager::Import::Wapiti#import_wapiti_xml (method)">#import_wapiti_xml</a></span>, <span class='object_link'><a href="Import/Wapiti.html#import_wapiti_xml_file-instance_method" title="Msf::DBManager::Import::Wapiti#import_wapiti_xml_file (method)">#import_wapiti_xml_file</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Spiceworks.html" title="Msf::DBManager::Import::Spiceworks (module)">Spiceworks</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Spiceworks.html#import_spiceworks_csv-instance_method" title="Msf::DBManager::Import::Spiceworks#import_spiceworks_csv (method)">#import_spiceworks_csv</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Retina.html" title="Msf::DBManager::Import::Retina (module)">Retina</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Retina.html#import_retina_xml-instance_method" title="Msf::DBManager::Import::Retina#import_retina_xml (method)">#import_retina_xml</a></span>, <span class='object_link'><a href="Import/Retina.html#import_retina_xml_file-instance_method" title="Msf::DBManager::Import::Retina#import_retina_xml_file (method)">#import_retina_xml_file</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Report.html" title="Msf::DBManager::Import::Report (module)">Report</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Report.html#import_report-instance_method" title="Msf::DBManager::Import::Report#import_report (method)">#import_report</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Qualys.html" title="Msf::DBManager::Import::Qualys (module)">Qualys</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Qualys.html#handle_qualys-instance_method" title="Msf::DBManager::Import::Qualys#handle_qualys (method)">#handle_qualys</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Qualys/Scan.html" title="Msf::DBManager::Import::Qualys::Scan (module)">Qualys::Scan</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Qualys/Scan.html#import_qualys_scan_xml-instance_method" title="Msf::DBManager::Import::Qualys::Scan#import_qualys_scan_xml (method)">#import_qualys_scan_xml</a></span>, <span class='object_link'><a href="Import/Qualys/Scan.html#import_qualys_scan_xml_file-instance_method" title="Msf::DBManager::Import::Qualys::Scan#import_qualys_scan_xml_file (method)">#import_qualys_scan_xml_file</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Qualys/Asset.html" title="Msf::DBManager::Import::Qualys::Asset (module)">Qualys::Asset</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Qualys/Asset.html#find_qualys_asset_ports-instance_method" title="Msf::DBManager::Import::Qualys::Asset#find_qualys_asset_ports (method)">#find_qualys_asset_ports</a></span>, <span class='object_link'><a href="Import/Qualys/Asset.html#find_qualys_asset_vuln_refs-instance_method" title="Msf::DBManager::Import::Qualys::Asset#find_qualys_asset_vuln_refs (method)">#find_qualys_asset_vuln_refs</a></span>, <span class='object_link'><a href="Import/Qualys/Asset.html#find_qualys_asset_vulns-instance_method" title="Msf::DBManager::Import::Qualys::Asset#find_qualys_asset_vulns (method)">#find_qualys_asset_vulns</a></span>, <span class='object_link'><a href="Import/Qualys/Asset.html#import_qualys_asset_xml-instance_method" title="Msf::DBManager::Import::Qualys::Asset#import_qualys_asset_xml (method)">#import_qualys_asset_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Outpost24.html" title="Msf::DBManager::Import::Outpost24 (module)">Outpost24</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Outpost24.html#import_outpost24_noko_stream-instance_method" title="Msf::DBManager::Import::Outpost24#import_outpost24_noko_stream (method)">#import_outpost24_noko_stream</a></span>, <span class='object_link'><a href="Import/Outpost24.html#import_outpost24_xml-instance_method" title="Msf::DBManager::Import::Outpost24#import_outpost24_xml (method)">#import_outpost24_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/OpenVAS.html" title="Msf::DBManager::Import::OpenVAS (module)">OpenVAS</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/OpenVAS.html#import_openvas_new_xml-instance_method" title="Msf::DBManager::Import::OpenVAS#import_openvas_new_xml (method)">#import_openvas_new_xml</a></span>, <span class='object_link'><a href="Import/OpenVAS.html#import_openvas_noko_stream-instance_method" title="Msf::DBManager::Import::OpenVAS#import_openvas_noko_stream (method)">#import_openvas_noko_stream</a></span>, <span class='object_link'><a href="Import/OpenVAS.html#import_openvas_xml-instance_method" title="Msf::DBManager::Import::OpenVAS#import_openvas_xml (method)">#import_openvas_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nuclei.html" title="Msf::DBManager::Import::Nuclei (module)">Nuclei</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nuclei.html#import_nuclei_json-instance_method" title="Msf::DBManager::Import::Nuclei#import_nuclei_json (method)">#import_nuclei_json</a></span>, <span class='object_link'><a href="Import/Nuclei.html#import_nuclei_jsonl-instance_method" title="Msf::DBManager::Import::Nuclei#import_nuclei_jsonl (method)">#import_nuclei_jsonl</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nmap.html" title="Msf::DBManager::Import::Nmap (module)">Nmap</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nmap.html#import_nmap_noko_stream-instance_method" title="Msf::DBManager::Import::Nmap#import_nmap_noko_stream (method)">#import_nmap_noko_stream</a></span>, <span class='object_link'><a href="Import/Nmap.html#import_nmap_xml-instance_method" title="Msf::DBManager::Import::Nmap#import_nmap_xml (method)">#import_nmap_xml</a></span>, <span class='object_link'><a href="Import/Nmap.html#import_nmap_xml_file-instance_method" title="Msf::DBManager::Import::Nmap#import_nmap_xml_file (method)">#import_nmap_xml_file</a></span>, <span class='object_link'><a href="Import/Nmap.html#nmap_msf_service_map-instance_method" title="Msf::DBManager::Import::Nmap#nmap_msf_service_map (method)">#nmap_msf_service_map</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nikto.html" title="Msf::DBManager::Import::Nikto (module)">Nikto</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nikto.html#import_nikto_xml-instance_method" title="Msf::DBManager::Import::Nikto#import_nikto_xml (method)">#import_nikto_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nexpose/Simple.html" title="Msf::DBManager::Import::Nexpose::Simple (module)">Nexpose::Simple</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nexpose/Simple.html#import_nexpose_noko_stream-instance_method" title="Msf::DBManager::Import::Nexpose::Simple#import_nexpose_noko_stream (method)">#import_nexpose_noko_stream</a></span>, <span class='object_link'><a href="Import/Nexpose/Simple.html#import_nexpose_simplexml-instance_method" title="Msf::DBManager::Import::Nexpose::Simple#import_nexpose_simplexml (method)">#import_nexpose_simplexml</a></span>, <span class='object_link'><a href="Import/Nexpose/Simple.html#import_nexpose_simplexml_file-instance_method" title="Msf::DBManager::Import::Nexpose::Simple#import_nexpose_simplexml_file (method)">#import_nexpose_simplexml_file</a></span>, <span class='object_link'><a href="Import/Nexpose/Simple.html#process_nexpose_data_sxml_refs-instance_method" title="Msf::DBManager::Import::Nexpose::Simple#process_nexpose_data_sxml_refs (method)">#process_nexpose_data_sxml_refs</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nexpose/Raw.html" title="Msf::DBManager::Import::Nexpose::Raw (module)">Nexpose::Raw</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nexpose/Raw.html#import_nexpose_raw_noko_stream-instance_method" title="Msf::DBManager::Import::Nexpose::Raw#import_nexpose_raw_noko_stream (method)">#import_nexpose_raw_noko_stream</a></span>, <span class='object_link'><a href="Import/Nexpose/Raw.html#import_nexpose_rawxml-instance_method" title="Msf::DBManager::Import::Nexpose::Raw#import_nexpose_rawxml (method)">#import_nexpose_rawxml</a></span>, <span class='object_link'><a href="Import/Nexpose/Raw.html#import_nexpose_rawxml_file-instance_method" title="Msf::DBManager::Import::Nexpose::Raw#import_nexpose_rawxml_file (method)">#import_nexpose_rawxml_file</a></span>, <span class='object_link'><a href="Import/Nexpose/Raw.html#nexpose_host_from_rawxml-instance_method" title="Msf::DBManager::Import::Nexpose::Raw#nexpose_host_from_rawxml (method)">#nexpose_host_from_rawxml</a></span>, <span class='object_link'><a href="Import/Nexpose/Raw.html#nexpose_refs_to_struct-instance_method" title="Msf::DBManager::Import::Nexpose::Raw#nexpose_refs_to_struct (method)">#nexpose_refs_to_struct</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Netsparker.html" title="Msf::DBManager::Import::Netsparker (module)">Netsparker</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Netsparker.html#import_netsparker_xml-instance_method" title="Msf::DBManager::Import::Netsparker#import_netsparker_xml (method)">#import_netsparker_xml</a></span>, <span class='object_link'><a href="Import/Netsparker.html#import_netsparker_xml_file-instance_method" title="Msf::DBManager::Import::Netsparker#import_netsparker_xml_file (method)">#import_netsparker_xml_file</a></span>, <span class='object_link'><a href="Import/Netsparker.html#netsparker_method_map-instance_method" title="Msf::DBManager::Import::Netsparker#netsparker_method_map (method)">#netsparker_method_map</a></span>, <span class='object_link'><a href="Import/Netsparker.html#netsparker_params_map-instance_method" title="Msf::DBManager::Import::Netsparker#netsparker_params_map (method)">#netsparker_params_map</a></span>, <span class='object_link'><a href="Import/Netsparker.html#netsparker_pname_map-instance_method" title="Msf::DBManager::Import::Netsparker#netsparker_pname_map (method)">#netsparker_pname_map</a></span>, <span class='object_link'><a href="Import/Netsparker.html#netsparker_vulnerability_map-instance_method" title="Msf::DBManager::Import::Netsparker#netsparker_vulnerability_map (method)">#netsparker_vulnerability_map</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nessus.html" title="Msf::DBManager::Import::Nessus (module)">Nessus</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nessus.html#handle_nessus-instance_method" title="Msf::DBManager::Import::Nessus#handle_nessus (method)">#handle_nessus</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nessus/XML.html" title="Msf::DBManager::Import::Nessus::XML (module)">Nessus::XML</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nessus/XML.html#import_nessus_xml_file-instance_method" title="Msf::DBManager::Import::Nessus::XML#import_nessus_xml_file (method)">#import_nessus_xml_file</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nessus/XML/V2.html" title="Msf::DBManager::Import::Nessus::XML::V2 (module)">Nessus::XML::V2</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nessus/XML/V2.html#handle_nessus_v2-instance_method" title="Msf::DBManager::Import::Nessus::XML::V2#handle_nessus_v2 (method)">#handle_nessus_v2</a></span>, <span class='object_link'><a href="Import/Nessus/XML/V2.html#import_nessus_xml_v2-instance_method" title="Msf::DBManager::Import::Nessus::XML::V2#import_nessus_xml_v2 (method)">#import_nessus_xml_v2</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nessus/XML/V1.html" title="Msf::DBManager::Import::Nessus::XML::V1 (module)">Nessus::XML::V1</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nessus/XML/V1.html#import_nessus_xml-instance_method" title="Msf::DBManager::Import::Nessus::XML::V1#import_nessus_xml (method)">#import_nessus_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Nessus/NBE.html" title="Msf::DBManager::Import::Nessus::NBE (module)">Nessus::NBE</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Nessus/NBE.html#import_nessus_nbe-instance_method" title="Msf::DBManager::Import::Nessus::NBE#import_nessus_nbe (method)">#import_nessus_nbe</a></span>, <span class='object_link'><a href="Import/Nessus/NBE.html#import_nessus_nbe_file-instance_method" title="Msf::DBManager::Import::Nessus::NBE#import_nessus_nbe_file (method)">#import_nessus_nbe_file</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/MetasploitFramework.html" title="Msf::DBManager::Import::MetasploitFramework (module)">MetasploitFramework</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/MetasploitFramework.html#nils_for_nulls-instance_method" title="Msf::DBManager::Import::MetasploitFramework#nils_for_nulls (method)">#nils_for_nulls</a></span>, <span class='object_link'><a href="Import/MetasploitFramework.html#unserialize_object-instance_method" title="Msf::DBManager::Import::MetasploitFramework#unserialize_object (method)">#unserialize_object</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/MetasploitFramework/Zip.html" title="Msf::DBManager::Import::MetasploitFramework::Zip (module)">MetasploitFramework::Zip</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/MetasploitFramework/Zip.html#import_msf_collateral-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Zip#import_msf_collateral (method)">#import_msf_collateral</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/Zip.html#import_msf_zip-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Zip#import_msf_zip (method)">#import_msf_zip</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/Zip.html#is_child_of%3F-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Zip#is_child_of? (method)">#is_child_of?</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/Zip.html#parse_zip_host-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Zip#parse_zip_host (method)">#parse_zip_host</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/Zip.html#parse_zip_loot-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Zip#parse_zip_loot (method)">#parse_zip_loot</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/Zip.html#parse_zip_report-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Zip#parse_zip_report (method)">#parse_zip_report</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/Zip.html#parse_zip_task-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Zip#parse_zip_task (method)">#parse_zip_task</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/MetasploitFramework/XML.html" title="Msf::DBManager::Import::MetasploitFramework::XML (module)">MetasploitFramework::XML</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/MetasploitFramework/XML.html#import_msf_file-instance_method" title="Msf::DBManager::Import::MetasploitFramework::XML#import_msf_file (method)">#import_msf_file</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/XML.html#import_msf_note_element-instance_method" title="Msf::DBManager::Import::MetasploitFramework::XML#import_msf_note_element (method)">#import_msf_note_element</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/XML.html#import_msf_web_form_element-instance_method" title="Msf::DBManager::Import::MetasploitFramework::XML#import_msf_web_form_element (method)">#import_msf_web_form_element</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/XML.html#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>, <span class='object_link'><a href="Import/MetasploitFramework/XML.html#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>, <span class='object_link'><a href="Import/MetasploitFramework/XML.html#import_msf_xml-instance_method" title="Msf::DBManager::Import::MetasploitFramework::XML#import_msf_xml (method)">#import_msf_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/MetasploitFramework/Credential.html" title="Msf::DBManager::Import::MetasploitFramework::Credential (module)">MetasploitFramework::Credential</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/MetasploitFramework/Credential.html#import_msf_cred_dump-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Credential#import_msf_cred_dump (method)">#import_msf_cred_dump</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/Credential.html#import_msf_cred_dump_zip-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Credential#import_msf_cred_dump_zip (method)">#import_msf_cred_dump_zip</a></span>, <span class='object_link'><a href="Import/MetasploitFramework/Credential.html#import_msf_pwdump-instance_method" title="Msf::DBManager::Import::MetasploitFramework::Credential#import_msf_pwdump (method)">#import_msf_pwdump</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/MBSA.html" title="Msf::DBManager::Import::MBSA (module)">MBSA</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/MBSA.html#import_mbsa_noko_stream-instance_method" title="Msf::DBManager::Import::MBSA#import_mbsa_noko_stream (method)">#import_mbsa_noko_stream</a></span>, <span class='object_link'><a href="Import/MBSA.html#import_mbsa_xml-instance_method" title="Msf::DBManager::Import::MBSA#import_mbsa_xml (method)">#import_mbsa_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Libpcap.html" title="Msf::DBManager::Import::Libpcap (module)">Libpcap</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Libpcap.html#import_libpcap-instance_method" title="Msf::DBManager::Import::Libpcap#import_libpcap (method)">#import_libpcap</a></span>, <span class='object_link'><a href="Import/Libpcap.html#import_libpcap_file-instance_method" title="Msf::DBManager::Import::Libpcap#import_libpcap_file (method)">#import_libpcap_file</a></span>, <span class='object_link'><a href="Import/Libpcap.html#inspect_single_packet-instance_method" title="Msf::DBManager::Import::Libpcap#inspect_single_packet (method)">#inspect_single_packet</a></span>, <span class='object_link'><a href="Import/Libpcap.html#inspect_single_packet_http-instance_method" title="Msf::DBManager::Import::Libpcap#inspect_single_packet_http (method)">#inspect_single_packet_http</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/IPList.html" title="Msf::DBManager::Import::IPList (module)">IPList</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/IPList.html#import_ip_list-instance_method" title="Msf::DBManager::Import::IPList#import_ip_list (method)">#import_ip_list</a></span>, <span class='object_link'><a href="Import/IPList.html#import_ip_list_file-instance_method" title="Msf::DBManager::Import::IPList#import_ip_list_file (method)">#import_ip_list_file</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/IP360/V3.html" title="Msf::DBManager::Import::IP360::V3 (module)">IP360::V3</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/IP360/V3.html#handle_ip360_v3_svc-instance_method" title="Msf::DBManager::Import::IP360::V3#handle_ip360_v3_svc (method)">#handle_ip360_v3_svc</a></span>, <span class='object_link'><a href="Import/IP360/V3.html#handle_ip360_v3_vuln-instance_method" title="Msf::DBManager::Import::IP360::V3#handle_ip360_v3_vuln (method)">#handle_ip360_v3_vuln</a></span>, <span class='object_link'><a href="Import/IP360/V3.html#import_ip360_xml_file-instance_method" title="Msf::DBManager::Import::IP360::V3#import_ip360_xml_file (method)">#import_ip360_xml_file</a></span>, <span class='object_link'><a href="Import/IP360/V3.html#import_ip360_xml_v3-instance_method" title="Msf::DBManager::Import::IP360::V3#import_ip360_xml_v3 (method)">#import_ip360_xml_v3</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/IP360/ASPL.html" title="Msf::DBManager::Import::IP360::ASPL (module)">IP360::ASPL</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/IP360/ASPL.html#import_ip360_aspl_xml-instance_method" title="Msf::DBManager::Import::IP360::ASPL#import_ip360_aspl_xml (method)">#import_ip360_aspl_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/GPP.html" title="Msf::DBManager::Import::GPP (module)">GPP</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/GPP.html#import_gpp_xml-instance_method" title="Msf::DBManager::Import::GPP#import_gpp_xml (method)">#import_gpp_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/FusionVM.html" title="Msf::DBManager::Import::FusionVM (module)">FusionVM</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/FusionVM.html#import_fusionvm_xml-instance_method" title="Msf::DBManager::Import::FusionVM#import_fusionvm_xml (method)">#import_fusionvm_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Foundstone.html" title="Msf::DBManager::Import::Foundstone (module)">Foundstone</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Foundstone.html#import_foundstone_noko_stream-instance_method" title="Msf::DBManager::Import::Foundstone#import_foundstone_noko_stream (method)">#import_foundstone_noko_stream</a></span>, <span class='object_link'><a href="Import/Foundstone.html#import_foundstone_xml-instance_method" title="Msf::DBManager::Import::Foundstone#import_foundstone_xml (method)">#import_foundstone_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/CI.html" title="Msf::DBManager::Import::CI (module)">CI</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/CI.html#import_ci_noko_stream-instance_method" title="Msf::DBManager::Import::CI#import_ci_noko_stream (method)">#import_ci_noko_stream</a></span>, <span class='object_link'><a href="Import/CI.html#import_ci_xml-instance_method" title="Msf::DBManager::Import::CI#import_ci_xml (method)">#import_ci_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/BurpSession.html" title="Msf::DBManager::Import::BurpSession (module)">BurpSession</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/BurpSession.html#import_burp_session_noko_stream-instance_method" title="Msf::DBManager::Import::BurpSession#import_burp_session_noko_stream (method)">#import_burp_session_noko_stream</a></span>, <span class='object_link'><a href="Import/BurpSession.html#import_burp_session_xml-instance_method" title="Msf::DBManager::Import::BurpSession#import_burp_session_xml (method)">#import_burp_session_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/BurpIssue.html" title="Msf::DBManager::Import::BurpIssue (module)">BurpIssue</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/BurpIssue.html#import_burp_issue_xml-instance_method" title="Msf::DBManager::Import::BurpIssue#import_burp_issue_xml (method)">#import_burp_issue_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Appscan.html" title="Msf::DBManager::Import::Appscan (module)">Appscan</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Appscan.html#import_appscan_noko_stream-instance_method" title="Msf::DBManager::Import::Appscan#import_appscan_noko_stream (method)">#import_appscan_noko_stream</a></span>, <span class='object_link'><a href="Import/Appscan.html#import_appscan_xml-instance_method" title="Msf::DBManager::Import::Appscan#import_appscan_xml (method)">#import_appscan_xml</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Amap.html" title="Msf::DBManager::Import::Amap (module)">Amap</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Amap.html#import_amap_log-instance_method" title="Msf::DBManager::Import::Amap#import_amap_log (method)">#import_amap_log</a></span>, <span class='object_link'><a href="Import/Amap.html#import_amap_log_file-instance_method" title="Msf::DBManager::Import::Amap#import_amap_log_file (method)">#import_amap_log_file</a></span>, <span class='object_link'><a href="Import/Amap.html#import_amap_mlog-instance_method" title="Msf::DBManager::Import::Amap#import_amap_mlog (method)">#import_amap_mlog</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Import/Acunetix.html" title="Msf::DBManager::Import::Acunetix (module)">Acunetix</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Import/Acunetix.html#import_acunetix_noko_stream-instance_method" title="Msf::DBManager::Import::Acunetix#import_acunetix_noko_stream (method)">#import_acunetix_noko_stream</a></span>, <span class='object_link'><a href="Import/Acunetix.html#import_acunetix_xml-instance_method" title="Msf::DBManager::Import::Acunetix#import_acunetix_xml (method)">#import_acunetix_xml</a></span></p>
<div id="instance_method_details" class="method_details_list">
<h2>Instance Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="dehex-instance_method">
#<strong>dehex</strong>(str) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>If hex notation is present, turn them into a character.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
71
72
73
74
75
76
77</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 71</span>
<span class='kw'>def</span> <span class='id identifier rubyid_dehex'>dehex</span><span class='lparen'>(</span><span class='id identifier rubyid_str'>str</span><span class='rparen'>)</span>
<span class='id identifier rubyid_hexen'>hexen</span> <span class='op'>=</span> <span class='id identifier rubyid_str'>str</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\x5cx[0-9a-fA-F]{2}</span><span class='regexp_end'>/n</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_hexen'>hexen</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_h'>h</span><span class='op'>|</span>
<span class='id identifier rubyid_str'>str</span><span class='period'>.</span><span class='id identifier rubyid_gsub!'>gsub!</span><span class='lparen'>(</span><span class='id identifier rubyid_h'>h</span><span class='comma'>,</span><span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='lparen'>(</span><span class='int'>16</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span><span class='rparen'>)</span>
<span class='rbrace'>}</span>
<span class='kw'>return</span> <span class='id identifier rubyid_str'>str</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="emit-instance_method">
#<strong>emit</strong>(sym, data) {|sym, data| ... } &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>A way to sneak the yield back into the db importer. Used by the SAX parsers.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Yields:</p>
<ul class="yield">
<li>
<span class='type'>(<tt>sym</tt>, <tt>data</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
81
82
83</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 81</span>
<span class='kw'>def</span> <span class='id identifier rubyid_emit'>emit</span><span class='lparen'>(</span><span class='id identifier rubyid_sym'>sym</span><span class='comma'>,</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
<span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_sym'>sym</span><span class='comma'>,</span><span class='id identifier rubyid_data'>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-instance_method">
#<strong>import</strong>(args = {}) {|:filetype, @import_filedata[:type]| ... } &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>A dispatcher method that figures out the datas file type, and sends it off to the appropriate importer. Note that import_file_detect will raise an error if the filetype is unknown.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Yields:</p>
<ul class="yield">
<li>
<span class='type'>(<tt>:filetype</tt>, <tt>@import_filedata[:type]</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 89</span>
<span class='kw'>def</span> <span class='id identifier rubyid_import'>import</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'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</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='id identifier rubyid_preserve_hosts'>preserve_hosts</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:task</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DS_PRESERVE_HOSTS</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:task</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:task</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
<span class='id identifier rubyid_wspace'>wspace</span><span class='period'>.</span><span class='id identifier rubyid_update_attribute'>update_attribute</span><span class='lparen'>(</span><span class='symbol'>:import_fingerprint</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
<span class='id identifier rubyid_existing_host_ids'>existing_host_ids</span> <span class='op'>=</span> <span class='id identifier rubyid_wspace'>wspace</span><span class='period'>.</span><span class='id identifier rubyid_hosts'>hosts</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:id</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='op'>||</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>data</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='id identifier rubyid_ftype'>ftype</span> <span class='op'>=</span> <span class='id identifier rubyid_import_filetype_detect'>import_filetype_detect</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='kw'>yield</span><span class='lparen'>(</span><span class='symbol'>:filetype</span><span class='comma'>,</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
<span class='comment'># this code looks to intentionally convert workspace to a string, why?
</span> <span class='id identifier rubyid_opts'>opts</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_opts'>opts</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_result'>result</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>import_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ftype'>ftype</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>workspace:</span> <span class='id identifier rubyid_wspace'>wspace</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span>
<span class='comment'># post process the import here for missing default port maps
</span> <span class='id identifier rubyid_mrefs'>mrefs</span><span class='comma'>,</span> <span class='id identifier rubyid_mports'>mports</span><span class='comma'>,</span> <span class='id identifier rubyid__mservs'>_mservs</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="../Modules.html" title="Msf::Modules (module)">Modules</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Modules/Metadata.html" title="Msf::Modules::Metadata (module)">Metadata</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Modules/Metadata/Cache.html" title="Msf::Modules::Metadata::Cache (class)">Cache</a></span></span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_all_exploit_maps'>all_exploit_maps</span>
<span class='comment'># the map build above is a little expensive, another option is to do
</span> <span class='comment'># a host by ref search for each vuln ref and then check port reported for each module
</span> <span class='comment'># IMHO this front loaded cost here is worth it with only a small number of modules
</span> <span class='comment'># compared to the vast number of possible references offered by a Vulnerability scanner.
</span> <span class='id identifier rubyid_deferred_service_ports'>deferred_service_ports</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='int'>139</span> <span class='rbracket'>]</span> <span class='comment'># I hate special cases, however 139 is no longer a preferred default
</span>
<span class='kw'>if</span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Rex/Parser.html" title="Rex::Parser (module)">Parser</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Rex/Parser/ParsedResult.html" title="Rex::Parser::ParsedResult (class)">ParsedResult</a></span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_new_host_ids'>new_host_ids</span> <span class='op'>=</span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_host_ids'>host_ids</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_new_host_ids'>new_host_ids</span> <span class='op'>=</span> <span class='const'>Mdm</span><span class='op'>::</span><span class='const'>Host</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>workspace:</span> <span class='id identifier rubyid_wspace'>wspace</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:id</span><span class='rparen'>)</span> <span class='op'>-</span> <span class='id identifier rubyid_existing_host_ids'>existing_host_ids</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_new_host_ids'>new_host_ids</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_id'>id</span><span class='op'>|</span>
<span class='id identifier rubyid_imported_host'>imported_host</span> <span class='op'>=</span> <span class='const'>Mdm</span><span class='op'>::</span><span class='const'>Host</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>id:</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_imported_host'>imported_host</span><span class='period'>.</span><span class='id identifier rubyid_vulns'>vulns</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_imported_host'>imported_host</span><span class='period'>.</span><span class='id identifier rubyid_vulns'>vulns</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
<span class='comment'># get all vulns with ports
</span> <span class='id identifier rubyid_with_ports'>with_ports</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_imported_host'>imported_host</span><span class='period'>.</span><span class='id identifier rubyid_vulns'>vulns</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_vuln'>vuln</span><span class='op'>|</span>
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_vuln'>vuln</span><span class='period'>.</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
<span class='id identifier rubyid_with_ports'>with_ports</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_vuln'>vuln</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_imported_host'>imported_host</span><span class='period'>.</span><span class='id identifier rubyid_vulns'>vulns</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_vuln'>vuln</span><span class='op'>|</span>
<span class='comment'># now get default ports for vulns where service is nil
</span> <span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_vuln'>vuln</span><span class='period'>.</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_with_ports'>with_ports</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_vuln'>vuln</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
<span class='id identifier rubyid_serv'>serv</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='comment'># Module names that match this vulnerability
</span> <span class='id identifier rubyid_matched_vulns'>matched_vulns</span> <span class='op'>=</span> <span class='const'>Set</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_mrefs'>mrefs</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_vuln'>vuln</span><span class='period'>.</span><span class='id identifier rubyid_refs'>refs</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_matched_vulns'>matched_vulns</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
<span class='id identifier rubyid_second_pass_services'>second_pass_services</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_imported_host'>imported_host</span><span class='period'>.</span><span class='id identifier rubyid_services'>services</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_service'>service</span><span class='op'>|</span>
<span class='kw'>if</span> <span class='id identifier rubyid_deferred_service_ports'>deferred_service_ports</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='rparen'>)</span>
<span class='id identifier rubyid_second_pass_services'>second_pass_services</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_service'>service</span>
<span class='kw'>next</span>
<span class='kw'>end</span>
<span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_mports'>mports</span><span class='lbracket'>[</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='rbracket'>]</span>
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_matched_vulns'>matched_vulns</span> <span class='op'>-</span> <span class='id identifier rubyid_mports'>mports</span><span class='lbracket'>[</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_matched_vulns'>matched_vulns</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span>
<span class='id identifier rubyid_serv'>serv</span> <span class='op'>=</span> <span class='id identifier rubyid_service'>service</span>
<span class='kw'>break</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='comment'># post process any deferred services if no match has been found
</span> <span class='kw'>if</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_second_pass_services'>second_pass_services</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
<span class='id identifier rubyid_second_pass_services'>second_pass_services</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_service'>service</span><span class='op'>|</span>
<span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_mports'>mports</span><span class='lbracket'>[</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='rbracket'>]</span>
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_matched_vulns'>matched_vulns</span> <span class='op'>-</span> <span class='id identifier rubyid_mports'>mports</span><span class='lbracket'>[</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_matched_vulns'>matched_vulns</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span>
<span class='id identifier rubyid_serv'>serv</span> <span class='op'>=</span> <span class='id identifier rubyid_service'>service</span>
<span class='kw'>break</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
<span class='id identifier rubyid_vuln'>vuln</span><span class='period'>.</span><span class='id identifier rubyid_service'>service</span> <span class='op'>=</span> <span class='id identifier rubyid_serv'>serv</span>
<span class='id identifier rubyid_vuln'>vuln</span><span class='period'>.</span><span class='id identifier rubyid_save'>save</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>if</span> <span class='id identifier rubyid_preserve_hosts'>preserve_hosts</span> <span class='op'>||</span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Rex/Parser.html" title="Rex::Parser (module)">Parser</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Rex/Parser/ParsedResult.html" title="Rex::Parser::ParsedResult (class)">ParsedResult</a></span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_new_host_ids'>new_host_ids</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_id'>id</span><span class='op'>|</span>
<span class='const'>Mdm</span><span class='op'>::</span><span class='const'>Host</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>id:</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='period'>.</span><span class='id identifier rubyid_normalize_os'>normalize_os</span>
<span class='kw'>end</span>
<span class='kw'>else</span>
<span class='const'>Mdm</span><span class='op'>::</span><span class='const'>Host</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>workspace:</span> <span class='id identifier rubyid_wspace'>wspace</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:normalize_os</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_wspace'>wspace</span><span class='period'>.</span><span class='id identifier rubyid_update_attribute'>update_attribute</span><span class='lparen'>(</span><span class='symbol'>:import_fingerprint</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="import_file-instance_method">
#<strong>import_file</strong>(args = {}, &amp;block) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Generic importer that automatically determines the file type being imported. Since this looks for vendor-specific strings in the given file, there shouldnt be any false detections, but no guarantees.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
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</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 182</span>
<span class='kw'>def</span> <span class='id identifier rubyid_import_file'>import_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='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</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='op'>||</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>filename</span><span class='tstring_end'>&#39;</span></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='ivar'>@import_filedata</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_filename'>filename</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</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'>&#39;</span><span class='tstring_content'>rb</span><span class='tstring_end'>&#39;</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='comment'># This check is the largest (byte-wise) that we need to do
</span> <span class='comment'># since the other 4-byte checks will be subsets of this larger one.
</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='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'>Credential</span><span class='op'>::</span><span class='const'>Exporter</span><span class='op'>::</span><span class='const'>Pwdump</span><span class='op'>::</span><span class='const'>FILE_ID_STRING</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
<span class='id identifier rubyid_raise'>raise</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="../DBImportError.html" title="Msf::DBImportError (class)">DBImportError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Zero-length file</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'>Credential</span><span class='op'>::</span><span class='const'>Exporter</span><span class='op'>::</span><span class='const'>Pwdump</span><span class='op'>::</span><span class='const'>FILE_ID_STRING</span><span class='rparen'>)</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</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'>&#39;</span><span class='tstring_content'>rb</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='kw'>case</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>4</span><span class='rbracket'>]</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>PK\x03\x04</span><span class='tstring_end'>&quot;</span></span>
<span class='comment'># When Msf::DBManager::Import::MetasploitFramework is included, it&#39;s child namespace of
</span> <span class='comment'># Msf::DBManager::Import::MetasploitFramework::Zip becomes resolvable as Zip here, so need to use ::Zip so Zip
</span> <span class='comment'># is resolved as one from rubyzip gem.
</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Zip</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='rparen'>)</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\xd4\xc3\xb2\xa1</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_force_encoding'>force_encoding</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>ASCII-8BIT</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\xa1\xb2\xc3\xd4</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_force_encoding'>force_encoding</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>ASCII-8BIT</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'>PacketFu</span><span class='op'>::</span><span class='const'>PcapFile</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:filename</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span>
<span class='kw'>else</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'>&#39;</span><span class='tstring_content'>rb</span><span class='tstring_end'>&#39;</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_sz'>sz</span> <span class='op'>=</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='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_sz'>sz</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='comment'># Override REXML&#39;s expansion text limit to 50k (default: 10240 bytes)
</span> <span class='const'>REXML</span><span class='op'>::</span><span class='const'>Security</span><span class='period'>.</span><span class='id identifier rubyid_entity_expansion_text_limit'>entity_expansion_text_limit</span> <span class='op'>=</span> <span class='int'>51200</span>
<span class='comment'># this code looks to intentionally convert workspace to a string, why?
</span> <span class='id identifier rubyid_opts'>opts</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_opts'>opts</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='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
<span class='id identifier rubyid_import'>import</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>workspace:</span> <span class='id identifier rubyid_wspace'>wspace</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span><span class='id identifier rubyid_data'>data</span><span class='op'>|</span> <span class='kw'>yield</span> <span class='id identifier rubyid_type'>type</span><span class='comma'>,</span><span class='id identifier rubyid_data'>data</span> <span class='rbrace'>}</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_import'>import</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>workspace:</span> <span class='id identifier rubyid_wspace'>wspace</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span><span class='rparen'>)</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_filetype_detect-instance_method">
#<strong>import_filetype_detect</strong>(data) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns one of the following:</p>
<p>:acunetix_xml :amap_log :amap_mlog :appscan_xml :burp_session_xml :ci_xml :foundstone_xml :fusionvm_xml :gpp_xml :ip360_aspl_xml :ip360_xml_v3 :ip_list :libpcap :mbsa_xml :msf_cred_dump_zip :msf_pwdump :msf_xml :msf_zip :nessus_nbe :nessus_xml :nessus_xml_v2 :netsparker_xml :nexpose_rawxml :nexpose_simplexml :nikto_xml :nmap_xml :openvas_new_xml :openvas_xml :outpost24_xml :qualys_asset_xml :qualys_scan_xml :retina_xml :spiceworks_csv :wapiti_xml</p>
<p>If there is no match, an error is raised instead.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt><span class='object_link'><a href="../DBImportError.html" title="Msf::DBImportError (class)">Msf::DBImportError</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>if the type cant be detected</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 270</span>
<span class='kw'>def</span> <span class='id identifier rubyid_import_filetype_detect'>import_filetype_detect</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='comment'># When Msf::DBManager::Import::MetasploitFramework is included, it&#39;s child namespace of
</span> <span class='comment'># Msf::DBManager::Import::MetasploitFramework::Zip becomes resolvable as Zip here, so need to use ::Zip so Zip
</span> <span class='comment'># is resolved as one from rubyzip gem.
</span> <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span> <span class='kw'>and</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='op'>::</span><span class='const'>Zip</span><span class='op'>::</span><span class='const'>File</span>
<span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_entries'>entries</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
<span class='id identifier rubyid_raise'>raise</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="../DBImportError.html" title="Msf::DBImportError (class)">DBImportError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>The zip file provided is empty.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='ivar'>@import_filedata</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:zip_filename</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:zip_basename</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:zip_filename</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\.zip$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:zip_entry_names</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_entries'>entries</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span>
<span class='kw'>if</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:zip_entry_names</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'>Credential</span><span class='op'>::</span><span class='const'>Importer</span><span class='op'>::</span><span class='const'>Zip</span><span class='op'>::</span><span class='const'>MANIFEST_FILE_NAME</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Metasploit Credential Dump</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:msf_cred_dump_zip</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_xml_files'>xml_files</span> <span class='op'>=</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:zip_entry_names</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^(.*)\.xml$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
<span class='comment'># TODO This check for our zip export should be more extensive
</span> <span class='kw'>if</span> <span class='id identifier rubyid_xml_files'>xml_files</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
<span class='id identifier rubyid_raise'>raise</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="../DBImportError.html" title="Msf::DBImportError (class)">DBImportError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>The zip file provided is not a Metasploit Zip Export</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:zip_xml</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_xml_files'>xml_files</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Metasploit Zip Export</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:msf_zip</span>
<span class='kw'>end</span>
<span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span> <span class='kw'>and</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'>PacketFu</span><span class='op'>::</span><span class='const'>PcapFile</span>
<span class='comment'># Don&#39;t check for emptiness here because unlike other formats, we
</span> <span class='comment'># haven&#39;t read any actual data in yet, only magic bytes to discover
</span> <span class='comment'># that this is indeed a pcap file.
</span> <span class='comment'>#raise Msf::DBImportError.new(&quot;The pcap file provided is empty.&quot;) if data.body.empty?
</span> <span class='ivar'>@import_filedata</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Libpcap Packet Capture</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:libpcap</span>
<span class='kw'>end</span>
<span class='comment'># msfpwdump
</span> <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Metasploit PWDump Export</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:msf_pwdump</span>
<span class='kw'>end</span>
<span class='comment'># This is a text string, lets make sure its treated as binary
</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_force_encoding'>force_encoding</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Encoding</span><span class='op'>::</span><span class='const'>ASCII_8BIT</span><span class='rparen'>)</span>
<span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span> <span class='kw'>and</span> <span class='id identifier rubyid_data'>data</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='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span>
<span class='id identifier rubyid_raise'>raise</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="../DBImportError.html" title="Msf::DBImportError (class)">DBImportError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>The data provided to the import function was empty</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='comment'># Parse the first line or 4k of data from the file
</span> <span class='id identifier rubyid_di'>di</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='int'>4096</span>
<span class='id identifier rubyid_firstline'>firstline</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_di'>di</span><span class='rbracket'>]</span>
<span class='ivar'>@import_filedata</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;NeXposeSimpleXML</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>NeXpose Simple XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:nexpose_simplexml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;FusionVM</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>FusionVM XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:fusionvm_xml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;NexposeReport</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>NeXpose XML Report</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:nexpose_rawxml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Name,Manufacturer,Device Type,Model,IP Address,Serial Number,Location,Operating System</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Spiceworks CSV Export</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:spiceworks_csv</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;scanJob&gt;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Retina XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:retina_xml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>&lt;get_results_response status=[&#39;&quot;]200[&#39;&quot;] status_text=[&#39;&quot;]OK[&#39;&quot;]&gt;</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>OpenVAS XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:openvas_new_xml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>&lt;get_reports_response status=[&#39;&quot;]200[&#39;&quot;] status_text=[&#39;&quot;]OK[&#39;&quot;]&gt;</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>OpenVAS XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:openvas_new_xml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>&lt;report id=[&#39;&quot;]</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>OpenVAS XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:openvas_new_xml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;NessusClientData&gt;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nessus XML (v1)</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:nessus_xml</span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_starts_with?'>starts_with?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>{&quot;template&quot;:</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nuclei JSONL</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:nuclei_jsonl</span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_starts_with?'>starts_with?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>[{&quot;template&quot;:</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nuclei JSON</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:nuclei_json</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;SecScan ID=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Microsoft Baseline Security Analyzer</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:mbsa_xml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1024</span><span class='rbracket'>]</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>&lt;!ATTLIST\s+items\s+burpVersion</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Burp Session XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:burp_session_xml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1024</span><span class='rbracket'>]</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>&lt;!ATTLIST\s+issues\s+burpVersion</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Burp Issue XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:burp_issue_xml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;?xml</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='comment'># it&#39;s xml, check for root tags we can handle
</span> <span class='id identifier rubyid_line_count'>line_count</span> <span class='op'>=</span> <span class='int'>0</span>
<span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_each_line'>each_line</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_line'>line</span><span class='op'>|</span>
<span class='id identifier rubyid_line'>line</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>&lt;([a-zA-Z0-9\-\_]+)[ &gt;]</span><span class='regexp_end'>/</span></span>
<span class='kw'>case</span> <span class='backref'>$1</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>niktoscan</span><span class='tstring_end'>&quot;</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nikto XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:nikto_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>nmaprun</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>if</span> <span class='id identifier rubyid_line'>line</span><span class='period'>.</span><span class='id identifier rubyid_start_with?'>start_with?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>&lt;nmaprun scanner=&quot;masscan&quot;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Masscan XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>else</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nmap XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>end</span>
<span class='kw'>return</span> <span class='symbol'>:nmap_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>openvas-report</span><span class='tstring_end'>&quot;</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>OpenVAS</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:openvas_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>NessusClientData</span><span class='tstring_end'>&quot;</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nessus XML (v1)</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:nessus_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>NessusClientData_v2</span><span class='tstring_end'>&quot;</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nessus XML (v2)</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:nessus_xml_v2</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>SCAN</span><span class='tstring_end'>&quot;</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Qualys Scan XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:qualys_scan_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>report</span><span class='tstring_end'>&quot;</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Wapiti XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:wapiti_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ASSET_DATA_REPORT</span><span class='tstring_end'>&quot;</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Qualys Asset XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:qualys_asset_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>MetasploitExpressV[1234]</span><span class='regexp_end'>/</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Metasploit XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:msf_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>MetasploitV4</span><span class='regexp_end'>/</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Metasploit XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:msf_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>MetasploitV5</span><span class='regexp_end'>/</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Metasploit XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:msf_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>netsparker</span><span class='regexp_end'>/</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>NetSparker XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:netsparker_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>audits?</span><span class='regexp_end'>/</span></span> <span class='comment'># &lt;audit&gt; and &lt;audits&gt; are both valid for nCircle. wtfmate.
</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>IP360 XML v3</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:ip360_xml_v3</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>ontology</span><span class='regexp_end'>/</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>IP360 ASPL</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:ip360_aspl_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>ReportInfo</span><span class='regexp_end'>/</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Foundstone</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:foundstone_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>scanJob</span><span class='regexp_end'>/</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Retina XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:retina_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>ScanGroup</span><span class='regexp_end'>/</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Acunetix</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:acunetix_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>AppScanInfo</span><span class='regexp_end'>/</span></span> <span class='comment'># Actually the second line
</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Appscan</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:appscan_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entities</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>if</span> <span class='id identifier rubyid_line'>line</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>creator.*\x43\x4f\x52\x45\x20\x49\x4d\x50\x41\x43\x54</span><span class='regexp_end'>/ni</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>CI</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:ci_xml</span>
<span class='kw'>end</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>main</span><span class='tstring_end'>&quot;</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Outpost24 XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:outpost24_xml</span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>Groups|DataSources|Drives|ScheduledTasks|NTServices</span><span class='regexp_end'>/</span></span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Group Policy Preferences Credentials</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:gpp_xml</span>
<span class='kw'>else</span>
<span class='comment'># Give up if we haven&#39;t hit the root tag in the first few lines
</span> <span class='kw'>break</span> <span class='kw'>if</span> <span class='id identifier rubyid_line_count'>line_count</span> <span class='op'>&gt;</span> <span class='int'>10</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_line_count'>line_count</span> <span class='op'>+=</span> <span class='int'>1</span>
<span class='rbrace'>}</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>timestamps|||scan_start</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nessus NBE Report</span><span class='tstring_end'>&quot;</span></span>
<span class='comment'># then it&#39;s a nessus nbe
</span> <span class='kw'>return</span> <span class='symbol'>:nessus_nbe</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'># amap v</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='comment'># then it&#39;s an amap mlog
</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Amap Log -m</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:amap_mlog</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>amap v</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='comment'># then it&#39;s an amap log
</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Amap Log</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:amap_log</span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_ipv46_validator'>ipv46_validator</span><span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='rparen'>)</span>
<span class='comment'># then its an IP list
</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>IP Address List</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:ip_list</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1024</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;netsparker</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>NetSparker XML</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:netsparker_xml</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_firstline'>firstline</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'># Metasploit PWDump Export</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='comment'># then it&#39;s a Metasploit PWDump export
</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Metasploit PWDump Export</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>return</span> <span class='symbol'>:msf_pwdump</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_raise'>raise</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="../DBImportError.html" title="Msf::DBImportError (class)">DBImportError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Could not automatically determine file type</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_assign_timestamps-instance_method">
#<strong>msf_assign_timestamps</strong>(opts, obj) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Assigns created_at and updated_at time stamps to an object.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
537
538
539
540
541
542</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 537</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_assign_timestamps'>msf_assign_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
<span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_created_at'>created_at</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>created_at</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>created_at</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
<span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_created_at'>created_at</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:created_at</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:created_at</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_updated_at'>updated_at</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>updated_at</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>updated_at</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
<span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_updated_at'>updated_at</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_artifact-instance_method">
#<strong>msf_import_artifact</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
531
532
533
534</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 531</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_artifact'>msf_import_artifact</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_artifact'>report_artifact</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_host-instance_method">
#<strong>msf_import_host</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
496
497
498
499</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 496</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_host'>msf_import_host</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_host'>report_host</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_loot-instance_method">
#<strong>msf_import_loot</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
511
512
513
514</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 511</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_loot'>msf_import_loot</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_loot'>report_loot</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_note-instance_method">
#<strong>msf_import_note</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
491
492
493
494</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 491</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_note'>msf_import_note</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_note'>report_note</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_service-instance_method">
#<strong>msf_import_service</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
481
482
483
484</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 481</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_service'>msf_import_service</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_service'>report_service</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_task-instance_method">
#<strong>msf_import_task</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
501
502
503
504</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 501</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_task'>msf_import_task</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_task'>report_task</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_user-instance_method">
#<strong>msf_import_user</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
506
507
508
509</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 506</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_user'>msf_import_user</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_user'>report_user</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_vuln-instance_method">
#<strong>msf_import_vuln</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
486
487
488
489</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 486</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_vuln'>msf_import_vuln</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_vuln'>report_vuln</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_web_page-instance_method">
#<strong>msf_import_web_page</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
521
522
523
524</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 521</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_web_page'>msf_import_web_page</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_web_page'>report_web_page</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_web_site-instance_method">
#<strong>msf_import_web_site</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
516
517
518
519</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 516</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_web_site'>msf_import_web_site</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_web_site'>report_web_site</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_import_web_vuln-instance_method">
#<strong>msf_import_web_vuln</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
526
527
528
529</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 526</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_import_web_vuln'>msf_import_web_vuln</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_web_vuln'>report_web_vuln</span><span class='lparen'>(</span><span class='id identifier rubyid_normalised_import_timestamp_opts'>normalised_import_timestamp_opts</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="msf_normalise_import_timestamps-instance_method">
#<strong>msf_normalise_import_timestamps</strong>(opts) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Handles timestamps from Metasploit Express/Pro imports.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
545
546
547
548
549</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 545</span>
<span class='kw'>def</span> <span class='id identifier rubyid_msf_normalise_import_timestamps'>msf_normalise_import_timestamps</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
<span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:created_at</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>created_at</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='op'>::</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span><span class='rparen'>)</span>
<span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>updated_at</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:created_at</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='id identifier rubyid_opts'>opts</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="report_import_note-instance_method">
#<strong>report_import_note</strong>(wspace, addr) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
551
552
553
554
555
556
557
558
559
560</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 551</span>
<span class='kw'>def</span> <span class='id identifier rubyid_report_import_note'>report_import_note</span><span class='lparen'>(</span><span class='id identifier rubyid_wspace'>wspace</span><span class='comma'>,</span><span class='id identifier rubyid_addr'>addr</span><span class='rparen'>)</span>
<span class='kw'>if</span> <span class='ivar'>@import_filedata</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span> <span class='op'>&amp;&amp;</span> <span class='ivar'>@import_filedata</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>msfe-nmap[0-9]{8}</span><span class='regexp_end'>/</span></span>
<span class='id identifier rubyid_msf_import_note'>msf_import_note</span><span class='lparen'>(</span>
<span class='symbol'>:workspace</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_wspace'>wspace</span><span class='comma'>,</span>
<span class='symbol'>:host</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_addr'>addr</span><span class='comma'>,</span>
<span class='symbol'>:type</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>host.imported</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='symbol'>:data</span> <span class='op'>=&gt;</span> <span class='ivar'>@import_filedata</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='symbol'>:time</span><span class='op'>=&gt;</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span><span class='rparen'>)</span>
<span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="rexmlify-instance_method">
#<strong>rexmlify</strong>(data) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns a REXML::Document from the given data.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
563
564
565
566
567
568
569
570
571
572
573
574
575
576</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 563</span>
<span class='kw'>def</span> <span class='id identifier rubyid_rexmlify'>rexmlify</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>REXML</span><span class='op'>::</span><span class='const'>Document</span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='id identifier rubyid_data'>data</span>
<span class='kw'>else</span>
<span class='comment'># Make an attempt to recover from a REXML import fail, since
</span> <span class='comment'># it&#39;s better than dying outright.
</span> <span class='kw'>begin</span>
<span class='kw'>return</span> <span class='const'>REXML</span><span class='op'>::</span><span class='const'>Document</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='kw'>rescue</span> <span class='const'>REXML</span><span class='op'>::</span><span class='const'>ParseException</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
<span class='id identifier rubyid_dlog'><span class='object_link'><a href="../../top-level-namespace.html#dlog-instance_method" title="#dlog (method)">dlog</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>REXML error: Badly formatted XML, attempting to recover. Error was: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='const'>REXML</span><span class='op'>::</span><span class='const'>Document</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>([\x00-\x08\x0b\x0c\x0e-\x1f\x80-\xff])</span><span class='regexp_end'>/n</span></span><span class='rparen'>)</span><span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\\x%.2x</span><span class='tstring_end'>&quot;</span></span> <span class='op'>%</span> <span class='id identifier rubyid_x'>x</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C*</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="service_name_map-instance_method">
#<strong>service_name_map</strong>(proto) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>This method normalizes an incoming service name to one of the the standard ones recognized by metasploit</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 582</span>
<span class='kw'>def</span> <span class='id identifier rubyid_service_name_map'>service_name_map</span><span class='lparen'>(</span><span class='id identifier rubyid_proto'>proto</span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='id identifier rubyid_proto'>proto</span> <span class='kw'>unless</span> <span class='id identifier rubyid_proto'>proto</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'>String</span>
<span class='kw'>case</span> <span class='id identifier rubyid_proto'>proto</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>msrpc</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>nfs-or-iis</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dce endpoint resolution</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dcerpc</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ms-sql-s</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>tds</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>mssql</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ms-sql-m</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>microsoft sql monitor</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>mssql-m</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>postgresql</span><span class='tstring_end'>&quot;</span></span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>postgres</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>http-proxy</span><span class='tstring_end'>&quot;</span></span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>http</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>iiimsf</span><span class='tstring_end'>&quot;</span></span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>db2</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>oracle-tns</span><span class='tstring_end'>&quot;</span></span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>oracle</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>quickbooksrds</span><span class='tstring_end'>&quot;</span></span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>metasploit</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>microsoft remote display protocol</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>rdp</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>vmware authentication daemon</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>vmauthd</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>netbios-ns</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>cifs name service</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>netbios</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>netbios-ssn</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>microsoft-ds</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>cifs</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>smb</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>remote shell</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>shell</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>remote login</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>login</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>nfs lockd</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>lockd</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>hp jetdirect</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>jetdirect</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dhcp server</span><span class='tstring_end'>&quot;</span></span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dhcp</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^dns-(udp|tcp)$</span><span class='regexp_end'>/</span></span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dns</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>when</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^dce[\s+]rpc$</span><span class='regexp_end'>/</span></span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dcerpc</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>else</span>
<span class='id identifier rubyid_proto'>proto</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*\(.*</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='comment'># &quot;service (some service)&quot;
</span> <span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="validate_import_file-instance_method">
#<strong>validate_import_file</strong>(data) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Boils down the validate_import_file to a boolean</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
622
623
624
625
626
627
628
629</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/db_manager/import.rb', line 622</span>
<span class='kw'>def</span> <span class='id identifier rubyid_validate_import_file'>validate_import_file</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='kw'>begin</span>
<span class='id identifier rubyid_import_filetype_detect'>import_filetype_detect</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='kw'>rescue</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="../DBImportError.html" title="Msf::DBImportError (class)">DBImportError</a></span></span>
<span class='kw'>return</span> <span class='kw'>false</span>
<span class='kw'>end</span>
<span class='kw'>return</span> <span class='kw'>true</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:01:15 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>