Projects STRLCPY Taipan Commits 1fc700af
🤬
Showing first 100 files as there are too many
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/All in one wp security and firewall_Cross-Site Scripting (XSS).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>All in one wp security and firewall_Cross-Site Scripting (XSS)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "72c2bde8-fa52-4ea0-9ad6-64e77c0b4cd6",
    7  - "Application": "All in one wp security and firewall",
    8  - "AffectedVersions": [
    9  - "<=4.2.1"
    10  - ],
    11  - "VulnerabilityName": "Cross-Site Scripting (XSS)",
    12  - "ExternalReferer": "WPVDB-ID-8696",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/CMS Made Simple_Server-Side Template Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>CMS Made Simple_Server-Side Template Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "175c2830-bca9-48e8-b205-469ac5ddb2bb",
    7  - "Application": "CMS Made Simple",
    8  - "AffectedVersions": [
    9  - "<=2.1.6"
    10  - ],
    11  - "VulnerabilityName": "Server-Side Template Injection",
    12  - "ExternalReferer": "CVE-2017-8912",
    13  - "Impact": "High",
    14  - "Note": "the vendor reportedly has stated this is \"a feature, not a bug.\""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/CS-Cart_Remote Code Execution.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>CS-Cart_Remote Code Execution</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "8d4eef5e-b6dc-4e40-9047-6d3ee834b60a",
    7  - "Application": "CS-Cart",
    8  - "AffectedVersions": [
    9  - "<=4.6.2"
    10  - ],
    11  - "VulnerabilityName": "Remote Code Execution",
    12  - "ExternalReferer": "CVE-2017-15673",
    13  - "Impact": "High",
    14  - "Note": "The files function in the administration section in CS-Cart 4.6.2 and earlier allows attackers to execute arbitrary PHP code via vectors involving a custom page."
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Caldera Forms_Multiple Cross-Site Scripting (XSS).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Caldera Forms_Multiple Cross-Site Scripting (XSS)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "0318f906-fd81-42f3-bb24-22534ac35669",
    7  - "Application": "Caldera Forms",
    8  - "AffectedVersions": [
    9  - "<1.6.0"
    10  - ],
    11  - "VulnerabilityName": "Multiple Cross-Site Scripting (XSS)",
    12  - "ExternalReferer": "WPVDB-ID-9069, CVE-2018-7747",
    13  - "Impact": "Medium",
    14  - "Note": "Multiple cross-site scripting vulnerabilities in the Caldera Forms plugin before 1.6.0 for WordPress allow remote attackers to inject arbitrary web script or HTML via vectors involving, a greeting message, the email transaction log or an imported form."
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Drupal_A 3rd party development library including with Drupal 8 development dependencies is vulnerable to remote code execution..xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Drupal_A 3rd party development library including with Drupal 8 development dependencies is vulnerable to remote code execution.</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "828613b2-e2b8-437e-ac13-0f6891f95ceb",
    7  - "Application": "Drupal",
    8  - "AffectedVersions": [
    9  - "8.0.0-8.2.1"
    10  - ],
    11  - "VulnerabilityName": "A 3rd party development library including with Drupal 8 development dependencies is vulnerable to remote code execution.",
    12  - "ExternalReferer": "CVE-2017-6381, DRUPAL-SA-CORE-2017-001",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Drupal_Critical access bypass by authenticated users.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Drupal_Critical access bypass by authenticated users</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "77371eaa-5469-4fcf-a931-d43d7099b194",
    7  - "Application": "Drupal",
    8  - "AffectedVersions": [
    9  - "8.0.0-8.3.0"
    10  - ],
    11  - "VulnerabilityName": "Critical access bypass by authenticated users",
    12  - "ExternalReferer": "CVE-2017-6919, SA-CORE-2017-002",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Drupal_Drupal Core - Critical - Multiple Vulnerabilities.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Drupal_Drupal Core - Critical - Multiple Vulnerabilities</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "51a4d3e9-41e0-44ce-8e99-74141021cf2f",
    7  - "Application": "Drupal",
    8  - "AffectedVersions": [
    9  - "6-8.0.4"
    10  - ],
    11  - "VulnerabilityName": "Drupal Core - Critical - Multiple Vulnerabilities",
    12  - "ExternalReferer": "SA-CORE-2016-001, CVE-2016-3162, CVE-2016-3163, CVE-2016-3164, CVE-2016-3165, CVE-2016-3166, CVE-2016-3167, CVE-2016-3168, CVE-2016-3169, CVE-2016-3170, CVE-2016-3171",
    13  - "Impact": "Critical",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Drupal_PECL YAML parser unsafe object handling.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Drupal_PECL YAML parser unsafe object handling</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "700b4ece-9d63-42a5-b664-cf8754e53881",
    7  - "Application": "Drupal",
    8  - "AffectedVersions": [
    9  - "8.0-8.3.3"
    10  - ],
    11  - "VulnerabilityName": "PECL YAML parser unsafe object handling",
    12  - "ExternalReferer": "CVE-2017-6920, SA-CORE-2017-003",
    13  - "Impact": "Critical",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Drupal_Remote Code Execution - SA-CORE-2018-004.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Drupal_Remote Code Execution - SA-CORE-2018-004</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "46462006-076d-45cf-989e-c71ccb4bd4f2",
    7  - "Application": "Drupal",
    8  - "AffectedVersions": [
    9  - "7.0-7.58",
    10  - "8.5.0-8.5.2",
    11  - "8.4.0-8.4.7"
    12  - ],
    13  - "VulnerabilityName": "Remote Code Execution - SA-CORE-2018-004",
    14  - "ExternalReferer": "SA-CORE-2018-004, CVE-2018-7602",
    15  - "Impact": "Critical",
    16  - "Note": "This vulnerability is being exploited in the wild."
    17  -}]]></Value>
    18  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Drupal_Remote Code Execution.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Drupal_Remote Code Execution</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "1685355a-3b77-4fa5-a5ad-80b37bc08148",
    7  - "Application": "Drupal",
    8  - "AffectedVersions": [
    9  - "<7.58",
    10  - "8.0-8.5.0"
    11  - ],
    12  - "VulnerabilityName": "Remote Code Execution",
    13  - "ExternalReferer": "SA-CORE-2018-002, CVE-2018-7600",
    14  - "Impact": "Critical",
    15  - "Note": "A remote code execution vulnerability exists within multiple subsystems of Drupal 7.x and 8.x. This potentially allows attackers to exploit multiple attack vectors on a Drupal site, which could result in the site being completely compromised."
    16  -}]]></Value>
    17  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Drupal_SQL injection vulnerability in the SQL comment filtering system in the Database API.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Drupal_SQL injection vulnerability in the SQL comment filtering system in the Database API</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "351ce74b-1ae9-4572-8f83-8327f177ebf9",
    7  - "Application": "Drupal",
    8  - "AffectedVersions": [
    9  - "<=7.38"
    10  - ],
    11  - "VulnerabilityName": "SQL injection vulnerability in the SQL comment filtering system in the Database API",
    12  - "ExternalReferer": "SA-CORE-2015-003, CVE-2015-6659",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Duplicator_Stored Cross-Site Scripting.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Duplicator_Stored Cross-Site Scripting</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "26cace55-fd48-4e18-9ddd-1739e010cf89",
    7  - "Application": "Duplicator",
    8  - "AffectedVersions": [
    9  - "<=1.2.28"
    10  - ],
    11  - "VulnerabilityName": "Stored Cross-Site Scripting",
    12  - "ExternalReferer": "WPVDB-ID-8959, CVE-2017-16815",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Form Builder_SQL Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Form Builder_SQL Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "77d54f4a-15b8-40e3-a959-b7ea8a60a5ce",
    7  - "Application": "Form Builder",
    8  - "AffectedVersions": [
    9  - "<=1.3.6"
    10  - ],
    11  - "VulnerabilityName": "SQL Injection",
    12  - "ExternalReferer": "WPVDB-ID-8935, CVE-2017-15919",
    13  - "Impact": "Critical",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Form Maker_CSV Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Form Maker_CSV Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "3f686292-4ecb-4072-b198-eda738e5a69e",
    7  - "Application": "Form Maker",
    8  - "AffectedVersions": [
    9  - "<=1.12.20"
    10  - ],
    11  - "VulnerabilityName": "CSV Injection",
    12  - "ExternalReferer": "WPVDB-ID-9078, CVE-2018-10504",
    13  - "Impact": "High",
    14  - "Note": "Exploit: https://0day.today/exploit/30274"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Instagram Feed_Authenticated Cross-Site Scripting (XSS) &amp; CSRF.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Instagram Feed_Authenticated Cross-Site Scripting (XSS) &amp;amp; CSRF</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "1098dc58-0162-469f-b51e-e446468c60f3",
    7  - "Application": "Instagram Feed",
    8  - "AffectedVersions": [
    9  - "<1.4.7"
    10  - ],
    11  - "VulnerabilityName": "Authenticated Cross-Site Scripting (XSS) &amp;amp; CSRF",
    12  - "ExternalReferer": "WPVDB-ID-8674",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_Account Creation Privilege Escalation.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_Account Creation Privilege Escalation</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "421f36c1-ce5a-4913-b048-de145cd50698",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "3.6.3"
    10  - ],
    11  - "VulnerabilityName": "Account Creation / Privilege Escalation",
    12  - "ExternalReferer": "CVE-2016-8870",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_Core - Account Modifications.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_Core - Account Modifications</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "0bb150c9-682f-43da-8286-094202665333",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "3.4.4-3.6.3"
    10  - ],
    11  - "VulnerabilityName": "Core - Account Modifications",
    12  - "ExternalReferer": "CVE-2016-9081",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_Core - Remote Code Execution Vulnerability.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_Core - Remote Code Execution Vulnerability</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "16351f43-a419-4c22-a02c-6549d432bdaa",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "1.5.1-3.4.5"
    10  - ],
    11  - "VulnerabilityName": "Core - Remote Code Execution Vulnerability",
    12  - "ExternalReferer": "CVE-2015-8562",
    13  - "Impact": "Critical",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_Directory traversal vulnerability in Joomla! 3.4.x before 3.4.6.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_Directory traversal vulnerability in Joomla! 3.4.x before 3.4.6</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "a7ba26b0-2a8f-48d4-a704-a3db5cee339f",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "3.4.0-3.4.5"
    10  - ],
    11  - "VulnerabilityName": "Directory traversal vulnerability in Joomla! 3.4.x before 3.4.6",
    12  - "ExternalReferer": "CVE-2015-8564",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_JFilterInputisFileSafe() arbitrary file upload.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_JFilterInputisFileSafe() arbitrary file upload</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "c085a1f3-65d7-4015-b8c8-1de0727bf543",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "3.6.4"
    10  - ],
    11  - "VulnerabilityName": "JFilterInput::isFileSafe() arbitrary file upload",
    12  - "ExternalReferer": "CVE-2016-9836",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_Joomla Account Creation and Privilege Escalation.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_Joomla Account Creation and Privilege Escalation</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "febba428-d8fb-4f79-904c-97ecd64f4760",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "3.6.3"
    10  - ],
    11  - "VulnerabilityName": "Joomla Account Creation and Privilege Escalation",
    12  - "ExternalReferer": "CVE-2016-8869",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_LDAP Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_LDAP Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "8eda6a92-91d2-4660-a07c-ec15537bdf61",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "1.5-3.7.5"
    10  - ],
    11  - "VulnerabilityName": "LDAP Injection",
    12  - "ExternalReferer": "CVE-2017-14596",
    13  - "Impact": "Critical",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_SQL injection vulnerability in Joomla! 3.x before 3.4.7.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_SQL injection vulnerability in Joomla! 3.x before 3.4.7</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "11ad3fc4-0b72-4326-ad42-e403a623829c",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "3.0.0-3.4.6"
    10  - ],
    11  - "VulnerabilityName": "SQL injection vulnerability in Joomla! 3.x before 3.4.7",
    12  - "ExternalReferer": "CVE-2015-8769",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_SQL injection vulnerability.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_SQL injection vulnerability</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "45404994-7592-45e3-8532-04d3ee111eef",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "3.7.0"
    10  - ],
    11  - "VulnerabilityName": "SQL injection vulnerability",
    12  - "ExternalReferer": "CVE-2017-8917",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Joomla_Second Order SQL Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Joomla_Second Order SQL Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "72fd9b4a-1d21-4275-9a41-565e0458d492",
    7  - "Application": "Joomla",
    8  - "AffectedVersions": [
    9  - "3.7.0-3.8.3"
    10  - ],
    11  - "VulnerabilityName": "Second Order SQL Injection",
    12  - "ExternalReferer": "CVE-2018-6376",
    13  - "Impact": "Critical",
    14  - "Note": "An attacker exploiting this vulnerability can read arbitrary data from the database. This data can be used to further extend the permissions of the attacker and gaining full administrative privileges."
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Loginizer_Unauthenticated Stored Cross-Site Scripting.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Loginizer_Unauthenticated Stored Cross-Site Scripting</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "13bad52a-0909-4fbd-9c8c-2519bba38f2a",
    7  - "Application": "Loginizer",
    8  - "AffectedVersions": [
    9  - "1.3.8-1.3.9"
    10  - ],
    11  - "VulnerabilityName": "Unauthenticated Stored Cross-Site Scripting",
    12  - "ExternalReferer": "WPVDB-ID-9088, CVE-2018-11366",
    13  - "Impact": "High",
    14  - "Note": "init.php in the Loginizer plugin 1.3.8 through 1.3.9 for WordPress has Unauthenticated Stored Cross-Site Scripting (XSS) because logging is mishandled. This is fixed in 1.4.0."
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Magento_Arbitrary File Delete.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Magento_Arbitrary File Delete</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "5961b524-588d-4277-a03d-002b75202223",
    7  - "Application": "Magento",
    8  - "AffectedVersions": [
    9  - "2.0-2.0.15",
    10  - "2.1-2.1.8"
    11  - ],
    12  - "VulnerabilityName": "Arbitrary File Delete",
    13  - "ExternalReferer": "APPSEC-1850",
    14  - "Impact": "High",
    15  - "Note": ""
    16  -}]]></Value>
    17  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Magento_Arbitrary File Disclose.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Magento_Arbitrary File Disclose</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "d7f16154-25e0-4588-8c38-7400cdf6ccb1",
    7  - "Application": "Magento",
    8  - "AffectedVersions": [
    9  - "2.0-2.0.15",
    10  - "2.1-2.1.8"
    11  - ],
    12  - "VulnerabilityName": "Arbitrary File Disclose",
    13  - "ExternalReferer": "APPSEC-1887",
    14  - "Impact": "High",
    15  - "Note": ""
    16  -}]]></Value>
    17  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Magento_Arbitrary file delete + Lack of input sanitization leading to Remote Code Execution.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Magento_Arbitrary file delete + Lack of input sanitization leading to Remote Code Execution</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "88a99da9-bd67-4acf-b422-9599f60dc7d8",
    7  - "Application": "Magento",
    8  - "AffectedVersions": [
    9  - "2.0-2.0.15",
    10  - "2.1-2.1.8"
    11  - ],
    12  - "VulnerabilityName": "Arbitrary file delete + Lack of input sanitization leading to Remote Code Execution",
    13  - "ExternalReferer": "High",
    14  - "Impact": "High",
    15  - "Note": ""
    16  -}]]></Value>
    17  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Magento_Order history disclosure.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Magento_Order history disclosure</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "e19a1e22-4532-49b2-b956-5b6a8e549017",
    7  - "Application": "Magento",
    8  - "AffectedVersions": [
    9  - "2.0-2.0.15",
    10  - "2.1-2.1.8"
    11  - ],
    12  - "VulnerabilityName": "Order history disclosure",
    13  - "ExternalReferer": "APPSEC-1567",
    14  - "Impact": "Medium",
    15  - "Note": ""
    16  -}]]></Value>
    17  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Magento_Remote Code Execution vulnerability in CMS and layouts.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Magento_Remote Code Execution vulnerability in CMS and layouts</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "fb1cfd89-2040-4e9c-96c3-516480cf886d",
    7  - "Application": "Magento",
    8  - "AffectedVersions": [
    9  - "<1.9.3.6",
    10  - "2.0-2.0.15"
    11  - ],
    12  - "VulnerabilityName": "Remote Code Execution vulnerability in CMS and layouts",
    13  - "ExternalReferer": "APPSEC-1800",
    14  - "Impact": "Critical",
    15  - "Note": ""
    16  -}]]></Value>
    17  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Magento_Security Issue with referrer.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Magento_Security Issue with referrer</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "2ae9df91-411c-4055-89cf-66b3fd66a879",
    7  - "Application": "Magento",
    8  - "AffectedVersions": [
    9  - "2.0-2.0.15",
    10  - "2.1-2.1.8"
    11  - ],
    12  - "VulnerabilityName": "Security Issue with referrer",
    13  - "ExternalReferer": "APPSEC-1482",
    14  - "Impact": "Medium",
    15  - "Note": ""
    16  -}]]></Value>
    17  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Magento_Setup pages expose sensitive data.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Magento_Setup pages expose sensitive data</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "ff2d9124-d533-4254-8664-2b9461e672ce",
    7  - "Application": "Magento",
    8  - "AffectedVersions": [
    9  - "2.0-2.0.15",
    10  - "2.1-2.1.8"
    11  - ],
    12  - "VulnerabilityName": "Setup pages expose sensitive data",
    13  - "ExternalReferer": "APPSEC-1713",
    14  - "Impact": "Medium",
    15  - "Note": ""
    16  -}]]></Value>
    17  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/MailChimp for WordPress_Authenticated Cross-Site Scripting (XSS).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>MailChimp for WordPress_Authenticated Cross-Site Scripting (XSS)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "7f14271a-b6be-4901-b636-baa7e8e00cf8",
    7  - "Application": "MailChimp for WordPress",
    8  - "AffectedVersions": [
    9  - "<=4.0.10"
    10  - ],
    11  - "VulnerabilityName": "Authenticated Cross-Site Scripting (XSS)",
    12  - "ExternalReferer": "WPVDB-ID-8695",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/My Calendar_Authenticated Cross-Site Scripting (XSS).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>My Calendar_Authenticated Cross-Site Scripting (XSS)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "b2cb8ca5-e6ee-40ab-abac-eba5d31de283",
    7  - "Application": "My Calendar",
    8  - "AffectedVersions": [
    9  - "<=2.5.16"
    10  - ],
    11  - "VulnerabilityName": "Authenticated Cross-Site Scripting (XSS)",
    12  - "ExternalReferer": "WPVDB-ID-9052",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Olimometer_Unauthenticated SQL Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Olimometer_Unauthenticated SQL Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "69644b08-7bb3-4694-a791-e006083110bc",
    7  - "Application": "Olimometer",
    8  - "AffectedVersions": [
    9  - "<2.57"
    10  - ],
    11  - "VulnerabilityName": "Unauthenticated SQL Injection",
    12  - "ExternalReferer": "WPVDB-ID-8678",
    13  - "Impact": "Critical",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/PhpMyAdmin_XSRFCSRF Vulnerability (PMASA-2017-9) .xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>PhpMyAdmin_XSRF/CSRF Vulnerability (PMASA-2017-9) </Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "b1fa27d5-ebf3-4797-9dce-1815acda4b01",
    7  - "Application": "PhpMyAdmin",
    8  - "AffectedVersions": [
    9  - "<4.7.7"
    10  - ],
    11  - "VulnerabilityName": "XSRF/CSRF Vulnerability (PMASA-2017-9) ",
    12  - "ExternalReferer": "PMASA-2017-9, CVE-2017-1000499",
    13  - "Impact": "Critical",
    14  - "Note": "Exploit link: https://blog.vulnspy.com/2018/06/12/phpMyAdmin-4-7-x-XSRF-CSRF-vulnerability-PMASA-2017-9-exploit/"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Piwik_(saveLayout) PHP Object Injection Vulnerability.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Piwik_(saveLayout) PHP Object Injection Vulnerability</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "599795e2-b42a-46aa-a892-6da3e84f0f78",
    7  - "Application": "Piwik",
    8  - "AffectedVersions": [
    9  - "<=2.16.0"
    10  - ],
    11  - "VulnerabilityName": "(saveLayout) PHP Object Injection Vulnerability",
    12  - "ExternalReferer": "KIS-2016-13",
    13  - "Impact": "Low",
    14  - "Note": "N/A"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Podlove podcasting plugin for wordpress_Multiple SQLi &amp; XSS.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Podlove podcasting plugin for wordpress_Multiple SQLi &amp;amp; XSS</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "f7ad66d2-25a7-4054-bf64-611813b9330d",
    7  - "Application": "Podlove podcasting plugin for wordpress",
    8  - "AffectedVersions": [
    9  - "<=2.3.15"
    10  - ],
    11  - "VulnerabilityName": "Multiple SQLi &amp;amp; XSS",
    12  - "ExternalReferer": "WPVDB-ID-8697",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Redirection_Authenticated Local File Inclusion.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Redirection_Authenticated Local File Inclusion</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "cbcbc0a6-f8ee-4fa7-bf2c-969c0d3eafed",
    7  - "Application": "Redirection",
    8  - "AffectedVersions": [
    9  - "<=2.7.3"
    10  - ],
    11  - "VulnerabilityName": "Authenticated Local File Inclusion",
    12  - "ExternalReferer": "WPVDB-ID-9090",
    13  - "Impact": "High",
    14  - "Note": "N/A"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Relevanssi - A Better Search_4.0.4 - Cross-Site Scripting (XSS).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Relevanssi - A Better Search_4.0.4 - Cross-Site Scripting (XSS)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "44807b4b-1bbf-454b-a850-f265efee599f",
    7  - "Application": "Relevanssi - A Better Search",
    8  - "AffectedVersions": [
    9  - "<=4.0.4"
    10  - ],
    11  - "VulnerabilityName": "4.0.4 - Cross-Site Scripting (XSS)",
    12  - "ExternalReferer": "WPVDB-ID-9059",
    13  - "Impact": "Medium",
    14  - "Note": "N/A"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Relevanssi - A Better Search_SQL Injection &amp; PHP Object Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Relevanssi - A Better Search_SQL Injection &amp;amp; PHP Object Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "be3bf206-f771-49a4-affd-6606b8898a75",
    7  - "Application": "Relevanssi - A Better Search",
    8  - "AffectedVersions": [
    9  - "<1.14.6.1"
    10  - ],
    11  - "VulnerabilityName": "SQL Injection &amp;amp; PHP Object Injection",
    12  - "ExternalReferer": "WPVDB-ID-8675",
    13  - "Impact": "Critical",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Ultimate Member_Unauthenticated Change Passwords.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Ultimate Member_Unauthenticated Change Passwords</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "54f998d6-ee1d-44ae-af4a-49c9da2908ac",
    7  - "Application": "Ultimate Member",
    8  - "AffectedVersions": [
    9  - "<=1.3.75"
    10  - ],
    11  - "VulnerabilityName": "Unauthenticated Change Passwords",
    12  - "ExternalReferer": "WPVDB-ID-8688",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/WP Canvas - Shortcodes_Authenticated Stored Cross-Site Scripting .xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>WP Canvas - Shortcodes_Authenticated Stored Cross-Site Scripting </Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "e9934dcc-7f47-4a31-9dad-ce15c786ef66",
    7  - "Application": "WP Canvas - Shortcodes",
    8  - "AffectedVersions": [
    9  - "<2.07"
    10  - ],
    11  - "VulnerabilityName": "Authenticated Stored Cross-Site Scripting ",
    12  - "ExternalReferer": "WPVDB-ID-8668",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/WP Live Chat Support_8.0.05 - Unauthenticated Stored XSS.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>WP Live Chat Support_8.0.05 - Unauthenticated Stored XSS</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "868aa717-cb9d-45f3-8da5-881e221b7527",
    7  - "Application": "WP Live Chat Support",
    8  - "AffectedVersions": [
    9  - "<=8.0.05"
    10  - ],
    11  - "VulnerabilityName": "8.0.05 - Unauthenticated Stored XSS",
    12  - "ExternalReferer": "WPVDB-ID-9062",
    13  - "Impact": "Critical",
    14  - "Note": "N/A"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/WP Live Chat Support_Cross-Site Scripting (XSS).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>WP Live Chat Support_Cross-Site Scripting (XSS)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "e00ad4df-9045-4c33-b9a7-d12e6bc0a677",
    7  - "Application": "WP Live Chat Support",
    8  - "AffectedVersions": [
    9  - "<=8.0.07"
    10  - ],
    11  - "VulnerabilityName": "Cross-Site Scripting (XSS)",
    12  - "ExternalReferer": "WPVDB-ID-9085, CVE-2018-11105",
    13  - "Impact": "Medium",
    14  - "Note": "There is stored cross site scripting in the wp-live-chat-support plugin before 8.0.08 for WordPress via the 'name' (aka wplc_name) and 'email' (aka wplc_email) input fields whenever a malicious attacker would initiate a new chat with an administrator."
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Woocommerce_Reflected XSS vulnerability in vendor_description parameter.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Woocommerce_Reflected XSS vulnerability in vendor_description parameter</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "f8e7ec10-a6a5-4475-a7e2-c93b5373eb56",
    7  - "Application": "Woocommerce",
    8  - "AffectedVersions": [
    9  - "<2.0.37"
    10  - ],
    11  - "VulnerabilityName": "Reflected XSS vulnerability in vendor_description parameter",
    12  - "ExternalReferer": "WPVDB-ID-8895",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/WordPress File Upload_4.3.3 - Cross-Site Scripting (XSS).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>WordPress File Upload_4.3.3 - Cross-Site Scripting (XSS)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "8eab87f9-0748-4aa2-b13d-31e77d029d32",
    7  - "Application": "WordPress File Upload",
    8  - "AffectedVersions": [
    9  - "<=4.3.3"
    10  - ],
    11  - "VulnerabilityName": "4.3.3 - Cross-Site Scripting (XSS)",
    12  - "ExternalReferer": "WPVDB-ID-9061",
    13  - "Impact": "Medium",
    14  - "Note": "N/A"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordfence_Username Enumeration Prevention Bypass.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordfence_Username Enumeration Prevention Bypass</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "c72416b8-5ef7-4b2f-b0fe-cdd67232edb1",
    7  - "Application": "Wordfence",
    8  - "AffectedVersions": [
    9  - "<=7.1.12"
    10  - ],
    11  - "VulnerabilityName": "Username Enumeration Prevention Bypass",
    12  - "ExternalReferer": "WPVDB-ID-9135",
    13  - "Impact": "Low",
    14  - "Note": "N/A"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Authenticated Attachment Name Stored XSS.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Authenticated Attachment Name Stored XSS</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "3dbf6795-44e9-43c6-ad30-2f65771aa16e",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.2-4.5.2"
    10  - ],
    11  - "VulnerabilityName": "Authenticated Attachment Name Stored XSS",
    12  - "ExternalReferer": "CVE-2016-5833,CVE-2016-5834",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Authenticated Denial of Service (DoS).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Authenticated Denial of Service (DoS)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "19c05b07-6650-4f0a-a178-c32b2b4de910",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.5.3"
    10  - ],
    11  - "VulnerabilityName": "Authenticated Denial of Service (DoS)",
    12  - "ExternalReferer": "WPVDB-ID-8606",
    13  - "Impact": "Low",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Authenticated Revision History Information Disclosure.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Authenticated Revision History Information Disclosure</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "a376f13f-cd1f-4c5a-b84c-d59adffc5fdf",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "3.6-4.5.2"
    10  - ],
    11  - "VulnerabilityName": "Authenticated Revision History Information Disclosure",
    12  - "ExternalReferer": "CVE-2016-5835",
    13  - "Impact": "Low",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Cross Site Request Forgery (CSRF) vulnerability in the filesystem credentials dialog.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Cross Site Request Forgery (CSRF) vulnerability in the filesystem credentials dialog</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "cdb42f61-039a-4081-935e-9543dcc76b92",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "<=4.7.4"
    10  - ],
    11  - "VulnerabilityName": "Cross Site Request Forgery (CSRF) vulnerability in the filesystem credentials dialog",
    12  - "ExternalReferer": "CVE-2017-9064",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Cross-Site Scripting (XSS) in oEmbed.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Cross-Site Scripting (XSS) in oEmbed</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "b20b4427-cb1a-4e71-bd90-2292f8106ac8",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.8.1",
    10  - "4.8",
    11  - "4.7-4.7.5",
    12  - "4.6-4.6.6",
    13  - "4.5-4.5.9",
    14  - "4.4-4.4.9"
    15  - ],
    16  - "VulnerabilityName": "Cross-Site Scripting (XSS) in oEmbed",
    17  - "ExternalReferer": "WPVDB-ID-8913, CVE-2017-14724",
    18  - "Impact": "Low",
    19  - "Note": ""
    20  -}]]></Value>
    21  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Directory traversal vulnerability in the File_Upload_Upgrader class.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Directory traversal vulnerability in the File_Upload_Upgrader class</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "a47ad12f-906e-451c-ac6d-3f2a1cf70660",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "<4.6.1"
    10  - ],
    11  - "VulnerabilityName": "Directory traversal vulnerability in the File_Upload_Upgrader class",
    12  - "ExternalReferer": "CVE-2016-7169",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Directory traversal vulnerability in the wp_ajax_update_plugin.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Directory traversal vulnerability in the wp_ajax_update_plugin</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "9140e1de-81af-4f84-ab39-62a28d983100",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.5.3"
    10  - ],
    11  - "VulnerabilityName": "Directory traversal vulnerability in the wp_ajax_update_plugin",
    12  - "ExternalReferer": "CVE-2016-6896",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Open Redirect.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Open Redirect</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "8cfe9a1b-bea9-48af-8ac0-fe4667fcccdd",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.6-4.8.1",
    10  - "4.5-4.5.9",
    11  - "4.4-4.4.9",
    12  - "4.3-4.3.9",
    13  - "4.2-4.2.9",
    14  - "4.1-4.1.9",
    15  - "4.0-4.0.9",
    16  - "3.9-3.9.9",
    17  - "3.8-3.8.9",
    18  - "3.7-3.7.9",
    19  - "3.6-3.6.1",
    20  - "3.5",
    21  - "3.5.1",
    22  - "3.5.2",
    23  - "3.4",
    24  - "3.4.1",
    25  - "3.4.2",
    26  - "2.9.2-3.3.3"
    27  - ],
    28  - "VulnerabilityName": "Open Redirect",
    29  - "ExternalReferer": "WPVDB-ID-8910, CVE-2017-14725",
    30  - "Impact": "Low",
    31  - "Note": ""
    32  -}]]></Value>
    33  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Password Change via Stolen Cookie.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Password Change via Stolen Cookie</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "45e58c06-1200-437a-a594-98489e32913b",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.5.2"
    10  - ],
    11  - "VulnerabilityName": "Password Change via Stolen Cookie",
    12  - "ExternalReferer": "CVE-2016-5838",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Potential Remote Command Execution (RCE) in PHPMailer.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Potential Remote Command Execution (RCE) in PHPMailer</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "80fc19f0-872a-453c-93b0-87d3ba039a04",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "<4.7"
    10  - ],
    11  - "VulnerabilityName": "Potential Remote Command Execution (RCE) in PHPMailer",
    12  - "ExternalReferer": "WPVDB-ID-8714",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Privilege Escalation Content Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Privilege Escalation Content Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "46dee713-b767-4107-890e-c1647f42185d",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.7",
    10  - "4.7.1"
    11  - ],
    12  - "VulnerabilityName": "Privilege Escalation / Content Injection",
    13  - "ExternalReferer": "WPVDB-ID-8734",
    14  - "Impact": "Critical",
    15  - "Note": ""
    16  -}]]></Value>
    17  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Redirect Bypass.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Redirect Bypass</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "91357da3-547a-4785-b0a7-6f86ac317261",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.5.2"
    10  - ],
    11  - "VulnerabilityName": "Redirect Bypass",
    12  - "ExternalReferer": "CVE-2016-5832",
    13  - "Impact": "Low",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_SQL injection vulnerability in the wp_untrash_post_comments function.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_SQL injection vulnerability in the wp_untrash_post_comments function</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "7b614c0d-8fac-4f55-8257-cf690d3e43a0",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.2.3"
    10  - ],
    11  - "VulnerabilityName": "SQL injection vulnerability in the wp_untrash_post_comments function",
    12  - "ExternalReferer": "CVE-2015-2213",
    13  - "Impact": "High",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_SQL injection vulnerability in wp-includesclass-wp-query.php in WP_Query.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_SQL injection vulnerability in wp-includesclass-wp-query.php in WP_Query</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "76325f6c-68f8-4ad2-9030-f3c3ec73f9f2",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "<=4.7.1"
    10  - ],
    11  - "VulnerabilityName": "SQL injection vulnerability in wp-includes/class-wp-query.php in WP_Query",
    12  - "ExternalReferer": "CVE-2017-5611",
    13  - "Impact": "Critical",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_Unauthorized Category Removal from Post.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_Unauthorized Category Removal from Post</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "6489c2a6-f7b6-4faa-b6a0-856109724cd5",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "2.6.0-4.5.2"
    10  - ],
    11  - "VulnerabilityName": "Unauthorized Category Removal from Post",
    12  - "ExternalReferer": "CVE-2016-5837",
    13  - "Impact": "Low",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_WordPress 4.9.5 Security and Maintenance Release.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_WordPress 4.9.5 Security and Maintenance Release</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "a997f9fb-cf39-4db6-b92d-1303d364c216",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "3.7-4.9.4"
    10  - ],
    11  - "VulnerabilityName": "WordPress 4.9.5 Security and Maintenance Release",
    12  - "ExternalReferer": "WPVDB-ID-9053",
    13  - "Impact": "Low",
    14  - "Note": "WordPress versions 4.9.4 and earlier are affected by three security issues. Twenty-five other bugs were fixed in WordPress 4.9.5."
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wordpress_oEmbed Denial of Service (DoS).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wordpress_oEmbed Denial of Service (DoS)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "8276e8cc-554b-42e8-a3be-7b7dc145a9c8",
    7  - "Application": "Wordpress",
    8  - "AffectedVersions": [
    9  - "4.5.2"
    10  - ],
    11  - "VulnerabilityName": "oEmbed Denial of Service (DoS)",
    12  - "ExternalReferer": "CVE-2016-5836",
    13  - "Impact": "Low",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wp d3_Cross-Site Request Forgery (CSRF).xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wp d3_Cross-Site Request Forgery (CSRF)</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "92256c3d-ace4-4369-a405-b3fc6260a269",
    7  - "Application": "Wp d3",
    8  - "AffectedVersions": [
    9  - "<=2.4"
    10  - ],
    11  - "VulnerabilityName": "Cross-Site Request Forgery (CSRF)",
    12  - "ExternalReferer": "WPVDB-ID-8679",
    13  - "Impact": "Low",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wp statistics_Authenticated Cross-Site Scripting.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wp statistics_Authenticated Cross-Site Scripting</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "b3464fac-1300-4536-80f7-c403de76a26c",
    7  - "Application": "Wp statistics",
    8  - "AffectedVersions": [
    9  - "<=12.0.9"
    10  - ],
    11  - "VulnerabilityName": "Authenticated Cross-Site Scripting",
    12  - "ExternalReferer": "CVE-2017-10991, WPVDB-ID-8866",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/Wp statistics_Authenticated SQL Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>Wp statistics_Authenticated SQL Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "71a8dc54-67fa-4461-874c-258d471a99c7",
    7  - "Application": "Wp statistics",
    8  - "AffectedVersions": [
    9  - "<= 12.0.7"
    10  - ],
    11  - "VulnerabilityName": "Authenticated SQL Injection",
    12  - "ExternalReferer": "WPVDB-ID-8854",
    13  - "Impact": "Medium",
    14  - "Note": ""
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/jQuery File Upload Plugin_Unauthenticated arbitrary file upload vulnerability.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>jQuery File Upload Plugin_Unauthenticated arbitrary file upload vulnerability</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "97ca1e82-6abc-49c5-8027-e38147e8337d",
    7  - "Application": "jQuery File Upload Plugin",
    8  - "AffectedVersions": [
    9  - "<=9.22.0"
    10  - ],
    11  - "VulnerabilityName": "Unauthenticated arbitrary file upload vulnerability",
    12  - "ExternalReferer": "CVE-2018-9206",
    13  - "Impact": "Critical",
    14  - "Note": "Attackers can abuse this vulnerability to upload malicious files on servers, such as backdoors and web shells."
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/vBulletin_cacheTemplates Unauthenticated Remote Arbitrary File Deletion.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>vBulletin_cacheTemplates Unauthenticated Remote Arbitrary File Deletion</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "d86240a1-a955-4101-a320-2e86390cab3a",
    7  - "Application": "vBulletin",
    8  - "AffectedVersions": [
    9  - "5.0.1-5.3.3"
    10  - ],
    11  - "VulnerabilityName": "cacheTemplates Unauthenticated Remote Arbitrary File Deletion",
    12  - "ExternalReferer": "CVE-2017-17672",
    13  - "Impact": "Critical",
    14  - "Note": "N/A"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/vBulletin_vBulletin routestring Unauthenticated Remote Code Execution.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>vBulletin_vBulletin routestring Unauthenticated Remote Code Execution</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "b32f5993-5f17-4da3-bf22-c2579ddd1111",
    7  - "Application": "vBulletin",
    8  - "AffectedVersions": [
    9  - "5.0.1-5.3.3"
    10  - ],
    11  - "VulnerabilityName": "vBulletin routestring Unauthenticated Remote Code Execution",
    12  - "ExternalReferer": "CVE-2017-17672",
    13  - "Impact": "Critical",
    14  - "Note": "N/A"
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/wpForo Forum_Unauthenticated Reflected Cross-Site Scripting.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>wpForo Forum_Unauthenticated Reflected Cross-Site Scripting</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "4f74f650-301c-4e50-a7c6-785131388ef3",
    7  - "Application": "wpForo Forum",
    8  - "AffectedVersions": [
    9  - "<=1.4.11"
    10  - ],
    11  - "VulnerabilityName": "Unauthenticated Reflected Cross-Site Scripting",
    12  - "ExternalReferer": "CVE-2018-11709, WPVDB-ID-9090",
    13  - "Impact": "Medium",
    14  - "Note": "wpforo_get_request_uri in wpf-includes/functions.php in the wpForo Forum plugin before 1.4.12 for WordPress allows Unauthenticated Reflected Cross-Site Scripting (XSS) via the URI."
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/AddOnStorage/Vulnerable Web Application AddOn/wpForo Forum_Unauthenticated SQL Injection.xml
    1  -<AddOnStorageValue>
    2  - <AddOn>Vulnerable Web Application AddOn</AddOn>
    3  - <Name>wpForo Forum_Unauthenticated SQL Injection</Name>
    4  - <Type>ES.Taipan.Inspector.AddOns.WebApplicationVulnerability.ApplicationVulnerabilityDescriptor</Type>
    5  - <Value><![CDATA[{
    6  - "Id": "284003f8-c885-4080-b8ea-1539767d3bae",
    7  - "Application": "wpForo Forum",
    8  - "AffectedVersions": [
    9  - "<=1.4.9"
    10  - ],
    11  - "VulnerabilityName": "Unauthenticated SQL Injection",
    12  - "ExternalReferer": "WPVDB-ID-9089, CVE-2018-11515",
    13  - "Impact": "Critical",
    14  - "Note": "The wpForo plugin through 2018-02-05 for WordPress has SQL Injection via a search with the /forum/ wpfo parameter."
    15  -}]]></Value>
    16  -</AddOnStorageValue>
  • ■ ■ ■ ■ ■ ■
    Data/Dictionaries/commondirectories.txt
    1  -# This file contains the most common directories found on web servers
    2  -~root/
    3  -~bin/
    4  -~ftp/
    5  -0/
    6  -1/
    7  -2/
    8  -3/
    9  -10/
    10  -100/
    11  -1000/
    12  -123/
    13  -20/
    14  -200/
    15  -2000/
    16  -2001/
    17  -2002/
    18  -2003/
    19  -2004/
    20  -2005/
    21  -2006/
    22  -2007/
    23  -2008/
    24  -2009/
    25  -2010/
    26  -2011/
    27  -2012/
    28  -2013/
    29  -2014/
    30  -Admin/
    31  -Administration/
    32  -CVS/
    33  -Log/
    34  -Logs/
    35  -Pages/
    36  -Servlet/
    37  -Servlets/
    38  -Sources/
    39  -Statistics/
    40  -Stats/
    41  -WEB-INF/
    42  -a/
    43  -aa/
    44  -aaa/
    45  -abc/
    46  -about/
    47  -academic/
    48  -access/
    49  -accessgranted/
    50  -account/
    51  -accounting/
    52  -action/
    53  -active/
    54  -adm/
    55  -administrator/
    56  -adminlogin/
    57  -adminsql/
    58  -admon/
    59  -adsl/
    60  -agent/
    61  -agents/
    62  -alias/
    63  -aliases/
    64  -alpha/
    65  -analog/
    66  -analyse/
    67  -announcements/
    68  -answer/
    69  -any/
    70  -apache/
    71  -app/
    72  -applet/
    73  -applets/
    74  -appliance/
    75  -application/
    76  -applications/
    77  -apps/
    78  -archive/
    79  -archives/
    80  -arrow/
    81  -asp/
    82  -aspadmin/
    83  -attach/
    84  -attachments/
    85  -audit/
    86  -auth/
    87  -auto/
    88  -automatic/
    89  -b/
    90  -back/
    91  -backdoor/
    92  -backend/
    93  -backoffice/
    94  -backup/
    95  -backups/
    96  -bak/
    97  -bakup/
    98  -bank/
    99  -banks/
    100  -banner/
    101  -banners/
    102  -base/
    103  -basic/
    104  -bass/
    105  -batch/
    106  -bd/
    107  -bdata/
    108  -bea/
    109  -bean/
    110  -beta/
    111  -bill/
    112  -billing/
    113  -bin/
    114  -binaries/
    115  -biz/
    116  -body/
    117  -board/
    118  -boot/
    119  -broken/
    120  -bsd/
    121  -bug/
    122  -bugs/
    123  -build/
    124  -builder/
    125  -bulk/
    126  -c/
    127  -cache/
    128  -cachemgr/
    129  -cad/
    130  -card/
    131  -cardinal/
    132  -cards/
    133  -cart/
    134  -cat/
    135  -cas/
    136  -catalog/
    137  -catalogs/
    138  -cc/
    139  -ccs/
    140  -cd/
    141  -cdrom/
    142  -cert/
    143  -certificate/
    144  -cfdocs/
    145  -cfg/
    146  -cgi/
    147  -cgi-bin/
    148  -cgi-win/
    149  -cgibin/
    150  -chan/
    151  -change/
    152  -changepw/
    153  -channel/
    154  -chart/
    155  -chat/
    156  -class/
    157  -classes/
    158  -classic/
    159  -classified/
    160  -classifieds/
    161  -client/
    162  -clients/
    163  -cluster/
    164  -cm/
    165  -cmd/
    166  -code/
    167  -coffee/
    168  -coke/
    169  -command/
    170  -commerce/
    171  -commercial/
    172  -common/
    173  -component/
    174  -compressed/
    175  -comunicator/
    176  -config/
    177  -configs/
    178  -configure/
    179  -configuration/
    180  -connect/
    181  -connections/
    182  -console/
    183  -contact/
    184  -contacts/
    185  -content/
    186  -contents/
    187  -control/
    188  -controls/
    189  -corba/
    190  -core/
    191  -corporate/
    192  -count/
    193  -counter/
    194  -cpanel/
    195  -create/
    196  -creation/
    197  -credit/
    198  -creditcards/
    199  -cron/
    200  -crs/
    201  -css/
    202  -customer/
    203  -customers/
    204  -cv/
    205  -d/
    206  -daemon/
    207  -dat/
    208  -data/
    209  -database/
    210  -databases/
    211  -dav/
    212  -db/
    213  -dba/
    214  -dbase/
    215  -dbm/
    216  -dbms/
    217  -debug/
    218  -default/
    219  -delete/
    220  -deletion/
    221  -demo/
    222  -demos/
    223  -deny/
    224  -deploy/
    225  -deployment/
    226  -design/
    227  -dev/
    228  -devel/
    229  -develop/
    230  -developement/
    231  -developers/
    232  -development/
    233  -device/
    234  -diag/
    235  -dial/
    236  -dig/
    237  -dir/
    238  -directory/
    239  -discovery/
    240  -disk/
    241  -dispatch/
    242  -dispatcher/
    243  -dms/
    244  -dns/
    245  -doc/
    246  -docs/
    247  -docs41/
    248  -docs51/
    249  -document/
    250  -documents/
    251  -down/
    252  -download/
    253  -downloads/
    254  -dragon/
    255  -driver/
    256  -dump/
    257  -e/
    258  -easy/
    259  -ebriefs/
    260  -echannel/
    261  -ecommerce/
    262  -edit/
    263  -editor/
    264  -element/
    265  -elements/
    266  -email/
    267  -employees/
    268  -en/
    269  -eng/
    270  -engine/
    271  -english/
    272  -enterprise/
    273  -environ/
    274  -environment/
    275  -error/
    276  -errors/
    277  -es/
    278  -esales/
    279  -esp/
    280  -established/
    281  -esupport/
    282  -etc/
    283  -example/
    284  -examples/
    285  -exchange/
    286  -exe/
    287  -exec/
    288  -executable/
    289  -executables/
    290  -explorer/
    291  -export/
    292  -external/
    293  -extra/
    294  -extranet/
    295  -event/
    296  -events/
    297  -fail/
    298  -failed/
    299  -fcgi-bin/
    300  -feedback/
    301  -field/
    302  -file/
    303  -files/
    304  -filter/
    305  -firewall/
    306  -first/
    307  -folder/
    308  -foo/
    309  -format/
    310  -form/
    311  -formsend/
    312  -formupdate/
    313  -fortune/
    314  -forum/
    315  -forums/
    316  -frame/
    317  -framework/
    318  -ftp/
    319  -fun/
    320  -function/
    321  -functions/
    322  -games/
    323  -gate/
    324  -generic/
    325  -gest/
    326  -get/
    327  -global/
    328  -gone/
    329  -granted/
    330  -graphics/
    331  -group/
    332  -groups/
    333  -guest/
    334  -guestbook/
    335  -guests/
    336  -hack/
    337  -hacker/
    338  -hanlder/
    339  -happening/
    340  -hello/
    341  -head/
    342  -header/
    343  -headers/
    344  -help/
    345  -hidden/
    346  -hide/
    347  -history/
    348  -hits/
    349  -home/
    350  -homepage/
    351  -homes/
    352  -homework/
    353  -host/
    354  -htdocs/
    355  -htm/
    356  -html/
    357  -htmls/
    358  -ibm/
    359  -icons/
    360  -idbc/
    361  -iis/
    362  -images/
    363  -img/
    364  -import/
    365  -inc/
    366  -include/
    367  -includes/
    368  -incoming/
    369  -incs/
    370  -index/
    371  -info/
    372  -information/
    373  -ingres/
    374  -ingress/
    375  -ini/
    376  -init/
    377  -input/
    378  -install/
    379  -installation/
    380  -interactive/
    381  -internal/
    382  -internet/
    383  -intranet/
    384  -intro/
    385  -inventory/
    386  -ipp/
    387  -ips/
    388  -j/
    389  -java/
    390  -javascript/
    391  -jdbc/
    392  -job/
    393  -jrun/
    394  -js/
    395  -jsp/
    396  -keep/
    397  -kept/
    398  -kernel/
    399  -key/
    400  -lab/
    401  -labs/
    402  -launch/
    403  -ldap/
    404  -left/
    405  -level/
    406  -lib/
    407  -libraries/
    408  -library/
    409  -libs/
    410  -links/
    411  -linux/
    412  -list/
    413  -load/
    414  -loader/
    415  -lock/
    416  -lockout/
    417  -logfile/
    418  -logfiles/
    419  -logger/
    420  -logging/
    421  -login/
    422  -logo/
    423  -logon/
    424  -logout/
    425  -lost+found/
    426  -magic/
    427  -mail/
    428  -mailbox/
    429  -makefile/
    430  -main/
    431  -maint/
    432  -man/
    433  -manage/
    434  -management/
    435  -manager/
    436  -manual/
    437  -map/
    438  -market/
    439  -marketing/
    440  -master/
    441  -mbo/
    442  -mdb/
    443  -me/
    444  -member/
    445  -members/
    446  -memory/
    447  -menu/
    448  -message/
    449  -messages/
    450  -messaging/
    451  -meta/
    452  -metabase/
    453  -mgr/
    454  -mine/
    455  -minimum/
    456  -mirror/
    457  -mirrors/
    458  -misc/
    459  -mkstats/
    460  -model/
    461  -modem/
    462  -module/
    463  -modules/
    464  -monitor/
    465  -mount/
    466  -mp3/
    467  -mp3s/
    468  -mqseries/
    469  -ms/
    470  -ms-sql/
    471  -msql/
    472  -mssql/
    473  -music/
    474  -my/
    475  -my-sql/
    476  -mysql/
    477  -names/
    478  -navigation/
    479  -ne/
    480  -net/
    481  -netscape/
    482  -netstat/
    483  -network/
    484  -new/
    485  -news/
    486  -next/
    487  -nl/
    488  -nobody/
    489  -notes/
    490  -novell/
    491  -nul/
    492  -null/
    493  -number/
    494  -object/
    495  -objects/
    496  -odbc/
    497  -of/
    498  -office/
    499  -ogl/
    500  -old/
    501  -oldie/
    502  -online/
    503  -open/
    504  -operator/
    505  -oracle/
    506  -oradata/
    507  -order/
    508  -orders/
    509  -outgoing/
    510  -output/
    511  -pad/
    512  -page/
    513  -pam/
    514  -panel/
    515  -paper/
    516  -papers/
    517  -pass/
    518  -passes/
    519  -passw/
    520  -passwd/
    521  -passwor/
    522  -password/
    523  -passwords/
    524  -path/
    525  -pdf/
    526  -perl/
    527  -perl5/
    528  -personal/
    529  -personals/
    530  -pgsql/
    531  -phone/
    532  -php/
    533  -phpMyAdmin/
    534  -pics/
    535  -ping/
    536  -pix/
    537  -pl/
    538  -pls/
    539  -plx/
    540  -pol/
    541  -policy/
    542  -poll/
    543  -pop/
    544  -portal/
    545  -post/
    546  -postgres/
    547  -power/
    548  -press/
    549  -preview/
    550  -print/
    551  -printenv/
    552  -priv/
    553  -private/
    554  -privs/
    555  -process/
    556  -processform/
    557  -prod/
    558  -production/
    559  -products/
    560  -professor/
    561  -profile/
    562  -program/
    563  -project/
    564  -properties/
    565  -protect/
    566  -protected/
    567  -proxy/
    568  -ps/
    569  -pub/
    570  -public/
    571  -publish/
    572  -publisher/
    573  -purchase/
    574  -purchases/
    575  -put/
    576  -pw/
    577  -pwd/
    578  -python/
    579  -queue/
    580  -query/
    581  -quote/
    582  -random/
    583  -rcs/
    584  -readme/
    585  -redir/
    586  -redirect/
    587  -reference/
    588  -references/
    589  -reg/
    590  -reginternal/
    591  -regional/
    592  -register/
    593  -registered/
    594  -release/
    595  -remote/
    596  -removed/
    597  -reports/
    598  -requisite/
    599  -research/
    600  -reseller/
    601  -resource/
    602  -resources/
    603  -restricted/
    604  -retail/
    605  -right/
    606  -robot/
    607  -robotics/
    608  -root/
    609  -rpc/
    610  -rules/
    611  -run/
    612  -sales/
    613  -sample/
    614  -samples/
    615  -save/
    616  -saved/
    617  -schema/
    618  -scr/
    619  -scratc/
    620  -script/
    621  -scripts/
    622  -adk/
    623  -search/
    624  -secret/
    625  -secrets/
    626  -section/
    627  -sections/
    628  -secure/
    629  -secured/
    630  -security/
    631  -select/
    632  -sell/
    633  -sensor/
    634  -server/
    635  -server_stats/
    636  -servers/
    637  -service/
    638  -services/
    639  -session/
    640  -sessions/
    641  -set/
    642  -setup/
    643  -setting/
    644  -settings/
    645  -share/
    646  -shared/
    647  -shit/
    648  -shop/
    649  -shopper/
    650  -show/
    651  -shtml/
    652  -signature/
    653  -simple/
    654  -single/
    655  -site/
    656  -sites/
    657  -small/
    658  -snoop/
    659  -soap/
    660  -soapdocs/
    661  -software/
    662  -solaris/
    663  -solutions/
    664  -somebody/
    665  -source/
    666  -spanish/
    667  -sql/
    668  -sqladmin/
    669  -src/
    670  -srchad/
    671  -ssi/
    672  -ssl/
    673  -staff/
    674  -start/
    675  -startpage/
    676  -stat/
    677  -statistic/
    678  -status/
    679  -store/
    680  -stop/
    681  -story/
    682  -string/
    683  -student/
    684  -stuff/
    685  -style/
    686  -stylesheet/
    687  -stylesheets/
    688  -submit/
    689  -sun/
    690  -super/
    691  -support/
    692  -supported/
    693  -survey/
    694  -sw/
    695  -sys/
    696  -sysadmin/
    697  -system/
    698  -table/
    699  -tag/
    700  -tape/
    701  -tar/
    702  -target/
    703  -tech/
    704  -temp/
    705  -template/
    706  -templates/
    707  -temporal/
    708  -terminal/
    709  -test/
    710  -testing/
    711  -tests/
    712  -text/
    713  -texts/
    714  -ticket/
    715  -tmp/
    716  -today/
    717  -tool/
    718  -toolbar/
    719  -tools/
    720  -top/
    721  -topics/
    722  -tour/
    723  -tpv/
    724  -traffic/
    725  -transactions/
    726  -transfer/
    727  -transport/
    728  -tree/
    729  -trees/
    730  -tutorial/
    731  -uninstall/
    732  -unix/
    733  -up/
    734  -update/
    735  -updates/
    736  -upload/
    737  -uploads/
    738  -usage/
    739  -user/
    740  -users/
    741  -usr/
    742  -ustats/
    743  -util/
    744  -utilities/
    745  -utility/
    746  -utils/
    747  -validation/
    748  -validatior/
    749  -var/
    750  -vfs/
    751  -view/
    752  -viewer/
    753  -views/
    754  -virtual/
    755  -visitor/
    756  -vpn/
    757  -w/
    758  -w3/
    759  -w3c/
    760  -warez/
    761  -wdav/
    762  -web/
    763  -webaccess/
    764  -webapp/
    765  -webadmin/
    766  -webboard/
    767  -webcart/
    768  -webdata/
    769  -webdav/
    770  -weblog/
    771  -weblogs/
    772  -webmail/
    773  -webmaster/
    774  -website/
    775  -webstat/
    776  -webstats/
    777  -webvpn/
    778  -welcome/
    779  -wellcome/
    780  -whatever/
    781  -whatnot/
    782  -whois/
    783  -will/
    784  -win/
    785  -windows/
    786  -word/
    787  -work/
    788  -workshop/
    789  -wstats/
    790  -wusage/
    791  -www/
    792  -wwwjoin/
    793  -wwwlog/
    794  -wwwstats/
    795  -xfer/
    796  -xml/
    797  -xyz/
    798  -zap/
    799  -zipfiles/
    800  -zips/
    801  -crp/
    802  -ppv/
    803  -rd/
    804  -crp2/
    805  -messagec/
    806  -saite/
  • ■ ■ ■ ■ ■ ■
    Data/Dictionaries/commondirectories.xml
    1  -<?xml version="1.0" encoding="UTF-8"?>
    2  - 
    3  -<Dictionary>
    4  - <Id>A8EF3FFE-7CCF-4D1F-AA0A-2248DE6A00DF</Id>
    5  - <Name>Most common directories found on web servers</Name>
    6  - <Path>commondirectories.txt</Path>
    7  -</Dictionary>
  • ■ ■ ■ ■ ■
    Data/Dictionaries/custom-path.txt
    1  -/db/database.db
  • ■ ■ ■ ■ ■ ■
    Data/Dictionaries/custom-path.xml
    1  -<?xml version="1.0" encoding="UTF-8"?>
    2  - 
    3  -<Dictionary>
    4  - <Id>E0662088-7A77-4D0A-BAAC-2AE4BB28D5F1</Id>
    5  - <Name>Custom pathes</Name>
    6  - <Path>custom-path.txt</Path>
    7  -</Dictionary>
  • Data/Dictionaries/dicc.txt
    Diff is too large to be displayed.
  • ■ ■ ■ ■ ■ ■
    Data/Dictionaries/dicc.xml
    1  -<?xml version="1.0" encoding="UTF-8"?>
    2  - 
    3  -<Dictionary>
    4  - <Id>8C2248F7-5D56-493F-B0BC-366904327B91</Id>
    5  - <Name>Dictionary from Dirsearch project</Name>
    6  - <Path>dicc.txt</Path>
    7  -</Dictionary>
  • ■ ■ ■ ■ ■ ■
    Data/Dictionaries/forbidden.txt
    1  -# List of directories that shouldn.t be scanned
    2  -manual/
  • ■ ■ ■ ■ ■ ■
    Data/Dictionaries/struts-actions.txt
    1  -VloginUser.action
    2  -Mail.action
    3  -code.action
    4  -reg.action
    5  -Address.action
    6  -!Index.action
    7  -login.action
    8  -Add.action
    9  -pageslist.action
    10  -action.Action
    11  -Message.action
    12  -Ldap.action
    13  -getMul.action
    14  -shouye.action
    15  -logout.action
    16  -Valid.action
    17  -search.action
    18  -Magazine.action
    19  -news.action
    20  -init.action
    21  -Page.action
    22  -create.action
    23  -index2.action
    24  -default.action
    25  -welcome.action
    26  -Name.action
    27  -single.action
    28  -updateForm.action
    29  -SysStart.action
    30  -adminlogin.action
    31  -Offportal.action
    32  -Buying.action
    33  -Success.action
    34  -exchange.action
    35  -menu.action
    36  -Load.action
    37  -airport.action
    38  -Email.action
    39  -On.action
    40  -show.action
    41  -tain.action
    42  -Login!input.action
    43  -randomPicture.action
  • ■ ■ ■ ■ ■ ■
    Data/Dictionaries/struts-actions.xml
    1  -<?xml version="1.0" encoding="UTF-8"?>
    2  - 
    3  -<Dictionary>
    4  - <Id>E4894EC1-FD53-4A24-B539-CF58C9489F89</Id>
    5  - <Name>Struts action pages</Name>
    6  - <Path>struts-actions.txt</Path>
    7  -</Dictionary>
  • Src/10passwords.txt
    Diff is too large to be displayed.
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/AssemblyInfo.fs
    1  -// Auto-Generated by FAKE; do not edit
    2  -namespace System
    3  -open System.Reflection
    4  - 
    5  -[<assembly: AssemblyTitleAttribute("ES.Taipan.Application")>]
    6  -[<assembly: AssemblyProductAttribute("Taipan")>]
    7  -[<assembly: AssemblyCompanyAttribute("Enkomio")>]
    8  -[<assembly: AssemblyDescriptionAttribute("A web application vulnerability scanner tool.")>]
    9  -[<assembly: AssemblyVersionAttribute("0.0.0")>]
    10  -[<assembly: AssemblyFileVersionAttribute("0.0.0")>]
    11  -[<assembly: AssemblyInformationalVersionAttribute("0.0.0.*")>]
    12  -do ()
    13  - 
    14  -module internal AssemblyVersionInformation =
    15  - let [<Literal>] AssemblyTitle = "ES.Taipan.Application"
    16  - let [<Literal>] AssemblyProduct = "Taipan"
    17  - let [<Literal>] AssemblyCompany = "Enkomio"
    18  - let [<Literal>] AssemblyDescription = "A web application vulnerability scanner tool."
    19  - let [<Literal>] AssemblyVersion = "0.0.0"
    20  - let [<Literal>] AssemblyFileVersion = "0.0.0"
    21  - let [<Literal>] AssemblyInformationalVersion = "0.0.0.*"
    22  - 
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/ES.Taipan.Application.fsproj
    1  -<?xml version="1.0" encoding="utf-8"?>
    2  -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    3  - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
    4  - <PropertyGroup>
    5  - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    6  - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    7  - <SchemaVersion>2.0</SchemaVersion>
    8  - <ProjectGuid>7ff8e8cd-2ec1-47dc-b5f0-d5fc75e4763f</ProjectGuid>
    9  - <OutputType>Library</OutputType>
    10  - <RootNamespace>ES.Taipan.Application</RootNamespace>
    11  - <AssemblyName>ES.Taipan.Application</AssemblyName>
    12  - <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    13  - <TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion>
    14  - <Name>ES.Taipan.Application</Name>
    15  - <TargetFrameworkProfile />
    16  - </PropertyGroup>
    17  - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    18  - <DebugSymbols>true</DebugSymbols>
    19  - <DebugType>full</DebugType>
    20  - <Optimize>false</Optimize>
    21  - <Tailcalls>false</Tailcalls>
    22  - <OutputPath>bin\Debug\</OutputPath>
    23  - <DefineConstants>DEBUG;TRACE</DefineConstants>
    24  - <WarningLevel>3</WarningLevel>
    25  - <DocumentationFile>bin\Debug\ES.Taipan.Application.XML</DocumentationFile>
    26  - <PlatformTarget>x86</PlatformTarget>
    27  - </PropertyGroup>
    28  - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    29  - <DebugType>pdbonly</DebugType>
    30  - <Optimize>true</Optimize>
    31  - <Tailcalls>true</Tailcalls>
    32  - <OutputPath>bin\Release\</OutputPath>
    33  - <DefineConstants>TRACE</DefineConstants>
    34  - <WarningLevel>3</WarningLevel>
    35  - <DocumentationFile>bin\Release\ES.Taipan.Application.XML</DocumentationFile>
    36  - </PropertyGroup>
    37  - <ItemGroup>
    38  - <Reference Include="mscorlib" />
    39  - <Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    40  - <Private>True</Private>
    41  - </Reference>
    42  - <Reference Include="System" />
    43  - <Reference Include="System.Core" />
    44  - <Reference Include="System.Numerics" />
    45  - <Reference Include="System.Xml" />
    46  - <Reference Include="System.Xml.Linq" />
    47  - </ItemGroup>
    48  - <ItemGroup>
    49  - <None Include="paket.references" />
    50  - <Compile Include="AssemblyInfo.fs">
    51  - <Link>AssemblyInfo.fs</Link>
    52  - </Compile>
    53  - <Compile Include="TemplateProfile.fs" />
    54  - <Compile Include="ScanContext.fs" />
    55  - <Compile Include="ScanWorkflowLogger.fs" />
    56  - <Compile Include="ScanWorkflow.fs" />
    57  - <Compile Include="MessageAdapters.fs" />
    58  - <Compile Include="ScanLogger.fs" />
    59  - <Compile Include="Scan.fs" />
    60  - <Compile Include="ScanResult.fs" />
    61  - <Compile Include="ScanService.fs" />
    62  - </ItemGroup>
    63  - <PropertyGroup>
    64  - <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
    65  - </PropertyGroup>
    66  - <Choose>
    67  - <When Condition="'$(VisualStudioVersion)' == '11.0'">
    68  - <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets')">
    69  - <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
    70  - </PropertyGroup>
    71  - </When>
    72  - <Otherwise>
    73  - <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')">
    74  - <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
    75  - </PropertyGroup>
    76  - </Otherwise>
    77  - </Choose>
    78  - <Import Project="$(FSharpTargetsPath)" />
    79  - <Choose>
    80  - <When Condition="($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.7.1') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v2.0') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0')">
    81  - <PropertyGroup>
    82  - <__paket__NETStandard_Library_targets>netstandard2.0\NETStandard.Library</__paket__NETStandard_Library_targets>
    83  - </PropertyGroup>
    84  - </When>
    85  - </Choose>
    86  - <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
    87  - Other similar extension points exist, see Microsoft.Common.targets.
    88  - <Target Name="BeforeBuild">
    89  - </Target>
    90  - <Target Name="AfterBuild">
    91  - </Target>
    92  - -->
    93  - <ItemGroup>
    94  - <ProjectReference Include="..\ES.Taipan.Inspector\ES.Taipan.Inspector.fsproj">
    95  - <Name>ES.Taipan.Inspector</Name>
    96  - <Project>{59244978-1061-4bc7-8636-5cb65569d87c}</Project>
    97  - <Private>True</Private>
    98  - </ProjectReference>
    99  - <ProjectReference Include="..\ES.Taipan.Infrastructure\ES.Taipan.Infrastructure.fsproj">
    100  - <Name>ES.Taipan.Infrastructure</Name>
    101  - <Project>{9e7f5a33-fe4f-4ade-b28f-e906df2c13f1}</Project>
    102  - <Private>True</Private>
    103  - </ProjectReference>
    104  - <ProjectReference Include="..\ES.Taipan.Fingerprinter\ES.Taipan.Fingerprinter.fsproj">
    105  - <Name>ES.Taipan.Fingerprinter</Name>
    106  - <Project>{f5dc62f2-457a-4085-bda5-29d4bb897ce4}</Project>
    107  - <Private>True</Private>
    108  - </ProjectReference>
    109  - <ProjectReference Include="..\ES.Taipan.Discoverer\ES.Taipan.Discoverer.fsproj">
    110  - <Name>ES.Taipan.Discoverer</Name>
    111  - <Project>{358232d4-f4f3-4cfc-91ca-02513f05efb5}</Project>
    112  - <Private>True</Private>
    113  - </ProjectReference>
    114  - <ProjectReference Include="..\ES.Taipan.Crawler\ES.Taipan.Crawler.fsproj">
    115  - <Name>ES.Taipan.Crawler</Name>
    116  - <Project>{b010bdd4-2a3d-4963-8fd0-fcc4956c7796}</Project>
    117  - <Private>True</Private>
    118  - </ProjectReference>
    119  - </ItemGroup>
    120  - <Choose>
    121  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7' Or $(TargetFrameworkVersion) == 'v4.7.1')">
    122  - <ItemGroup>
    123  - <Reference Include="Microsoft.CSharp">
    124  - <Paket>True</Paket>
    125  - </Reference>
    126  - <Reference Include="System.Data">
    127  - <Paket>True</Paket>
    128  - </Reference>
    129  - <Reference Include="System.Drawing">
    130  - <Paket>True</Paket>
    131  - </Reference>
    132  - <Reference Include="System.IO.Compression.FileSystem">
    133  - <Paket>True</Paket>
    134  - </Reference>
    135  - <Reference Include="System.Runtime.Serialization">
    136  - <Paket>True</Paket>
    137  - </Reference>
    138  - <Reference Include="Autofac">
    139  - <HintPath>..\packages\Autofac\lib\net45\Autofac.dll</HintPath>
    140  - <Private>True</Private>
    141  - <Paket>True</Paket>
    142  - </Reference>
    143  - </ItemGroup>
    144  - </When>
    145  - <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == 'MonoAndroid' And ($(TargetFrameworkVersion) == 'v7.0' Or $(TargetFrameworkVersion) == 'v7.1' Or $(TargetFrameworkVersion) == 'v8.0')) Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkIdentifier) == 'Xamarin.tvOS') Or ($(TargetFrameworkIdentifier) == 'Xamarin.watchOS')">
    146  - <ItemGroup>
    147  - <Reference Include="Autofac">
    148  - <HintPath>..\packages\Autofac\lib\netstandard1.1\Autofac.dll</HintPath>
    149  - <Private>True</Private>
    150  - <Paket>True</Paket>
    151  - </Reference>
    152  - </ItemGroup>
    153  - </When>
    154  - </Choose>
    155  - <ItemGroup>
    156  - <Reference Include="ES.Fslog">
    157  - <HintPath>..\packages\FSharpLog\lib\ES.Fslog.dll</HintPath>
    158  - <Private>True</Private>
    159  - <Paket>True</Paket>
    160  - </Reference>
    161  - </ItemGroup>
    162  - <Choose>
    163  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    164  - <ItemGroup>
    165  - <Reference Include="Microsoft.Win32.Primitives">
    166  - <HintPath>..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll</HintPath>
    167  - <Private>True</Private>
    168  - <Paket>True</Paket>
    169  - </Reference>
    170  - </ItemGroup>
    171  - </When>
    172  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    173  - <ItemGroup>
    174  - <Reference Include="Microsoft.Win32.Primitives">
    175  - <HintPath>..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll</HintPath>
    176  - <Private>False</Private>
    177  - <Paket>True</Paket>
    178  - </Reference>
    179  - </ItemGroup>
    180  - </When>
    181  - </Choose>
    182  - <Choose>
    183  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    184  - <ItemGroup>
    185  - <Reference Include="System.AppContext">
    186  - <HintPath>..\packages\System.AppContext\lib\net46\System.AppContext.dll</HintPath>
    187  - <Private>True</Private>
    188  - <Paket>True</Paket>
    189  - </Reference>
    190  - </ItemGroup>
    191  - </When>
    192  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')">
    193  - <ItemGroup>
    194  - <Reference Include="System.AppContext">
    195  - <HintPath>..\packages\System.AppContext\ref\netstandard1.3\System.AppContext.dll</HintPath>
    196  - <Private>False</Private>
    197  - <Paket>True</Paket>
    198  - </Reference>
    199  - </ItemGroup>
    200  - </When>
    201  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6')">
    202  - <ItemGroup>
    203  - <Reference Include="System.AppContext">
    204  - <HintPath>..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll</HintPath>
    205  - <Private>True</Private>
    206  - <Paket>True</Paket>
    207  - </Reference>
    208  - </ItemGroup>
    209  - </When>
    210  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6')">
    211  - <ItemGroup>
    212  - <Reference Include="System.AppContext">
    213  - <HintPath>..\packages\System.AppContext\ref\netstandard1.6\System.AppContext.dll</HintPath>
    214  - <Private>False</Private>
    215  - <Paket>True</Paket>
    216  - </Reference>
    217  - </ItemGroup>
    218  - </When>
    219  - </Choose>
    220  - <Choose>
    221  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v5.0')">
    222  - <ItemGroup>
    223  - <Reference Include="System.Buffers">
    224  - <HintPath>..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll</HintPath>
    225  - <Private>True</Private>
    226  - <Paket>True</Paket>
    227  - </Reference>
    228  - </ItemGroup>
    229  - </When>
    230  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6'))">
    231  - <ItemGroup>
    232  - <Reference Include="System.Buffers">
    233  - <HintPath>..\packages\System.Buffers\ref\netstandard1.1\System.Buffers.dll</HintPath>
    234  - <Private>False</Private>
    235  - <Paket>True</Paket>
    236  - </Reference>
    237  - </ItemGroup>
    238  - </When>
    239  - </Choose>
    240  - <Choose>
    241  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    242  - <ItemGroup>
    243  - <Reference Include="System.Collections">
    244  - <HintPath>..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath>
    245  - <Private>False</Private>
    246  - <Paket>True</Paket>
    247  - </Reference>
    248  - </ItemGroup>
    249  - </When>
    250  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    251  - <ItemGroup>
    252  - <Reference Include="System.Collections">
    253  - <HintPath>..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath>
    254  - <Private>False</Private>
    255  - <Paket>True</Paket>
    256  - </Reference>
    257  - </ItemGroup>
    258  - </When>
    259  - </Choose>
    260  - <Choose>
    261  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    262  - <ItemGroup>
    263  - <Reference Include="System.Collections.Concurrent">
    264  - <HintPath>..\packages\System.Collections.Concurrent\ref\netstandard1.1\System.Collections.Concurrent.dll</HintPath>
    265  - <Private>False</Private>
    266  - <Paket>True</Paket>
    267  - </Reference>
    268  - </ItemGroup>
    269  - </When>
    270  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    271  - <ItemGroup>
    272  - <Reference Include="System.Collections.Concurrent">
    273  - <HintPath>..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll</HintPath>
    274  - <Private>True</Private>
    275  - <Paket>True</Paket>
    276  - </Reference>
    277  - </ItemGroup>
    278  - </When>
    279  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    280  - <ItemGroup>
    281  - <Reference Include="System.Collections.Concurrent">
    282  - <HintPath>..\packages\System.Collections.Concurrent\ref\netstandard1.3\System.Collections.Concurrent.dll</HintPath>
    283  - <Private>False</Private>
    284  - <Paket>True</Paket>
    285  - </Reference>
    286  - </ItemGroup>
    287  - </When>
    288  - </Choose>
    289  - <Choose>
    290  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    291  - <ItemGroup>
    292  - <Reference Include="System.ComponentModel">
    293  - <HintPath>..\packages\System.ComponentModel\ref\netstandard1.0\System.ComponentModel.dll</HintPath>
    294  - <Private>False</Private>
    295  - <Paket>True</Paket>
    296  - </Reference>
    297  - </ItemGroup>
    298  - </When>
    299  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    300  - <ItemGroup>
    301  - <Reference Include="System.ComponentModel">
    302  - <HintPath>..\packages\System.ComponentModel\lib\netstandard1.3\System.ComponentModel.dll</HintPath>
    303  - <Private>True</Private>
    304  - <Paket>True</Paket>
    305  - </Reference>
    306  - </ItemGroup>
    307  - </When>
    308  - </Choose>
    309  - <Choose>
    310  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    311  - <ItemGroup>
    312  - <Reference Include="System.Console">
    313  - <HintPath>..\packages\System.Console\lib\net46\System.Console.dll</HintPath>
    314  - <Private>True</Private>
    315  - <Paket>True</Paket>
    316  - </Reference>
    317  - </ItemGroup>
    318  - </When>
    319  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6'))">
    320  - <ItemGroup>
    321  - <Reference Include="System.Console">
    322  - <HintPath>..\packages\System.Console\ref\netstandard1.3\System.Console.dll</HintPath>
    323  - <Private>False</Private>
    324  - <Paket>True</Paket>
    325  - </Reference>
    326  - </ItemGroup>
    327  - </When>
    328  - </Choose>
    329  - <Choose>
    330  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    331  - <ItemGroup>
    332  - <Reference Include="System.Diagnostics.Debug">
    333  - <HintPath>..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll</HintPath>
    334  - <Private>False</Private>
    335  - <Paket>True</Paket>
    336  - </Reference>
    337  - </ItemGroup>
    338  - </When>
    339  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    340  - <ItemGroup>
    341  - <Reference Include="System.Diagnostics.Debug">
    342  - <HintPath>..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath>
    343  - <Private>False</Private>
    344  - <Paket>True</Paket>
    345  - </Reference>
    346  - </ItemGroup>
    347  - </When>
    348  - </Choose>
    349  - <Choose>
    350  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    351  - <ItemGroup>
    352  - <Reference Include="System.Diagnostics.DiagnosticSource">
    353  - <HintPath>..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll</HintPath>
    354  - <Private>True</Private>
    355  - <Paket>True</Paket>
    356  - </Reference>
    357  - </ItemGroup>
    358  - </When>
    359  - </Choose>
    360  - <Choose>
    361  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    362  - <ItemGroup>
    363  - <Reference Include="System.Diagnostics.Tools">
    364  - <HintPath>..\packages\System.Diagnostics.Tools\ref\netstandard1.0\System.Diagnostics.Tools.dll</HintPath>
    365  - <Private>False</Private>
    366  - <Paket>True</Paket>
    367  - </Reference>
    368  - </ItemGroup>
    369  - </When>
    370  - </Choose>
    371  - <Choose>
    372  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'">
    373  - <ItemGroup>
    374  - <Reference Include="System.Diagnostics.Tracing">
    375  - <HintPath>..\packages\System.Diagnostics.Tracing\ref\netstandard1.1\System.Diagnostics.Tracing.dll</HintPath>
    376  - <Private>False</Private>
    377  - <Paket>True</Paket>
    378  - </Reference>
    379  - </ItemGroup>
    380  - </When>
    381  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'">
    382  - <ItemGroup>
    383  - <Reference Include="System.Diagnostics.Tracing">
    384  - <HintPath>..\packages\System.Diagnostics.Tracing\ref\netstandard1.2\System.Diagnostics.Tracing.dll</HintPath>
    385  - <Private>False</Private>
    386  - <Paket>True</Paket>
    387  - </Reference>
    388  - </ItemGroup>
    389  - </When>
    390  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')">
    391  - <ItemGroup>
    392  - <Reference Include="System.Diagnostics.Tracing">
    393  - <HintPath>..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll</HintPath>
    394  - <Private>False</Private>
    395  - <Paket>True</Paket>
    396  - </Reference>
    397  - </ItemGroup>
    398  - </When>
    399  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    400  - <ItemGroup>
    401  - <Reference Include="System.Diagnostics.Tracing">
    402  - <HintPath>..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll</HintPath>
    403  - <Private>False</Private>
    404  - <Paket>True</Paket>
    405  - </Reference>
    406  - </ItemGroup>
    407  - </When>
    408  - </Choose>
    409  - <Choose>
    410  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    411  - <ItemGroup>
    412  - <Reference Include="System.Globalization">
    413  - <HintPath>..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath>
    414  - <Private>False</Private>
    415  - <Paket>True</Paket>
    416  - </Reference>
    417  - </ItemGroup>
    418  - </When>
    419  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    420  - <ItemGroup>
    421  - <Reference Include="System.Globalization">
    422  - <HintPath>..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath>
    423  - <Private>False</Private>
    424  - <Paket>True</Paket>
    425  - </Reference>
    426  - </ItemGroup>
    427  - </When>
    428  - </Choose>
    429  - <Choose>
    430  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    431  - <ItemGroup>
    432  - <Reference Include="System.Globalization.Calendars">
    433  - <HintPath>..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll</HintPath>
    434  - <Private>True</Private>
    435  - <Paket>True</Paket>
    436  - </Reference>
    437  - </ItemGroup>
    438  - </When>
    439  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    440  - <ItemGroup>
    441  - <Reference Include="System.Globalization.Calendars">
    442  - <HintPath>..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll</HintPath>
    443  - <Private>False</Private>
    444  - <Paket>True</Paket>
    445  - </Reference>
    446  - </ItemGroup>
    447  - </When>
    448  - </Choose>
    449  - <Choose>
    450  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.7.1'">
    451  - <ItemGroup>
    452  - <Reference Include="System.Globalization.Extensions">
    453  - <HintPath>..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll</HintPath>
    454  - <Private>True</Private>
    455  - <Paket>True</Paket>
    456  - </Reference>
    457  - </ItemGroup>
    458  - </When>
    459  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    460  - <ItemGroup>
    461  - <Reference Include="System.Globalization.Extensions">
    462  - <HintPath>..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll</HintPath>
    463  - <Private>False</Private>
    464  - <Paket>True</Paket>
    465  - </Reference>
    466  - </ItemGroup>
    467  - </When>
    468  - </Choose>
    469  - <Choose>
    470  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7' Or $(TargetFrameworkVersion) == 'v4.7.1')">
    471  - <ItemGroup>
    472  - <Reference Include="System.IO">
    473  - <HintPath>..\packages\System.IO\lib\net462\System.IO.dll</HintPath>
    474  - <Private>True</Private>
    475  - <Paket>True</Paket>
    476  - </Reference>
    477  - </ItemGroup>
    478  - </When>
    479  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    480  - <ItemGroup>
    481  - <Reference Include="System.IO">
    482  - <HintPath>..\packages\System.IO\ref\netstandard1.0\System.IO.dll</HintPath>
    483  - <Private>False</Private>
    484  - <Paket>True</Paket>
    485  - </Reference>
    486  - </ItemGroup>
    487  - </When>
    488  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')">
    489  - <ItemGroup>
    490  - <Reference Include="System.IO">
    491  - <HintPath>..\packages\System.IO\ref\netstandard1.3\System.IO.dll</HintPath>
    492  - <Private>False</Private>
    493  - <Paket>True</Paket>
    494  - </Reference>
    495  - </ItemGroup>
    496  - </When>
    497  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    498  - <ItemGroup>
    499  - <Reference Include="System.IO">
    500  - <HintPath>..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath>
    501  - <Private>False</Private>
    502  - <Paket>True</Paket>
    503  - </Reference>
    504  - </ItemGroup>
    505  - </When>
    506  - </Choose>
    507  - <Choose>
    508  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    509  - <ItemGroup>
    510  - <Reference Include="System.IO.Compression">
    511  - <HintPath>..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll</HintPath>
    512  - <Private>True</Private>
    513  - <Paket>True</Paket>
    514  - </Reference>
    515  - </ItemGroup>
    516  - </When>
    517  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    518  - <ItemGroup>
    519  - <Reference Include="System.IO.Compression">
    520  - <HintPath>..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll</HintPath>
    521  - <Private>False</Private>
    522  - <Paket>True</Paket>
    523  - </Reference>
    524  - </ItemGroup>
    525  - </When>
    526  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6'))">
    527  - <ItemGroup>
    528  - <Reference Include="System.IO.Compression">
    529  - <HintPath>..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll</HintPath>
    530  - <Private>False</Private>
    531  - <Paket>True</Paket>
    532  - </Reference>
    533  - </ItemGroup>
    534  - </When>
    535  - </Choose>
    536  - <Choose>
    537  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    538  - <ItemGroup>
    539  - <Reference Include="System.IO.Compression.ZipFile">
    540  - <HintPath>..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll</HintPath>
    541  - <Private>True</Private>
    542  - <Paket>True</Paket>
    543  - </Reference>
    544  - </ItemGroup>
    545  - </When>
    546  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v5.0')">
    547  - <ItemGroup>
    548  - <Reference Include="System.IO.Compression.ZipFile">
    549  - <HintPath>..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll</HintPath>
    550  - <Private>True</Private>
    551  - <Paket>True</Paket>
    552  - </Reference>
    553  - </ItemGroup>
    554  - </When>
    555  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6'))">
    556  - <ItemGroup>
    557  - <Reference Include="System.IO.Compression.ZipFile">
    558  - <HintPath>..\packages\System.IO.Compression.ZipFile\ref\netstandard1.3\System.IO.Compression.ZipFile.dll</HintPath>
    559  - <Private>False</Private>
    560  - <Paket>True</Paket>
    561  - </Reference>
    562  - </ItemGroup>
    563  - </When>
    564  - </Choose>
    565  - <Choose>
    566  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    567  - <ItemGroup>
    568  - <Reference Include="System.IO.FileSystem">
    569  - <HintPath>..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll</HintPath>
    570  - <Private>True</Private>
    571  - <Paket>True</Paket>
    572  - </Reference>
    573  - </ItemGroup>
    574  - </When>
    575  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    576  - <ItemGroup>
    577  - <Reference Include="System.IO.FileSystem">
    578  - <HintPath>..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll</HintPath>
    579  - <Private>False</Private>
    580  - <Paket>True</Paket>
    581  - </Reference>
    582  - </ItemGroup>
    583  - </When>
    584  - </Choose>
    585  - <Choose>
    586  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    587  - <ItemGroup>
    588  - <Reference Include="System.IO.FileSystem.Primitives">
    589  - <HintPath>..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
    590  - <Private>True</Private>
    591  - <Paket>True</Paket>
    592  - </Reference>
    593  - </ItemGroup>
    594  - </When>
    595  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v5.0')">
    596  - <ItemGroup>
    597  - <Reference Include="System.IO.FileSystem.Primitives">
    598  - <HintPath>..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath>
    599  - <Private>True</Private>
    600  - <Paket>True</Paket>
    601  - </Reference>
    602  - </ItemGroup>
    603  - </When>
    604  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    605  - <ItemGroup>
    606  - <Reference Include="System.IO.FileSystem.Primitives">
    607  - <HintPath>..\packages\System.IO.FileSystem.Primitives\ref\netstandard1.3\System.IO.FileSystem.Primitives.dll</HintPath>
    608  - <Private>False</Private>
    609  - <Paket>True</Paket>
    610  - </Reference>
    611  - </ItemGroup>
    612  - </When>
    613  - </Choose>
    614  - <Choose>
    615  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7' Or $(TargetFrameworkVersion) == 'v4.7.1')">
    616  - <ItemGroup>
    617  - <Reference Include="System.Linq">
    618  - <HintPath>..\packages\System.Linq\lib\net463\System.Linq.dll</HintPath>
    619  - <Private>True</Private>
    620  - <Paket>True</Paket>
    621  - </Reference>
    622  - </ItemGroup>
    623  - </When>
    624  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')">
    625  - <ItemGroup>
    626  - <Reference Include="System.Linq">
    627  - <HintPath>..\packages\System.Linq\ref\netstandard1.0\System.Linq.dll</HintPath>
    628  - <Private>False</Private>
    629  - <Paket>True</Paket>
    630  - </Reference>
    631  - </ItemGroup>
    632  - </When>
    633  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    634  - <ItemGroup>
    635  - <Reference Include="System.Linq">
    636  - <HintPath>..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll</HintPath>
    637  - <Private>True</Private>
    638  - <Paket>True</Paket>
    639  - </Reference>
    640  - </ItemGroup>
    641  - </When>
    642  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    643  - <ItemGroup>
    644  - <Reference Include="System.Linq">
    645  - <HintPath>..\packages\System.Linq\ref\netstandard1.6\System.Linq.dll</HintPath>
    646  - <Private>False</Private>
    647  - <Paket>True</Paket>
    648  - </Reference>
    649  - </ItemGroup>
    650  - </When>
    651  - </Choose>
    652  - <Choose>
    653  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    654  - <ItemGroup>
    655  - <Reference Include="System.Linq.Expressions">
    656  - <HintPath>..\packages\System.Linq.Expressions\ref\netstandard1.0\System.Linq.Expressions.dll</HintPath>
    657  - <Private>False</Private>
    658  - <Paket>True</Paket>
    659  - </Reference>
    660  - </ItemGroup>
    661  - </When>
    662  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')">
    663  - <ItemGroup>
    664  - <Reference Include="System.Linq.Expressions">
    665  - <HintPath>..\packages\System.Linq.Expressions\ref\netstandard1.3\System.Linq.Expressions.dll</HintPath>
    666  - <Private>False</Private>
    667  - <Paket>True</Paket>
    668  - </Reference>
    669  - </ItemGroup>
    670  - </When>
    671  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    672  - <ItemGroup>
    673  - <Reference Include="System.Linq.Expressions">
    674  - <HintPath>..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll</HintPath>
    675  - <Private>True</Private>
    676  - <Paket>True</Paket>
    677  - </Reference>
    678  - </ItemGroup>
    679  - </When>
    680  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    681  - <ItemGroup>
    682  - <Reference Include="System.Linq.Expressions">
    683  - <HintPath>..\packages\System.Linq.Expressions\ref\netstandard1.6\System.Linq.Expressions.dll</HintPath>
    684  - <Private>False</Private>
    685  - <Paket>True</Paket>
    686  - </Reference>
    687  - </ItemGroup>
    688  - </When>
    689  - </Choose>
    690  - <Choose>
    691  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    692  - <ItemGroup>
    693  - <Reference Include="System.Net.Http">
    694  - <HintPath>..\packages\System.Net.Http\lib\net46\System.Net.Http.dll</HintPath>
    695  - <Private>True</Private>
    696  - <Paket>True</Paket>
    697  - </Reference>
    698  - </ItemGroup>
    699  - </When>
    700  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    701  - <ItemGroup>
    702  - <Reference Include="System.Net.Http">
    703  - <HintPath>..\packages\System.Net.Http\ref\netstandard1.1\System.Net.Http.dll</HintPath>
    704  - <Private>False</Private>
    705  - <Paket>True</Paket>
    706  - </Reference>
    707  - </ItemGroup>
    708  - </When>
    709  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    710  - <ItemGroup>
    711  - <Reference Include="System.Net.Http">
    712  - <HintPath>..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll</HintPath>
    713  - <Private>False</Private>
    714  - <Paket>True</Paket>
    715  - </Reference>
    716  - </ItemGroup>
    717  - </When>
    718  - </Choose>
    719  - <Choose>
    720  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0'">
    721  - <ItemGroup>
    722  - <Reference Include="System.Net.Primitives">
    723  - <HintPath>..\packages\System.Net.Primitives\ref\netstandard1.0\System.Net.Primitives.dll</HintPath>
    724  - <Private>False</Private>
    725  - <Paket>True</Paket>
    726  - </Reference>
    727  - </ItemGroup>
    728  - </When>
    729  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    730  - <ItemGroup>
    731  - <Reference Include="System.Net.Primitives">
    732  - <HintPath>..\packages\System.Net.Primitives\ref\netstandard1.1\System.Net.Primitives.dll</HintPath>
    733  - <Private>False</Private>
    734  - <Paket>True</Paket>
    735  - </Reference>
    736  - </ItemGroup>
    737  - </When>
    738  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    739  - <ItemGroup>
    740  - <Reference Include="System.Net.Primitives">
    741  - <HintPath>..\packages\System.Net.Primitives\ref\netstandard1.3\System.Net.Primitives.dll</HintPath>
    742  - <Private>False</Private>
    743  - <Paket>True</Paket>
    744  - </Reference>
    745  - </ItemGroup>
    746  - </When>
    747  - </Choose>
    748  - <Choose>
    749  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    750  - <ItemGroup>
    751  - <Reference Include="System.Net.Sockets">
    752  - <HintPath>..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll</HintPath>
    753  - <Private>True</Private>
    754  - <Paket>True</Paket>
    755  - </Reference>
    756  - </ItemGroup>
    757  - </When>
    758  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6'))">
    759  - <ItemGroup>
    760  - <Reference Include="System.Net.Sockets">
    761  - <HintPath>..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll</HintPath>
    762  - <Private>False</Private>
    763  - <Paket>True</Paket>
    764  - </Reference>
    765  - </ItemGroup>
    766  - </When>
    767  - </Choose>
    768  - <Choose>
    769  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    770  - <ItemGroup>
    771  - <Reference Include="System.ObjectModel">
    772  - <HintPath>..\packages\System.ObjectModel\ref\netstandard1.0\System.ObjectModel.dll</HintPath>
    773  - <Private>False</Private>
    774  - <Paket>True</Paket>
    775  - </Reference>
    776  - </ItemGroup>
    777  - </When>
    778  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    779  - <ItemGroup>
    780  - <Reference Include="System.ObjectModel">
    781  - <HintPath>..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll</HintPath>
    782  - <Private>True</Private>
    783  - <Paket>True</Paket>
    784  - </Reference>
    785  - </ItemGroup>
    786  - </When>
    787  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    788  - <ItemGroup>
    789  - <Reference Include="System.ObjectModel">
    790  - <HintPath>..\packages\System.ObjectModel\ref\netstandard1.3\System.ObjectModel.dll</HintPath>
    791  - <Private>False</Private>
    792  - <Paket>True</Paket>
    793  - </Reference>
    794  - </ItemGroup>
    795  - </When>
    796  - </Choose>
    797  - <Choose>
    798  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7' Or $(TargetFrameworkVersion) == 'v4.7.1')">
    799  - <ItemGroup>
    800  - <Reference Include="System.Reflection">
    801  - <HintPath>..\packages\System.Reflection\lib\net462\System.Reflection.dll</HintPath>
    802  - <Private>True</Private>
    803  - <Paket>True</Paket>
    804  - </Reference>
    805  - </ItemGroup>
    806  - </When>
    807  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    808  - <ItemGroup>
    809  - <Reference Include="System.Reflection">
    810  - <HintPath>..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll</HintPath>
    811  - <Private>False</Private>
    812  - <Paket>True</Paket>
    813  - </Reference>
    814  - </ItemGroup>
    815  - </When>
    816  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')">
    817  - <ItemGroup>
    818  - <Reference Include="System.Reflection">
    819  - <HintPath>..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll</HintPath>
    820  - <Private>False</Private>
    821  - <Paket>True</Paket>
    822  - </Reference>
    823  - </ItemGroup>
    824  - </When>
    825  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    826  - <ItemGroup>
    827  - <Reference Include="System.Reflection">
    828  - <HintPath>..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath>
    829  - <Private>False</Private>
    830  - <Paket>True</Paket>
    831  - </Reference>
    832  - </ItemGroup>
    833  - </When>
    834  - </Choose>
    835  - <Choose>
    836  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    837  - <ItemGroup>
    838  - <Reference Include="System.Reflection.Emit">
    839  - <HintPath>..\packages\System.Reflection.Emit\ref\netstandard1.1\System.Reflection.Emit.dll</HintPath>
    840  - <Private>False</Private>
    841  - <Paket>True</Paket>
    842  - </Reference>
    843  - </ItemGroup>
    844  - </When>
    845  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v5.0')">
    846  - <ItemGroup>
    847  - <Reference Include="System.Reflection.Emit">
    848  - <HintPath>..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll</HintPath>
    849  - <Private>True</Private>
    850  - <Paket>True</Paket>
    851  - </Reference>
    852  - </ItemGroup>
    853  - </When>
    854  - </Choose>
    855  - <Choose>
    856  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    857  - <ItemGroup>
    858  - <Reference Include="System.Reflection.Emit.ILGeneration">
    859  - <HintPath>..\packages\System.Reflection.Emit.ILGeneration\ref\netstandard1.0\System.Reflection.Emit.ILGeneration.dll</HintPath>
    860  - <Private>False</Private>
    861  - <Paket>True</Paket>
    862  - </Reference>
    863  - </ItemGroup>
    864  - </When>
    865  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v5.0')">
    866  - <ItemGroup>
    867  - <Reference Include="System.Reflection.Emit.ILGeneration">
    868  - <HintPath>..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll</HintPath>
    869  - <Private>True</Private>
    870  - <Paket>True</Paket>
    871  - </Reference>
    872  - </ItemGroup>
    873  - </When>
    874  - </Choose>
    875  - <Choose>
    876  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    877  - <ItemGroup>
    878  - <Reference Include="System.Reflection.Emit.Lightweight">
    879  - <HintPath>..\packages\System.Reflection.Emit.Lightweight\ref\netstandard1.0\System.Reflection.Emit.Lightweight.dll</HintPath>
    880  - <Private>False</Private>
    881  - <Paket>True</Paket>
    882  - </Reference>
    883  - </ItemGroup>
    884  - </When>
    885  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    886  - <ItemGroup>
    887  - <Reference Include="System.Reflection.Emit.Lightweight">
    888  - <HintPath>..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll</HintPath>
    889  - <Private>True</Private>
    890  - <Paket>True</Paket>
    891  - </Reference>
    892  - </ItemGroup>
    893  - </When>
    894  - </Choose>
    895  - <Choose>
    896  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    897  - <ItemGroup>
    898  - <Reference Include="System.Reflection.Extensions">
    899  - <HintPath>..\packages\System.Reflection.Extensions\ref\netstandard1.0\System.Reflection.Extensions.dll</HintPath>
    900  - <Private>False</Private>
    901  - <Paket>True</Paket>
    902  - </Reference>
    903  - </ItemGroup>
    904  - </When>
    905  - </Choose>
    906  - <Choose>
    907  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    908  - <ItemGroup>
    909  - <Reference Include="System.Reflection.Primitives">
    910  - <HintPath>..\packages\System.Reflection.Primitives\ref\netstandard1.0\System.Reflection.Primitives.dll</HintPath>
    911  - <Private>False</Private>
    912  - <Paket>True</Paket>
    913  - </Reference>
    914  - </ItemGroup>
    915  - </When>
    916  - </Choose>
    917  - <Choose>
    918  - <When Condition="$(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')">
    919  - <ItemGroup>
    920  - <Reference Include="System.Reflection.TypeExtensions">
    921  - <HintPath>..\packages\System.Reflection.TypeExtensions\lib\netcoreapp1.0\System.Reflection.TypeExtensions.dll</HintPath>
    922  - <Private>True</Private>
    923  - <Paket>True</Paket>
    924  - </Reference>
    925  - </ItemGroup>
    926  - </When>
    927  - <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')) Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v5.0')">
    928  - <ItemGroup>
    929  - <Reference Include="System.Reflection.TypeExtensions">
    930  - <HintPath>..\packages\System.Reflection.TypeExtensions\lib\netstandard1.3\System.Reflection.TypeExtensions.dll</HintPath>
    931  - <Private>True</Private>
    932  - <Paket>True</Paket>
    933  - </Reference>
    934  - </ItemGroup>
    935  - </When>
    936  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')">
    937  - <ItemGroup>
    938  - <Reference Include="System.Reflection.TypeExtensions">
    939  - <HintPath>..\packages\System.Reflection.TypeExtensions\ref\netstandard1.3\System.Reflection.TypeExtensions.dll</HintPath>
    940  - <Private>False</Private>
    941  - <Paket>True</Paket>
    942  - </Reference>
    943  - </ItemGroup>
    944  - </When>
    945  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')">
    946  - <ItemGroup>
    947  - <Reference Include="System.Reflection.TypeExtensions">
    948  - <HintPath>..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath>
    949  - <Private>True</Private>
    950  - <Paket>True</Paket>
    951  - </Reference>
    952  - </ItemGroup>
    953  - </When>
    954  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6'))">
    955  - <ItemGroup>
    956  - <Reference Include="System.Reflection.TypeExtensions">
    957  - <HintPath>..\packages\System.Reflection.TypeExtensions\ref\netstandard1.5\System.Reflection.TypeExtensions.dll</HintPath>
    958  - <Private>False</Private>
    959  - <Paket>True</Paket>
    960  - </Reference>
    961  - </ItemGroup>
    962  - </When>
    963  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0'">
    964  - <ItemGroup>
    965  - <Reference Include="System.Reflection.TypeExtensions">
    966  - <HintPath>..\packages\System.Reflection.TypeExtensions\lib\netstandard2.0\System.Reflection.TypeExtensions.dll</HintPath>
    967  - <Private>True</Private>
    968  - <Paket>True</Paket>
    969  - </Reference>
    970  - </ItemGroup>
    971  - </When>
    972  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0'">
    973  - <ItemGroup>
    974  - <Reference Include="System.Reflection.TypeExtensions">
    975  - <HintPath>..\packages\System.Reflection.TypeExtensions\ref\netstandard2.0\System.Reflection.TypeExtensions.dll</HintPath>
    976  - <Private>False</Private>
    977  - <Paket>True</Paket>
    978  - </Reference>
    979  - </ItemGroup>
    980  - </When>
    981  - </Choose>
    982  - <Choose>
    983  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    984  - <ItemGroup>
    985  - <Reference Include="System.Resources.ResourceManager">
    986  - <HintPath>..\packages\System.Resources.ResourceManager\ref\netstandard1.0\System.Resources.ResourceManager.dll</HintPath>
    987  - <Private>False</Private>
    988  - <Paket>True</Paket>
    989  - </Reference>
    990  - </ItemGroup>
    991  - </When>
    992  - </Choose>
    993  - <Choose>
    994  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')">
    995  - <ItemGroup>
    996  - <Reference Include="System.ComponentModel.Composition">
    997  - <Paket>True</Paket>
    998  - </Reference>
    999  - </ItemGroup>
    1000  - </When>
    1001  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7' Or $(TargetFrameworkVersion) == 'v4.7.1')">
    1002  - <ItemGroup>
    1003  - <Reference Include="System.ComponentModel.Composition">
    1004  - <Paket>True</Paket>
    1005  - </Reference>
    1006  - <Reference Include="System.Runtime">
    1007  - <HintPath>..\packages\System.Runtime\lib\net462\System.Runtime.dll</HintPath>
    1008  - <Private>True</Private>
    1009  - <Paket>True</Paket>
    1010  - </Reference>
    1011  - </ItemGroup>
    1012  - </When>
    1013  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')">
    1014  - <ItemGroup>
    1015  - <Reference Include="System.Runtime">
    1016  - <HintPath>..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath>
    1017  - <Private>False</Private>
    1018  - <Paket>True</Paket>
    1019  - </Reference>
    1020  - </ItemGroup>
    1021  - </When>
    1022  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'">
    1023  - <ItemGroup>
    1024  - <Reference Include="System.Runtime">
    1025  - <HintPath>..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath>
    1026  - <Private>False</Private>
    1027  - <Paket>True</Paket>
    1028  - </Reference>
    1029  - </ItemGroup>
    1030  - </When>
    1031  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')">
    1032  - <ItemGroup>
    1033  - <Reference Include="System.Runtime">
    1034  - <HintPath>..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath>
    1035  - <Private>False</Private>
    1036  - <Paket>True</Paket>
    1037  - </Reference>
    1038  - </ItemGroup>
    1039  - </When>
    1040  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1041  - <ItemGroup>
    1042  - <Reference Include="System.Runtime">
    1043  - <HintPath>..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath>
    1044  - <Private>False</Private>
    1045  - <Paket>True</Paket>
    1046  - </Reference>
    1047  - </ItemGroup>
    1048  - </When>
    1049  - </Choose>
    1050  - <Choose>
    1051  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7' Or $(TargetFrameworkVersion) == 'v4.7.1')">
    1052  - <ItemGroup>
    1053  - <Reference Include="System.Runtime.Extensions">
    1054  - <HintPath>..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll</HintPath>
    1055  - <Private>True</Private>
    1056  - <Paket>True</Paket>
    1057  - </Reference>
    1058  - </ItemGroup>
    1059  - </When>
    1060  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    1061  - <ItemGroup>
    1062  - <Reference Include="System.Runtime.Extensions">
    1063  - <HintPath>..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll</HintPath>
    1064  - <Private>False</Private>
    1065  - <Paket>True</Paket>
    1066  - </Reference>
    1067  - </ItemGroup>
    1068  - </When>
    1069  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')">
    1070  - <ItemGroup>
    1071  - <Reference Include="System.Runtime.Extensions">
    1072  - <HintPath>..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll</HintPath>
    1073  - <Private>False</Private>
    1074  - <Paket>True</Paket>
    1075  - </Reference>
    1076  - </ItemGroup>
    1077  - </When>
    1078  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1079  - <ItemGroup>
    1080  - <Reference Include="System.Runtime.Extensions">
    1081  - <HintPath>..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath>
    1082  - <Private>False</Private>
    1083  - <Paket>True</Paket>
    1084  - </Reference>
    1085  - </ItemGroup>
    1086  - </When>
    1087  - </Choose>
    1088  - <Choose>
    1089  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1090  - <ItemGroup>
    1091  - <Reference Include="System.Runtime.Handles">
    1092  - <HintPath>..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll</HintPath>
    1093  - <Private>False</Private>
    1094  - <Paket>True</Paket>
    1095  - </Reference>
    1096  - </ItemGroup>
    1097  - </When>
    1098  - </Choose>
    1099  - <Choose>
    1100  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.2'">
    1101  - <ItemGroup>
    1102  - <Reference Include="System.Runtime.InteropServices">
    1103  - <HintPath>..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll</HintPath>
    1104  - <Private>True</Private>
    1105  - <Paket>True</Paket>
    1106  - </Reference>
    1107  - </ItemGroup>
    1108  - </When>
    1109  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6.3' Or $(TargetFrameworkVersion) == 'v4.7' Or $(TargetFrameworkVersion) == 'v4.7.1')">
    1110  - <ItemGroup>
    1111  - <Reference Include="System.Runtime.InteropServices">
    1112  - <HintPath>..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll</HintPath>
    1113  - <Private>True</Private>
    1114  - <Paket>True</Paket>
    1115  - </Reference>
    1116  - </ItemGroup>
    1117  - </When>
    1118  - <When Condition="$(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')">
    1119  - <ItemGroup>
    1120  - <Reference Include="System.Runtime.InteropServices">
    1121  - <HintPath>..\packages\System.Runtime.InteropServices\ref\netcoreapp1.1\System.Runtime.InteropServices.dll</HintPath>
    1122  - <Private>False</Private>
    1123  - <Paket>True</Paket>
    1124  - </Reference>
    1125  - </ItemGroup>
    1126  - </When>
    1127  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.1'">
    1128  - <ItemGroup>
    1129  - <Reference Include="System.Runtime.InteropServices">
    1130  - <HintPath>..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll</HintPath>
    1131  - <Private>False</Private>
    1132  - <Paket>True</Paket>
    1133  - </Reference>
    1134  - </ItemGroup>
    1135  - </When>
    1136  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'">
    1137  - <ItemGroup>
    1138  - <Reference Include="System.Runtime.InteropServices">
    1139  - <HintPath>..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll</HintPath>
    1140  - <Private>False</Private>
    1141  - <Paket>True</Paket>
    1142  - </Reference>
    1143  - </ItemGroup>
    1144  - </When>
    1145  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')">
    1146  - <ItemGroup>
    1147  - <Reference Include="System.Runtime.InteropServices">
    1148  - <HintPath>..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll</HintPath>
    1149  - <Private>False</Private>
    1150  - <Paket>True</Paket>
    1151  - </Reference>
    1152  - </ItemGroup>
    1153  - </When>
    1154  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1155  - <ItemGroup>
    1156  - <Reference Include="System.Runtime.InteropServices">
    1157  - <HintPath>..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll</HintPath>
    1158  - <Private>False</Private>
    1159  - <Paket>True</Paket>
    1160  - </Reference>
    1161  - </ItemGroup>
    1162  - </When>
    1163  - </Choose>
    1164  - <Choose>
    1165  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6')">
    1166  - <ItemGroup>
    1167  - <Reference Include="System.Runtime.InteropServices.RuntimeInformation">
    1168  - <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
    1169  - <Private>True</Private>
    1170  - <Paket>True</Paket>
    1171  - </Reference>
    1172  - </ItemGroup>
    1173  - </When>
    1174  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1175  - <ItemGroup>
    1176  - <Reference Include="System.Runtime.InteropServices.RuntimeInformation">
    1177  - <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
    1178  - <Private>True</Private>
    1179  - <Paket>True</Paket>
    1180  - </Reference>
    1181  - </ItemGroup>
    1182  - </When>
    1183  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1184  - <ItemGroup>
    1185  - <Reference Include="System.Runtime.InteropServices.RuntimeInformation">
    1186  - <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
    1187  - <Private>False</Private>
    1188  - <Paket>True</Paket>
    1189  - </Reference>
    1190  - </ItemGroup>
    1191  - </When>
    1192  - <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v5.0')">
    1193  - <ItemGroup>
    1194  - <Reference Include="System.Runtime.InteropServices.RuntimeInformation">
    1195  - <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\wpa81\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
    1196  - <Private>True</Private>
    1197  - <Paket>True</Paket>
    1198  - </Reference>
    1199  - </ItemGroup>
    1200  - </When>
    1201  - </Choose>
    1202  - <Choose>
    1203  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1204  - <ItemGroup>
    1205  - <Reference Include="System.Runtime.Numerics">
    1206  - <HintPath>..\packages\System.Runtime.Numerics\ref\netstandard1.1\System.Runtime.Numerics.dll</HintPath>
    1207  - <Private>False</Private>
    1208  - <Paket>True</Paket>
    1209  - </Reference>
    1210  - </ItemGroup>
    1211  - </When>
    1212  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1213  - <ItemGroup>
    1214  - <Reference Include="System.Runtime.Numerics">
    1215  - <HintPath>..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll</HintPath>
    1216  - <Private>True</Private>
    1217  - <Paket>True</Paket>
    1218  - </Reference>
    1219  - </ItemGroup>
    1220  - </When>
    1221  - </Choose>
    1222  - <Choose>
    1223  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    1224  - <ItemGroup>
    1225  - <Reference Include="System.Security.Cryptography.Algorithms">
    1226  - <HintPath>..\packages\System.Security.Cryptography.Algorithms\lib\net46\System.Security.Cryptography.Algorithms.dll</HintPath>
    1227  - <Private>True</Private>
    1228  - <Paket>True</Paket>
    1229  - </Reference>
    1230  - </ItemGroup>
    1231  - </When>
    1232  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.7.1'">
    1233  - <ItemGroup>
    1234  - <Reference Include="System.Security.Cryptography.Algorithms">
    1235  - <HintPath>..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
    1236  - <Private>True</Private>
    1237  - <Paket>True</Paket>
    1238  - </Reference>
    1239  - </ItemGroup>
    1240  - </When>
    1241  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.3'">
    1242  - <ItemGroup>
    1243  - <Reference Include="System.Security.Cryptography.Algorithms">
    1244  - <HintPath>..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.3\System.Security.Cryptography.Algorithms.dll</HintPath>
    1245  - <Private>False</Private>
    1246  - <Paket>True</Paket>
    1247  - </Reference>
    1248  - </ItemGroup>
    1249  - </When>
    1250  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')">
    1251  - <ItemGroup>
    1252  - <Reference Include="System.Security.Cryptography.Algorithms">
    1253  - <HintPath>..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.4\System.Security.Cryptography.Algorithms.dll</HintPath>
    1254  - <Private>False</Private>
    1255  - <Paket>True</Paket>
    1256  - </Reference>
    1257  - </ItemGroup>
    1258  - </When>
    1259  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1260  - <ItemGroup>
    1261  - <Reference Include="System.Security.Cryptography.Algorithms">
    1262  - <HintPath>..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll</HintPath>
    1263  - <Private>False</Private>
    1264  - <Paket>True</Paket>
    1265  - </Reference>
    1266  - </ItemGroup>
    1267  - </When>
    1268  - </Choose>
    1269  - <Choose>
    1270  - <When Condition="$(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v2.0'">
    1271  - <ItemGroup>
    1272  - <Reference Include="System.Security.Cryptography.Cng">
    1273  - <HintPath>..\packages\System.Security.Cryptography.Cng\ref\netcoreapp2.0\System.Security.Cryptography.Cng.dll</HintPath>
    1274  - <Private>False</Private>
    1275  - <Paket>True</Paket>
    1276  - </Reference>
    1277  - </ItemGroup>
    1278  - </When>
    1279  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6')">
    1280  - <ItemGroup>
    1281  - <Reference Include="System.Security.Cryptography.Cng">
    1282  - <HintPath>..\packages\System.Security.Cryptography.Cng\lib\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath>
    1283  - <Private>True</Private>
    1284  - <Paket>True</Paket>
    1285  - </Reference>
    1286  - </ItemGroup>
    1287  - </When>
    1288  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6')">
    1289  - <ItemGroup>
    1290  - <Reference Include="System.Security.Cryptography.Cng">
    1291  - <HintPath>..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll</HintPath>
    1292  - <Private>False</Private>
    1293  - <Paket>True</Paket>
    1294  - </Reference>
    1295  - </ItemGroup>
    1296  - </When>
    1297  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v2.0') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0')">
    1298  - <ItemGroup>
    1299  - <Reference Include="System.Security.Cryptography.Cng">
    1300  - <HintPath>..\packages\System.Security.Cryptography.Cng\lib\netstandard2.0\System.Security.Cryptography.Cng.dll</HintPath>
    1301  - <Private>True</Private>
    1302  - <Paket>True</Paket>
    1303  - </Reference>
    1304  - </ItemGroup>
    1305  - </When>
    1306  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0'">
    1307  - <ItemGroup>
    1308  - <Reference Include="System.Security.Cryptography.Cng">
    1309  - <HintPath>..\packages\System.Security.Cryptography.Cng\ref\netstandard2.0\System.Security.Cryptography.Cng.dll</HintPath>
    1310  - <Private>False</Private>
    1311  - <Paket>True</Paket>
    1312  - </Reference>
    1313  - </ItemGroup>
    1314  - </When>
    1315  - </Choose>
    1316  - <Choose>
    1317  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1318  - <ItemGroup>
    1319  - <Reference Include="System.Security.Cryptography.Csp">
    1320  - <HintPath>..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll</HintPath>
    1321  - <Private>False</Private>
    1322  - <Paket>True</Paket>
    1323  - </Reference>
    1324  - </ItemGroup>
    1325  - </When>
    1326  - </Choose>
    1327  - <Choose>
    1328  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.7.1')">
    1329  - <ItemGroup>
    1330  - <Reference Include="System.Security.Cryptography.Encoding">
    1331  - <HintPath>..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
    1332  - <Private>True</Private>
    1333  - <Paket>True</Paket>
    1334  - </Reference>
    1335  - </ItemGroup>
    1336  - </When>
    1337  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1338  - <ItemGroup>
    1339  - <Reference Include="System.Security.Cryptography.Encoding">
    1340  - <HintPath>..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll</HintPath>
    1341  - <Private>False</Private>
    1342  - <Paket>True</Paket>
    1343  - </Reference>
    1344  - </ItemGroup>
    1345  - </When>
    1346  - </Choose>
    1347  - <Choose>
    1348  - <When Condition="$(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v2.0'">
    1349  - <ItemGroup>
    1350  - <Reference Include="System.Security.Cryptography.OpenSsl">
    1351  - <HintPath>..\packages\System.Security.Cryptography.OpenSsl\ref\netcoreapp2.0\System.Security.Cryptography.OpenSsl.dll</HintPath>
    1352  - <Private>False</Private>
    1353  - <Paket>True</Paket>
    1354  - </Reference>
    1355  - </ItemGroup>
    1356  - </When>
    1357  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6')">
    1358  - <ItemGroup>
    1359  - <Reference Include="System.Security.Cryptography.OpenSsl">
    1360  - <HintPath>..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath>
    1361  - <Private>True</Private>
    1362  - <Paket>True</Paket>
    1363  - </Reference>
    1364  - </ItemGroup>
    1365  - </When>
    1366  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6')">
    1367  - <ItemGroup>
    1368  - <Reference Include="System.Security.Cryptography.OpenSsl">
    1369  - <HintPath>..\packages\System.Security.Cryptography.OpenSsl\ref\netstandard1.6\System.Security.Cryptography.OpenSsl.dll</HintPath>
    1370  - <Private>False</Private>
    1371  - <Paket>True</Paket>
    1372  - </Reference>
    1373  - </ItemGroup>
    1374  - </When>
    1375  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v2.0') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0')">
    1376  - <ItemGroup>
    1377  - <Reference Include="System.Security.Cryptography.OpenSsl">
    1378  - <HintPath>..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard2.0\System.Security.Cryptography.OpenSsl.dll</HintPath>
    1379  - <Private>True</Private>
    1380  - <Paket>True</Paket>
    1381  - </Reference>
    1382  - </ItemGroup>
    1383  - </When>
    1384  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0'">
    1385  - <ItemGroup>
    1386  - <Reference Include="System.Security.Cryptography.OpenSsl">
    1387  - <HintPath>..\packages\System.Security.Cryptography.OpenSsl\ref\netstandard2.0\System.Security.Cryptography.OpenSsl.dll</HintPath>
    1388  - <Private>False</Private>
    1389  - <Paket>True</Paket>
    1390  - </Reference>
    1391  - </ItemGroup>
    1392  - </When>
    1393  - </Choose>
    1394  - <Choose>
    1395  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.7.1')">
    1396  - <ItemGroup>
    1397  - <Reference Include="System.Security.Cryptography.Primitives">
    1398  - <HintPath>..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
    1399  - <Private>True</Private>
    1400  - <Paket>True</Paket>
    1401  - </Reference>
    1402  - </ItemGroup>
    1403  - </When>
    1404  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v5.0')">
    1405  - <ItemGroup>
    1406  - <Reference Include="System.Security.Cryptography.Primitives">
    1407  - <HintPath>..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath>
    1408  - <Private>True</Private>
    1409  - <Paket>True</Paket>
    1410  - </Reference>
    1411  - </ItemGroup>
    1412  - </When>
    1413  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1414  - <ItemGroup>
    1415  - <Reference Include="System.Security.Cryptography.Primitives">
    1416  - <HintPath>..\packages\System.Security.Cryptography.Primitives\ref\netstandard1.3\System.Security.Cryptography.Primitives.dll</HintPath>
    1417  - <Private>False</Private>
    1418  - <Paket>True</Paket>
    1419  - </Reference>
    1420  - </ItemGroup>
    1421  - </When>
    1422  - </Choose>
    1423  - <Choose>
    1424  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    1425  - <ItemGroup>
    1426  - <Reference Include="System.Security.Cryptography.X509Certificates">
    1427  - <HintPath>..\packages\System.Security.Cryptography.X509Certificates\lib\net46\System.Security.Cryptography.X509Certificates.dll</HintPath>
    1428  - <Private>True</Private>
    1429  - <Paket>True</Paket>
    1430  - </Reference>
    1431  - </ItemGroup>
    1432  - </When>
    1433  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.7.1'">
    1434  - <ItemGroup>
    1435  - <Reference Include="System.Security.Cryptography.X509Certificates">
    1436  - <HintPath>..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
    1437  - <Private>True</Private>
    1438  - <Paket>True</Paket>
    1439  - </Reference>
    1440  - </ItemGroup>
    1441  - </When>
    1442  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.3'">
    1443  - <ItemGroup>
    1444  - <Reference Include="System.Security.Cryptography.X509Certificates">
    1445  - <HintPath>..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.3\System.Security.Cryptography.X509Certificates.dll</HintPath>
    1446  - <Private>False</Private>
    1447  - <Paket>True</Paket>
    1448  - </Reference>
    1449  - </ItemGroup>
    1450  - </When>
    1451  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1452  - <ItemGroup>
    1453  - <Reference Include="System.Security.Cryptography.X509Certificates">
    1454  - <HintPath>..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll</HintPath>
    1455  - <Private>False</Private>
    1456  - <Paket>True</Paket>
    1457  - </Reference>
    1458  - </ItemGroup>
    1459  - </When>
    1460  - </Choose>
    1461  - <Choose>
    1462  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    1463  - <ItemGroup>
    1464  - <Reference Include="System.Text.Encoding">
    1465  - <HintPath>..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll</HintPath>
    1466  - <Private>False</Private>
    1467  - <Paket>True</Paket>
    1468  - </Reference>
    1469  - </ItemGroup>
    1470  - </When>
    1471  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1472  - <ItemGroup>
    1473  - <Reference Include="System.Text.Encoding">
    1474  - <HintPath>..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath>
    1475  - <Private>False</Private>
    1476  - <Paket>True</Paket>
    1477  - </Reference>
    1478  - </ItemGroup>
    1479  - </When>
    1480  - </Choose>
    1481  - <Choose>
    1482  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    1483  - <ItemGroup>
    1484  - <Reference Include="System.Text.Encoding.Extensions">
    1485  - <HintPath>..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll</HintPath>
    1486  - <Private>False</Private>
    1487  - <Paket>True</Paket>
    1488  - </Reference>
    1489  - </ItemGroup>
    1490  - </When>
    1491  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1492  - <ItemGroup>
    1493  - <Reference Include="System.Text.Encoding.Extensions">
    1494  - <HintPath>..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll</HintPath>
    1495  - <Private>False</Private>
    1496  - <Paket>True</Paket>
    1497  - </Reference>
    1498  - </ItemGroup>
    1499  - </When>
    1500  - </Choose>
    1501  - <Choose>
    1502  - <When Condition="$(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')">
    1503  - <ItemGroup>
    1504  - <Reference Include="System.Text.RegularExpressions">
    1505  - <HintPath>..\packages\System.Text.RegularExpressions\ref\netcoreapp1.1\System.Text.RegularExpressions.dll</HintPath>
    1506  - <Private>False</Private>
    1507  - <Paket>True</Paket>
    1508  - </Reference>
    1509  - </ItemGroup>
    1510  - </When>
    1511  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    1512  - <ItemGroup>
    1513  - <Reference Include="System.Text.RegularExpressions">
    1514  - <HintPath>..\packages\System.Text.RegularExpressions\ref\netstandard1.0\System.Text.RegularExpressions.dll</HintPath>
    1515  - <Private>False</Private>
    1516  - <Paket>True</Paket>
    1517  - </Reference>
    1518  - </ItemGroup>
    1519  - </When>
    1520  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')">
    1521  - <ItemGroup>
    1522  - <Reference Include="System.Text.RegularExpressions">
    1523  - <HintPath>..\packages\System.Text.RegularExpressions\ref\netstandard1.3\System.Text.RegularExpressions.dll</HintPath>
    1524  - <Private>False</Private>
    1525  - <Paket>True</Paket>
    1526  - </Reference>
    1527  - </ItemGroup>
    1528  - </When>
    1529  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1530  - <ItemGroup>
    1531  - <Reference Include="System.Text.RegularExpressions">
    1532  - <HintPath>..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll</HintPath>
    1533  - <Private>True</Private>
    1534  - <Paket>True</Paket>
    1535  - </Reference>
    1536  - </ItemGroup>
    1537  - </When>
    1538  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1539  - <ItemGroup>
    1540  - <Reference Include="System.Text.RegularExpressions">
    1541  - <HintPath>..\packages\System.Text.RegularExpressions\ref\netstandard1.6\System.Text.RegularExpressions.dll</HintPath>
    1542  - <Private>False</Private>
    1543  - <Paket>True</Paket>
    1544  - </Reference>
    1545  - </ItemGroup>
    1546  - </When>
    1547  - </Choose>
    1548  - <Choose>
    1549  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    1550  - <ItemGroup>
    1551  - <Reference Include="System.Threading">
    1552  - <HintPath>..\packages\System.Threading\ref\netstandard1.0\System.Threading.dll</HintPath>
    1553  - <Private>False</Private>
    1554  - <Paket>True</Paket>
    1555  - </Reference>
    1556  - </ItemGroup>
    1557  - </When>
    1558  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1559  - <ItemGroup>
    1560  - <Reference Include="System.Threading">
    1561  - <HintPath>..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll</HintPath>
    1562  - <Private>True</Private>
    1563  - <Paket>True</Paket>
    1564  - </Reference>
    1565  - </ItemGroup>
    1566  - </When>
    1567  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1568  - <ItemGroup>
    1569  - <Reference Include="System.Threading">
    1570  - <HintPath>..\packages\System.Threading\ref\netstandard1.3\System.Threading.dll</HintPath>
    1571  - <Private>False</Private>
    1572  - <Paket>True</Paket>
    1573  - </Reference>
    1574  - </ItemGroup>
    1575  - </When>
    1576  - </Choose>
    1577  - <Choose>
    1578  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    1579  - <ItemGroup>
    1580  - <Reference Include="System.Threading.Tasks">
    1581  - <HintPath>..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll</HintPath>
    1582  - <Private>False</Private>
    1583  - <Paket>True</Paket>
    1584  - </Reference>
    1585  - </ItemGroup>
    1586  - </When>
    1587  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1588  - <ItemGroup>
    1589  - <Reference Include="System.Threading.Tasks">
    1590  - <HintPath>..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath>
    1591  - <Private>False</Private>
    1592  - <Paket>True</Paket>
    1593  - </Reference>
    1594  - </ItemGroup>
    1595  - </When>
    1596  - </Choose>
    1597  - <Choose>
    1598  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6'))">
    1599  - <ItemGroup>
    1600  - <Reference Include="System.Threading.Tasks.Extensions">
    1601  - <HintPath>..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll</HintPath>
    1602  - <Private>True</Private>
    1603  - <Paket>True</Paket>
    1604  - </Reference>
    1605  - </ItemGroup>
    1606  - </When>
    1607  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0'">
    1608  - <ItemGroup>
    1609  - <Reference Include="System.Threading.Tasks.Extensions">
    1610  - <HintPath>..\packages\System.Threading.Tasks.Extensions\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
    1611  - <Private>True</Private>
    1612  - <Paket>True</Paket>
    1613  - </Reference>
    1614  - </ItemGroup>
    1615  - </When>
    1616  - </Choose>
    1617  - <Choose>
    1618  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6'))">
    1619  - <ItemGroup>
    1620  - <Reference Include="System.Threading.Timer">
    1621  - <HintPath>..\packages\System.Threading.Timer\ref\netstandard1.2\System.Threading.Timer.dll</HintPath>
    1622  - <Private>False</Private>
    1623  - <Paket>True</Paket>
    1624  - </Reference>
    1625  - </ItemGroup>
    1626  - </When>
    1627  - </Choose>
    1628  - <Choose>
    1629  - <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6'">
    1630  - <ItemGroup>
    1631  - <Reference Include="System.Xml.ReaderWriter">
    1632  - <HintPath>..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
    1633  - <Private>True</Private>
    1634  - <Paket>True</Paket>
    1635  - </Reference>
    1636  - </ItemGroup>
    1637  - </When>
    1638  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    1639  - <ItemGroup>
    1640  - <Reference Include="System.Xml.ReaderWriter">
    1641  - <HintPath>..\packages\System.Xml.ReaderWriter\ref\netstandard1.0\System.Xml.ReaderWriter.dll</HintPath>
    1642  - <Private>False</Private>
    1643  - <Paket>True</Paket>
    1644  - </Reference>
    1645  - </ItemGroup>
    1646  - </When>
    1647  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1648  - <ItemGroup>
    1649  - <Reference Include="System.Xml.ReaderWriter">
    1650  - <HintPath>..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll</HintPath>
    1651  - <Private>True</Private>
    1652  - <Paket>True</Paket>
    1653  - </Reference>
    1654  - </ItemGroup>
    1655  - </When>
    1656  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1657  - <ItemGroup>
    1658  - <Reference Include="System.Xml.ReaderWriter">
    1659  - <HintPath>..\packages\System.Xml.ReaderWriter\ref\netstandard1.3\System.Xml.ReaderWriter.dll</HintPath>
    1660  - <Private>False</Private>
    1661  - <Paket>True</Paket>
    1662  - </Reference>
    1663  - </ItemGroup>
    1664  - </When>
    1665  - </Choose>
    1666  - <Choose>
    1667  - <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
    1668  - <ItemGroup>
    1669  - <Reference Include="System.Xml.XDocument">
    1670  - <HintPath>..\packages\System.Xml.XDocument\ref\netstandard1.0\System.Xml.XDocument.dll</HintPath>
    1671  - <Private>False</Private>
    1672  - <Paket>True</Paket>
    1673  - </Reference>
    1674  - </ItemGroup>
    1675  - </When>
    1676  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1677  - <ItemGroup>
    1678  - <Reference Include="System.Xml.XDocument">
    1679  - <HintPath>..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll</HintPath>
    1680  - <Private>True</Private>
    1681  - <Paket>True</Paket>
    1682  - </Reference>
    1683  - </ItemGroup>
    1684  - </When>
    1685  - <When Condition="($(TargetFrameworkIdentifier) == '.NETCoreApp' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v2.0')) Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6' Or $(TargetFrameworkVersion) == 'v2.0'))">
    1686  - <ItemGroup>
    1687  - <Reference Include="System.Xml.XDocument">
    1688  - <HintPath>..\packages\System.Xml.XDocument\ref\netstandard1.3\System.Xml.XDocument.dll</HintPath>
    1689  - <Private>False</Private>
    1690  - <Paket>True</Paket>
    1691  - </Reference>
    1692  - </ItemGroup>
    1693  - </When>
    1694  - </Choose>
    1695  - <Import Project="..\packages\NETStandard.Library\build\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library\build\NETStandard.Library.targets')" Label="Paket" />
    1696  - <Import Project="..\packages\NETStandard.Library\build\$(__paket__NETStandard_Library_targets).targets" Condition="Exists('..\packages\NETStandard.Library\build\$(__paket__NETStandard_Library_targets).targets')" Label="Paket" />
    1697  -</Project>
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/MessageAdapters.fs
    1  -namespace ES.Taipan.Application
    2  - 
    3  -open System
    4  -open System.Collections.Generic
    5  -open ES.Taipan.Crawler
    6  -open ES.Taipan.Inspector
    7  -open ES.Taipan.Fingerprinter
    8  -open ES.Taipan.Discoverer
    9  -open ES.Taipan.Infrastructure.Network
    10  - 
    11  -[<AutoOpen>]
    12  -module MessageAdapters =
    13  - 
    14  - // page re-processed conversion functions
    15  - let convertPageReProcessedToTestRequest(message: PageReProcessedMessage) =
    16  - new TestRequest(message.Link.Request, message.WebResponse, ReCrawledPage, message.Link)
    17  - 
    18  - // page processed conversion functions
    19  - let convertPageProcessedToTestRequest(message: PageProcessedMessage) =
    20  - new TestRequest(message.Link.Request, message.WebResponse, CrawledPage, message.Link)
    21  - 
    22  - let convertPageProcessedToFingerprintRequest(message: PageProcessedMessage) =
    23  - new FingerprintRequest(message.Link.Request.HttpRequest)
    24  - 
    25  - let convertPageProcessedToResourceDiscovererRequest(message: PageProcessedMessage) =
    26  - new DiscoverRequest(message.Link.Request.HttpRequest)
    27  - 
    28  - // resource discovered conversion functions
    29  - let convertNewResourceDiscoveredToFingerprintRequest(message: NewResourceDiscoveredMessage) =
    30  - new FingerprintRequest(message.Resource.Request)
    31  - 
    32  - let convertNewResourceDiscoveredToTestRequest(message: NewResourceDiscoveredMessage) =
    33  - let webRequest = new WebRequest(message.Resource.Request)
    34  - let emptyWebResponse = new WebResponse(new HttpResponse())
    35  - new TestRequest(webRequest, emptyWebResponse, HiddenResource, message.Resource)
    36  - 
    37  - let convertNewResourceDiscoveredToCrawlRequest(message: NewResourceDiscoveredMessage) =
    38  - new CrawlRequest(new WebRequest(message.Resource.Request))
    39  -
    40  - // fingerprinter conversion functions
    41  - let convertWebApplicationIdentifiedToTestRequest(message: NewWebApplicationIdentifiedMessage) =
    42  - let webRequest = new WebRequest(message.WebApplication.Request.Request)
    43  - let emptyWebResponse = new WebResponse(new HttpResponse())
    44  - new TestRequest(webRequest, emptyWebResponse, TestRequestType.WebApplicationIdentified, message.WebApplication)
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/Scan.fs
    1  -namespace ES.Taipan.Application
    2  - 
    3  -open System
    4  -open System.Net
    5  -open System.Threading
    6  -open System.Collections.Concurrent
    7  -open Autofac
    8  -open ES.Taipan.Infrastructure.Messaging
    9  -open ES.Taipan.Infrastructure.Service
    10  -open ES.Taipan.Infrastructure.Network
    11  -open ES.Taipan.Fingerprinter
    12  -open ES.Taipan.Inspector
    13  -open ES.Taipan.Crawler
    14  -open ES.Taipan.Discoverer
    15  -open ES.Fslog
    16  -open System.Runtime.Remoting.Messaging
    17  -open System.Net.NetworkInformation
    18  - 
    19  -type ScanState =
    20  - | Created
    21  - | Running
    22  - | Paused
    23  - | Stopped
    24  - | Completed
    25  - | Error
    26  - 
    27  - override this.ToString() =
    28  - match this with
    29  - | Error -> "Error"
    30  - | Created -> "Created"
    31  - | Running -> "Running"
    32  - | Paused -> "Parsed"
    33  - | Stopped -> "Stopped"
    34  - | Completed -> "Completed"
    35  -
    36  -type Scan(scanContext: ScanContext, logProvider: ILogProvider) as this =
    37  - let _serviceMetrics = new ServiceMetrics("Scan")
    38  - let _waitLock = new ManualResetEventSlim(false)
    39  - let _serviceCompletedLock = new Object()
    40  - 
    41  - // local storage for assessment phase
    42  - let mutable _newResourceDiscoveredMessageList = new ConcurrentQueue<NewResourceDiscoveredMessage>()
    43  - let mutable _pageProcessedMessageList = new ConcurrentQueue<PageProcessedMessage>()
    44  - let mutable _pageReProcessedMessage = new ConcurrentQueue<PageReProcessedMessage>()
    45  - let mutable _assessmentPhaseStarted = false
    46  - let mutable _stopRequested = false
    47  - 
    48  - let _logger = new ScanLogger()
    49  - let mutable _container : IContainer option = None
    50  - let mutable _messageBroker : IMessageBroker option = None
    51  - let mutable _scanWorkflow: ScanWorkflow option = None
    52  - let mutable _serviceCompletedFunctionCalled = false
    53  -
    54  - do logProvider.AddLogSourceToLoggers(_logger)
    55  -
    56  - // events definition
    57  - let _processStarted = new Event<Scan>()
    58  - let _processCompleted = new Event<Scan>()
    59  - let _pageProcessed = new Event<PageProcessedMessage>()
    60  - let _pageReProcessed = new Event<PageReProcessedMessage>()
    61  - let _webServerFingerprinted = new Event<WebServerFingerprint>()
    62  - let _newSecurityIssueFound = new Event<NewSecurityIssueFoundMessage>()
    63  - let _newApplicationIdentified = new Event<NewWebApplicationIdentifiedMessage>()
    64  - let _newResourceDiscovered = new Event<NewResourceDiscoveredMessage>()
    65  -
    66  - let serviceCompleted (inIdleState: Boolean) (service: IService) =
    67  - lock _serviceCompletedLock (fun() ->
    68  - _scanWorkflow.Value.ServiceCompleted(service, inIdleState)
    69  - if _scanWorkflow.Value.AllServicesCompleted() && not _serviceCompletedFunctionCalled then
    70  - _serviceCompletedFunctionCalled <- true
    71  - this.FinishedAt <- DateTime.UtcNow
    72  - _processCompleted.Trigger(this)
    73  - if this.State = ScanState.Running then
    74  - this.State <- ScanState.Completed
    75  - _logger.ScanCompleted(scanContext, this.GetDuration())
    76  - _serviceMetrics.AddMetric("Status", "completed")
    77  - )
    78  - 
    79  - let checkForJourneyScanRequest(scanContext: ScanContext) =
    80  - if scanContext.Template.HttpRequestorSettings.Journey.Paths |> Seq.isEmpty |> not then
    81  - // enabled Journey Scan, need to force some specific settings
    82  - scanContext.Template.RunResourceDiscoverer <- false
    83  - scanContext.Template.RunWebAppFingerprinter <- false
    84  - 
    85  - let checkForRedirectToWww(uri: Uri, httpResponse: HttpResponse) =
    86  - if HttpUtility.isRedirect(httpResponse.StatusCode) then
    87  - match HttpUtility.tryGetHeader( "Location", httpResponse.Headers) with
    88  - | Some hdr ->
    89  - let originHost = (new UriBuilder(uri)).Host
    90  - let redirectHost = (new UriBuilder(new Uri(hdr.Value))).Host
    91  - if redirectHost.Equals("www." + originHost, StringComparison.OrdinalIgnoreCase)
    92  - then Some hdr.Value
    93  - else None
    94  - | None -> None
    95  - else None
    96  - 
    97  - let runAssessmentPhase() =
    98  - if not _assessmentPhaseStarted then
    99  - _serviceMetrics.AddMetric("In run assessment phase", "true")
    100  - _assessmentPhaseStarted <- true
    101  - _logger.StartAssessment(scanContext.StartRequest.HttpRequest.Uri.AbsoluteUri)
    102  - 
    103  - _newResourceDiscoveredMessageList
    104  - |> Seq.iter(fun message ->
    105  - if not _stopRequested then
    106  - // notify other components
    107  - if scanContext.Template.RunWebAppFingerprinter then
    108  - _messageBroker.Value.Dispatch(this, convertNewResourceDiscoveredToFingerprintRequest(message))
    109  - 
    110  - if scanContext.Template.RunVulnerabilityScanner then
    111  - _messageBroker.Value.Dispatch(this, convertNewResourceDiscoveredToTestRequest(message))
    112  - )
    113  - 
    114  - _pageProcessedMessageList
    115  - |> Seq.iter(fun message ->
    116  - if not _stopRequested then
    117  - if scanContext.Template.RunWebAppFingerprinter then
    118  - _messageBroker.Value.Dispatch(this, convertPageProcessedToFingerprintRequest(message))
    119  - 
    120  - if scanContext.Template.RunVulnerabilityScanner then
    121  - _messageBroker.Value.Dispatch(this, convertPageProcessedToTestRequest(message))
    122  - )
    123  - 
    124  - _pageReProcessedMessage
    125  - |> Seq.iter(fun message ->
    126  - if not _stopRequested then
    127  - // notify other components
    128  - if scanContext.Template.RunVulnerabilityScanner then
    129  - _messageBroker.Value.Dispatch(this, convertPageReProcessedToTestRequest(message))
    130  - )
    131  - 
    132  - // cleanup
    133  - _newResourceDiscoveredMessageList <- new ConcurrentQueue<NewResourceDiscoveredMessage>()
    134  - _pageProcessedMessageList <- new ConcurrentQueue<PageProcessedMessage>()
    135  - _pageReProcessedMessage <- new ConcurrentQueue<PageReProcessedMessage>()
    136  - 
    137  - let rec getAllMetrics(serviceMetrics: ServiceMetrics) = [
    138  - yield serviceMetrics
    139  - let allMetrics =
    140  - serviceMetrics.GetAllSubMetrics()
    141  - |> Seq.map(fun kv -> getAllMetrics(kv.Value))
    142  - |> Seq.concat
    143  - 
    144  - yield! allMetrics
    145  - ]
    146  - 
    147  - let handleNewWebPageRequestorMessage(sender: Object, message: Envelope<NewWebPageRequestorMessage>) =
    148  - let webPageRequestor = _container.Value.Resolve<IWebPageRequestor>()
    149  - message.Item.WebPageRequestor <- Some webPageRequestor
    150  - 
    151  - let getTaipanIp() =
    152  - let mutable ip = "<no network>"
    153  - if NetworkInterface.GetIsNetworkAvailable() then
    154  - NetworkInterface.GetAllNetworkInterfaces()
    155  - |> Seq.filter(fun network -> network.NetworkInterfaceType = NetworkInterfaceType.Ethernet)
    156  - |> Seq.map(fun network -> network.GetIPProperties().UnicastAddresses)
    157  - |> Seq.concat
    158  - |> Seq.filter(fun ip -> ip.Address.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork)
    159  - |> Seq.tryHead
    160  - |> function
    161  - | Some ipInfo -> ip <- ipInfo.Address.ToString()
    162  - | None -> ()
    163  - ip
    164  -
    165  - do
    166  - _serviceMetrics.AddMetric("Status", "created")
    167  - if scanContext.Template.CrawlerSettings.Scope <> NavigationScope.WholeDomain then
    168  - // need to adjust the discovere depth in order to avoid meaningless scan
    169  - let absolutePath = scanContext.StartRequest.HttpRequest.Uri.AbsolutePath
    170  - let directories = absolutePath.Split([|"/"|], StringSplitOptions.RemoveEmptyEntries)
    171  - scanContext.Template.ResourceDiscovererSettings.RecursiveDepth <- scanContext.Template.ResourceDiscovererSettings.RecursiveDepth + directories.Length
    172  -
    173  - let builder = new ContainerBuilder()
    174  - ignore(
    175  - builder.RegisterType<ScanWorkflow>().WithParameter("runAssessmentPhaseCallback", runAssessmentPhase),
    176  - builder.RegisterInstance(logProvider).As<ILogProvider>().SingleInstance(),
    177  - builder.RegisterType<DefaultHttpRequestor>().As<IHttpRequestor>(),
    178  - builder.RegisterInstance(scanContext.Template.HttpRequestorSettings).As<HttpRequestorSettings>().SingleInstance(),
    179  - builder.RegisterType<HeuristicPageNotFoundIdentifier>().As<IPageNotFoundIdentifier>().SingleInstance(),
    180  - builder.RegisterType<DefaultWebPageRequestor>().As<IWebPageRequestor>(),
    181  - builder.RegisterType<DefaultMessageBroker>().As<IMessageBroker>().SingleInstance(),
    182  - 
    183  - builder.RegisterInstance(scanContext.Template.VulnerabilityScannerSettings).As<VulnerabilityScannerSettings>().SingleInstance(),
    184  - builder.RegisterType<FilesystemVulnerabilityScannerAddOnManager>().As<IVulnerabilityScannerAddOnManager>(),
    185  - builder.RegisterType<DefaultVulnerabilityScanner>().As<IVulnerabilityScanner>(),
    186  - 
    187  - builder.RegisterInstance(scanContext.Template.WebAppFingerprinterSettings).As<WebAppFingerprinterSettings>().SingleInstance(),
    188  - builder.RegisterType<FilesystemWebApplicationFingerprintRepository>().As<IWebApplicationFingerprintRepository>().SingleInstance(),
    189  - builder.RegisterType<DefaultWebServerFingerprinter>().As<IWebServerFingerprinter>().SingleInstance(),
    190  - builder.RegisterType<DefaultWebAppFingerprinter>().As<IWebAppFingerprinter>(),
    191  - 
    192  - builder.RegisterInstance(scanContext.Template.ResourceDiscovererSettings).As<ResourceDiscovererSettings>().SingleInstance(),
    193  - builder.RegisterType<FilesystemResourceRepository>().As<IResourceRepository>().SingleInstance(),
    194  - builder.RegisterType<DefaultResourceDiscoverer>().As<IResourceDiscoverer>(),
    195  - 
    196  - builder.RegisterInstance(scanContext.Template.CrawlerSettings).As<CrawlerSettings>().SingleInstance(),
    197  - builder.RegisterType<FilesystemAddOnManager>().As<ICrawlerAddOnManager>(),
    198  - builder.RegisterType<DefaultCrawler>().As<ICrawler>()
    199  - )
    200  - 
    201  - _container <- Some(builder.Build())
    202  -
    203  - // resolve needed objects
    204  - _container.Value.Resolve<IMessageBroker>().Subscribe(handleNewWebPageRequestorMessage)
    205  - _scanWorkflow <- Some(_container.Value.Resolve<ScanWorkflow>())
    206  -
    207  - // events objects
    208  - member this.ProcessStarted = _processStarted.Publish
    209  - member this.ProcessCompleted = _processCompleted.Publish
    210  - member this.PageProcessed = _pageProcessed.Publish
    211  - member this.PageReProcessed = _pageReProcessed.Publish
    212  - member this.NewSecurityIssueFound = _newSecurityIssueFound.Publish
    213  - member this.NewApplicationIdentified = _newApplicationIdentified.Publish
    214  - member this.NewResourceDiscovered = _newResourceDiscovered.Publish
    215  - member this.WebServerFingerprinted = _webServerFingerprinted.Publish
    216  - 
    217  - abstract NewSecurityIssueFoundMessageHandle : Object * Envelope<NewSecurityIssueFoundMessage> -> unit
    218  - default this.NewSecurityIssueFoundMessageHandle(sender: Object, envelope: Envelope<NewSecurityIssueFoundMessage>) =
    219  - let message = envelope.Item
    220  - _newSecurityIssueFound.Trigger(message)
    221  - 
    222  - abstract NewWebApplicationIdentifiedMessageHandle : Object * Envelope<NewWebApplicationIdentifiedMessage> -> unit
    223  - default this.NewWebApplicationIdentifiedMessageHandle(sender: Object, envelope: Envelope<NewWebApplicationIdentifiedMessage>) =
    224  - let message = envelope.Item
    225  - _newApplicationIdentified.Trigger(message)
    226  -
    227  - // notify other components
    228  - if scanContext.Template.RunWebAppFingerprinter then
    229  - _messageBroker.Value.Dispatch(this, convertWebApplicationIdentifiedToTestRequest(message))
    230  - 
    231  - abstract NewResourceDiscoveredMessageHandle : Object * Envelope<NewResourceDiscoveredMessage> -> unit
    232  - default this.NewResourceDiscoveredMessageHandle(sender: Object, envelope: Envelope<NewResourceDiscoveredMessage> ) =
    233  - let message = envelope.Item
    234  - _newResourceDiscovered.Trigger(message)
    235  - _newResourceDiscoveredMessageList.Enqueue(message)
    236  - 
    237  - if scanContext.Template.RunCrawler then
    238  - _messageBroker.Value.Dispatch(this, convertNewResourceDiscoveredToCrawlRequest(message))
    239  - 
    240  - abstract PageProcessedMessageHandler : Object * Envelope<PageProcessedMessage> -> unit
    241  - default this.PageProcessedMessageHandler(sender: Object, envelope: Envelope<PageProcessedMessage>) =
    242  - let message = envelope.Item
    243  - _pageProcessed.Trigger(message)
    244  - _pageProcessedMessageList.Enqueue(message)
    245  - 
    246  - // notify other components
    247  - if scanContext.Template.RunResourceDiscoverer then
    248  - _messageBroker.Value.Dispatch(this, convertPageProcessedToResourceDiscovererRequest(message))
    249  -
    250  - abstract PageReProcessedMessageHandler : Object * Envelope<PageReProcessedMessage> -> unit
    251  - default this.PageReProcessedMessageHandler(sender: Object, envelope: Envelope<PageReProcessedMessage>) =
    252  - let message = envelope.Item
    253  - _pageReProcessed.Trigger(message)
    254  - _pageReProcessedMessage.Enqueue(message)
    255  - 
    256  - member this.GetServiceMetrics() =
    257  - let metricMessage = new RequestMetricsMessage()
    258  - _messageBroker.Value.Dispatch(this, metricMessage)
    259  - metricMessage.GetResults()
    260  - |> Seq.map(fun kv -> getAllMetrics(kv.Value :?> ServiceMetrics))
    261  - |> Seq.concat
    262  - |> Seq.toList
    263  - |> fun metrics -> _serviceMetrics::metrics
    264  -
    265  - member internal this.StartScanIp(ip: String) =
    266  - _serviceMetrics.AddMetric("Status", "running")
    267  - _logger.ScanStarted(ip, scanContext)
    268  - _logger.TaipanIp(getTaipanIp())
    269  - _logger.UsedTemplate(scanContext.Template)
    270  -
    271  - this.State <- ScanState.Running
    272  - _processStarted.Trigger(this)
    273  - this.ProcessCompleted.Add(fun _ -> _waitLock.Set())
    274  -
    275  - let container = _container.Value
    276  - 
    277  - // handlers registration
    278  - _messageBroker <- Some <| container.Resolve<IMessageBroker>()
    279  - _messageBroker.Value.Subscribe<PageProcessedMessage>(this.PageProcessedMessageHandler)
    280  - _messageBroker.Value.Subscribe<PageReProcessedMessage>(this.PageReProcessedMessageHandler)
    281  - _messageBroker.Value.Subscribe<NewWebApplicationIdentifiedMessage>(this.NewWebApplicationIdentifiedMessageHandle)
    282  - _messageBroker.Value.Subscribe<NewResourceDiscoveredMessage>(this.NewResourceDiscoveredMessageHandle)
    283  - _messageBroker.Value.Subscribe<NewSecurityIssueFoundMessage>(this.NewSecurityIssueFoundMessageHandle)
    284  -
    285  - // fingerprint the server to guess the extension
    286  - let webServerFingerprint = container.Resolve<IWebServerFingerprinter>()
    287  - let serverFingerprint = webServerFingerprint.Fingerprint(scanContext.StartRequest.HttpRequest.Uri)
    288  - _webServerFingerprinted.Trigger(serverFingerprint)
    289  - 
    290  - // verify if this is a Journey Scan, if so I have to force specific settings in the template
    291  - checkForJourneyScanRequest(scanContext)
    292  -
    293  - // launch vulnerability scanner
    294  - if scanContext.Template.RunVulnerabilityScanner then
    295  - let vulnerabilityScanner = container.Resolve<IVulnerabilityScanner>()
    296  - _scanWorkflow.Value.AddExecutedService(vulnerabilityScanner)
    297  - vulnerabilityScanner.NoMoreTestRequestsToProcess.Add(serviceCompleted true)
    298  - vulnerabilityScanner.ProcessCompleted.Add(serviceCompleted false)
    299  - 
    300  - // launch web application fingerprinter
    301  - if scanContext.Template.RunWebAppFingerprinter then
    302  - let webAppFingerprinter = container.Resolve<IWebAppFingerprinter>()
    303  - _scanWorkflow.Value.AddExecutedService(webAppFingerprinter)
    304  - webAppFingerprinter.NoMoreWebRequestsToProcess.Add(serviceCompleted true)
    305  - webAppFingerprinter.ProcessCompleted.Add(serviceCompleted false)
    306  - 
    307  - // launch resource discoverer
    308  - if scanContext.Template.RunResourceDiscoverer then
    309  - // add extension from server fingerprint
    310  - serverFingerprint.Languages
    311  - |> Seq.iter(fun lang ->
    312  - lang.GetCommonExtensions()
    313  - |> List.map scanContext.Template.ResourceDiscovererSettings.Extensions.Add
    314  - |> ignore
    315  - )
    316  - 
    317  - // instantiate components
    318  - let resourceDiscoverer = container.Resolve<IResourceDiscoverer>()
    319  - _scanWorkflow.Value.AddExecutedService(resourceDiscoverer)
    320  - resourceDiscoverer.NoMoreWebRequestsToProcess.Add(serviceCompleted true)
    321  - resourceDiscoverer.ProcessCompleted.Add(serviceCompleted false)
    322  - 
    323  - // launch crawler, this is a core service. Launch a different crawler for each authentication provided
    324  - let mutable crawlerRunned = true
    325  - if not <| scanContext.Template.RunCrawler then
    326  - // request only the input page in order to continue with all the possible services available.
    327  - let webRequestor = _container.Value.Resolve<IWebPageRequestor>()
    328  - let webResponse = webRequestor.RequestInitialWebPage(scanContext.StartRequest)
    329  - 
    330  - // send the initial message. This message must be sent before to instantiace the crawler
    331  - // in order to avoid race condition with the other services
    332  - let entryWebLink = new WebLink(scanContext.StartRequest, Guid.NewGuid())
    333  - this.PageProcessedMessageHandler(this, envelopWithDefaults <| new PageProcessedMessage(entryWebLink, webResponse, 0))
    334  -
    335  - // this ensure that the crawler will not do any work
    336  - scanContext.Template.CrawlerSettings.AllowedHosts.Clear()
    337  - 
    338  - // this ensure that no parsing will be done
    339  - scanContext.Template.CrawlerSettings.ActivateAllAddOns <- false
    340  - scanContext.Template.CrawlerSettings.AddOnIdsToActivate.Clear()
    341  - 
    342  - // create the crawler
    343  - let crawler = container.Resolve<ICrawler>()
    344  - crawler.NoMoreWebRequestsToProcess.Add(serviceCompleted true)
    345  - crawler.ProcessCompleted.Add(serviceCompleted false)
    346  - _scanWorkflow.Value.AddExecutedService(crawler)
    347  - 
    348  - // start the crawler but not pages will be crawled due to the settings restriction
    349  - crawlerRunned <- crawler.Run(scanContext.StartRequest.HttpRequest)
    350  - 
    351  - else
    352  - let instantiateCrawlers(authentications: AuthenticationInfo list) =
    353  - authentications
    354  - |> Seq.iter(fun authentication ->
    355  - let crawler = container.Resolve<ICrawler>()
    356  - crawler.SetAuthentication(authentication)
    357  - crawler.NoMoreWebRequestsToProcess.Add(serviceCompleted true)
    358  - crawler.ProcessCompleted.Add(serviceCompleted false)
    359  -
    360  - _scanWorkflow.Value.AddExecutedService(crawler)
    361  - 
    362  - let scanRequestHost = scanContext.StartRequest.HttpRequest.Uri.Host
    363  - if not <| scanContext.Template.CrawlerSettings.AllowedHosts.Contains(scanRequestHost) then
    364  - scanContext.Template.CrawlerSettings.AllowedHosts.Add(scanRequestHost)
    365  -
    366  - let modifiedHost =
    367  - if scanRequestHost.StartsWith("www.") then scanRequestHost.Substring(4)
    368  - else "www." + scanRequestHost
    369  - if not <| scanContext.Template.CrawlerSettings.AllowedHosts.Contains(modifiedHost) then
    370  - scanContext.Template.CrawlerSettings.AllowedHosts.Add(modifiedHost)
    371  -
    372  - // start the crawler
    373  - crawlerRunned <- crawler.Run(scanContext.StartRequest.HttpRequest) || crawlerRunned
    374  - )
    375  - 
    376  - crawlerRunned <- false
    377  -
    378  - // Creates more than one crawler if I have authentication, in this way the not authenticated part and the authenticated
    379  - // part will have two different crawlers. This will allow to identify possilbe EoP.
    380  - if scanContext.Template.HttpRequestorSettings.Authentication.Type <> AuthenticationType.NoAuthentication then
    381  - // this is a very dirty trick. By setting the authentication
    382  - // to Enabled and the type to NoAuthentication,
    383  - // I avoid to follow the Journey path for this specific case.
    384  - instantiateCrawlers([
    385  - scanContext.Template.HttpRequestorSettings.Authentication
    386  -
    387  - // TODO, until the plugin for differential analysis isn't readym this settings is not useful
    388  - // new AuthenticationInfo(Enabled = true)
    389  - ])
    390  - else
    391  - instantiateCrawlers([new AuthenticationInfo()])
    392  - 
    393  - // the scan initialization can be considered done
    394  - _scanWorkflow.Value.InitializationCompleted()
    395  -
    396  - if not crawlerRunned then
    397  - _scanWorkflow.Value.GetServices()
    398  - |> Seq.map(fun (_, srv) -> srv)
    399  - |> Seq.filter(fun srv -> srv :? ICrawler)
    400  - |> Seq.map(fun srv -> srv :?> ICrawler)
    401  - |> Seq.iter(fun crawler -> crawler.TriggerIdleState())
    402  -
    403  - _logger.AllServicesStarted()
    404  -
    405  - member internal this.Start() =
    406  - let mutable ip : IPAddress option = None
    407  - let mutable hostReachable = false
    408  - let mutable errorMessage = String.Empty
    409  - let uri = scanContext.StartRequest.HttpRequest.Uri
    410  -
    411  - try
    412  - _serviceMetrics.AddMetric("Status", "started")
    413  - this.StartedAt <- DateTime.UtcNow
    414  - _logger.ScanEngineUsed()
    415  - 
    416  - // try to get the IP and verify if the host is reachable
    417  - ip <- Some(Dns.GetHostAddresses(uri.Host) |> Seq.head)
    418  - let webRequestor = _container.Value.Resolve<IWebPageRequestor>()
    419  - webRequestor.HttpRequestor.Settings.PermanentDisableAuthentication()
    420  - let mutable webResponse = webRequestor.RequestInitialWebPage(new WebRequest(uri))
    421  - 
    422  - // check for redirect
    423  - match checkForRedirectToWww(uri, webResponse.HttpResponse) with
    424  - | Some redirectUri ->
    425  - scanContext.StartRequest.HttpRequest.Uri <- new Uri(redirectUri)
    426  - webResponse <- webRequestor.RequestInitialWebPage(new WebRequest(redirectUri))
    427  - | None -> ()
    428  - 
    429  - // this is necessary to avoid leak from the ChromeDriver
    430  - match webRequestor with
    431  - | :? IDisposable as d -> d.Dispose()
    432  - | _ -> ()
    433  - 
    434  - let noNeededCrawler =
    435  - scanContext.Template.RunResourceDiscoverer ||
    436  - scanContext.Template.RunWebAppFingerprinter ||
    437  - scanContext.Template.RunVulnerabilityScanner
    438  - hostReachable <- (webResponse.PageExists || noNeededCrawler) && webResponse.HttpResponse <> HttpResponse.Error
    439  - with e ->
    440  - _serviceMetrics.AddMetric("Status", "error")
    441  - errorMessage <- e.Message
    442  -
    443  - // if the host is reachable start the scan around a generic try/catch to avoid to crash everything :\
    444  - match ip with
    445  - | Some ip when hostReachable ->
    446  - try this.StartScanIp(ip.ToString())
    447  - with e ->
    448  - _logger.FatalScanError(e)
    449  - this.State <- ScanState.Error
    450  - _waitLock.Set()
    451  - | _ ->
    452  - _serviceMetrics.AddMetric("Status", "error")
    453  - _logger.HostPortNotReachable(uri.Host, uri.Port, errorMessage)
    454  - this.State <- ScanState.Error
    455  - _waitLock.Set()
    456  -
    457  - member this.WaitForcompletation() =
    458  - _serviceMetrics.AddMetric("Status", "wait for completation")
    459  - _waitLock.Wait()
    460  -
    461  - member val Id = Guid.NewGuid() with get
    462  - member val Context = scanContext with get
    463  - member val State = Created with get, set
    464  - member val StartedAt = DateTime.MinValue with get, set
    465  - member val FinishedAt = DateTime.MaxValue with get, set
    466  -
    467  - member this.GetDuration() =
    468  - let timeSpan = this.FinishedAt.Subtract(this.StartedAt)
    469  - int32 timeSpan.TotalSeconds
    470  - 
    471  - member this.Pause() =
    472  - _serviceMetrics.AddMetric("Status", "paused")
    473  - _scanWorkflow.Value.Pause()
    474  - _logger.ScanPaused()
    475  - 
    476  - member this.Stop() =
    477  - _serviceMetrics.AddMetric("Status", "stopped")
    478  - _stopRequested <- true
    479  - _scanWorkflow.Value.Stop()
    480  - _logger.ScanStopped()
    481  - this.State <- ScanState.Stopped
    482  - 
    483  - member this.Resume() =
    484  - _serviceMetrics.AddMetric("Status", "running")
    485  - _scanWorkflow.Value.Resume()
    486  - _logger.ScanResumed()
    487  - 
    488  - interface IDisposable with
    489  - member this.Dispose() =
    490  - (_scanWorkflow.Value :> IDisposable).Dispose()
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/ScanContext.fs
    1  -namespace ES.Taipan.Application
    2  - 
    3  -open System
    4  -open System.Collections.Generic
    5  -open ES.Taipan.Infrastructure.Network
    6  - 
    7  -/// This class is specific to each scan instance
    8  -type ScanContext() =
    9  - member val Id = Guid.NewGuid() with get, set
    10  - member val StartRequest = new WebRequest("http://0.0.0.0") with get, set
    11  - member val Template = new TemplateProfile() with get, set
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/ScanLogger.fs
    1  -namespace ES.Taipan.Application
    2  - 
    3  -open System
    4  -open System.Text
    5  -open System.Diagnostics
    6  -open System.Reflection
    7  -open ES.Fslog
    8  - 
    9  -type internal ScanLogger() =
    10  - inherit LogSource("Scan")
    11  -
    12  - [<Log(1, Message = "All services stopped", Level = LogLevel.Informational)>]
    13  - member this.ScanStopped() =
    14  - this.WriteLog(1, [||])
    15  - 
    16  - [<Log(2, Message = "All services paused", Level = LogLevel.Informational)>]
    17  - member this.ScanPaused() =
    18  - this.WriteLog(2, [||])
    19  - 
    20  - [<Log(3, Message = "All services resumed", Level = LogLevel.Informational)>]
    21  - member this.ScanResumed() =
    22  - this.WriteLog(3, [||])
    23  - 
    24  - [<Log(4, Message = "Start scan of: {0} [{1}]", Level = LogLevel.Informational)>]
    25  - member this.ScanStarted(ip: String, scanContext: ScanContext) =
    26  - this.WriteLog(4, [|scanContext.StartRequest.HttpRequest.Uri; ip|])
    27  - 
    28  - [<Log(5, Message = "Scan engine version: {0}", Level = LogLevel.Informational)>]
    29  - member this.ScanEngineUsed() =
    30  - let scanEngineVersion = FileVersionInfo.GetVersionInfo(Assembly.GetCallingAssembly().Location).ProductVersion
    31  - this.WriteLog(5, [|scanEngineVersion|])
    32  - 
    33  - [<Log(6, Message = "Completed scan of: {0} in {1} seconds", Level = LogLevel.Informational)>]
    34  - member this.ScanCompleted(scanContext: ScanContext, seconds: Int32) =
    35  - this.WriteLog(6, [|scanContext.StartRequest.HttpRequest.Uri; seconds|])
    36  - 
    37  - [<Log(7, Message = "Using template: {0} [{1}]", Level = LogLevel.Informational)>]
    38  - member this.UsedTemplate(template: TemplateProfile) =
    39  - this.WriteLog(7, [|template.Name; template.Id|])
    40  -
    41  - [<Log(8, Message = "{0}", Level = LogLevel.Critical)>]
    42  - member this.FatalScanError(e: Exception) =
    43  - let exceptionError = new StringBuilder()
    44  - let populateField(ex: Exception) =
    45  - ignore(
    46  - exceptionError.AppendLine(),
    47  - exceptionError.AppendLine("Exception Message=" + ex.Message),
    48  - exceptionError.AppendLine("Exception Source=" + ex.Source),
    49  - exceptionError.AppendLine("*** Exception Stack trace follow:"),
    50  - exceptionError.AppendLine(),
    51  - exceptionError.AppendLine(ex.StackTrace),
    52  - exceptionError.AppendLine()
    53  - )
    54  - populateField(e)
    55  - 
    56  - if e.InnerException <> null then
    57  - ignore(
    58  - exceptionError.AppendLine(),
    59  - exceptionError.AppendLine("*** Inner Exception Details"),
    60  - exceptionError.AppendLine()
    61  - )
    62  - populateField(e.InnerException)
    63  - 
    64  - this.WriteLog(8, [|exceptionError.ToString()|])
    65  - 
    66  - [<Log(9, Message = "All services started", Level = LogLevel.Informational)>]
    67  - member this.AllServicesStarted() =
    68  - this.WriteLog(9, Array.empty)
    69  - 
    70  - [<Log(10, Message = "Unable to connect to host '{0}' port {1}. {2}", Level = LogLevel.Error)>]
    71  - member this.HostPortNotReachable(host: String, port: Int32, errorMessage: String) =
    72  - this.WriteLog(10, [|host; port; errorMessage|])
    73  - 
    74  - [<Log(11, Message = "Start assessment step for web site: {0}", Level = LogLevel.Informational)>]
    75  - member this.StartAssessment(uri: String) =
    76  - this.WriteLog(11, [|uri|])
    77  - 
    78  - [<Log(12, Message = "Taipan scanner IP: {0}", Level = LogLevel.Informational)>]
    79  - member this.TaipanIp(ip: String) =
    80  - this.WriteLog(12, [|ip|])
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/ScanResult.fs
    1  -namespace ES.Taipan.Application
    2  - 
    3  -open System
    4  -open System.Linq
    5  -open System.Collections.Concurrent
    6  -open ES.Taipan.Fingerprinter
    7  -open ES.Taipan.Discoverer
    8  -open ES.Taipan.Crawler
    9  -open ES.Taipan.Inspector
    10  -open ES.Taipan.Infrastructure.Network
    11  - 
    12  -type ScanResult(scan: Scan) =
    13  - let _identifiedWebApplications = new ConcurrentBag<WebApplicationIdentified>()
    14  - let _resourceDiscovered = new ConcurrentBag<ResourceDiscovered>()
    15  - let _webPages = new ConcurrentBag<WebLink * WebResponse>()
    16  - let _securityIssues = new ConcurrentBag<SecurityIssue>()
    17  - let mutable _webServerFingerprint = new WebServerFingerprint()
    18  - 
    19  - do
    20  - scan.NewApplicationIdentified.Add(fun msg -> _identifiedWebApplications.Add(msg.WebApplication))
    21  - scan.NewResourceDiscovered.Add(fun msg -> _resourceDiscovered.Add(msg.Resource))
    22  - scan.PageProcessed.Add(fun msg -> _webPages.Add(msg.Link, msg.WebResponse))
    23  - scan.NewSecurityIssueFound.Add(fun msg -> _securityIssues.Add(msg.Issue))
    24  - scan.WebServerFingerprinted.Add(fun fingerprint -> _webServerFingerprint <- fingerprint)
    25  -
    26  - member this.Scan = scan
    27  - 
    28  - member this.GetWebApplicationsIdentified() =
    29  - _identifiedWebApplications.ToList()
    30  - 
    31  - member this.GetHiddenResourceDiscovered() =
    32  - _resourceDiscovered.ToList()
    33  - 
    34  - member this.GetWebPages() =
    35  - _webPages.ToList()
    36  - 
    37  - member this.GetSecurityIssues() =
    38  - _securityIssues.ToList()
    39  - 
    40  - member this.GetWebServerFingerprint() =
    41  - _webServerFingerprint
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/ScanService.fs
    1  -namespace ES.Taipan.Application
    2  - 
    3  -open System
    4  -open System.Threading
    5  -open System.IO
    6  -open System.Collections.Generic
    7  -open System.Collections.Concurrent
    8  -open ES.Fslog
    9  -open ES.Fslog.Loggers
    10  -
    11  -type ScanService(logProvider: ILogProvider) =
    12  - let _savedScanResults = new ConcurrentDictionary<Guid, ScanResult>()
    13  - let mutable _currentScanResult : ScanResult option = None
    14  - let mutable _thread : Thread option = None
    15  - 
    16  - let _log =
    17  - log "ScanService"
    18  - |> info "ScanAborted" "Scan aborted!"
    19  - |> build
    20  - 
    21  - member this.StartScan(scan: Scan) =
    22  - scan.Start()
    23  - Thread.Sleep(500)
    24  -
    25  - member this.GetCurrenScanStatus() =
    26  - _currentScanResult
    27  - 
    28  - member this.GetScanStatus(queryId: Guid) =
    29  - if _savedScanResults.ContainsKey(queryId)
    30  - then Some(_savedScanResults.[queryId] :> Object)
    31  - else None
    32  - 
    33  - member this.GetScanMetrics(scan: Scan) =
    34  - scan.GetServiceMetrics()
    35  - 
    36  - member this.GetCurrenScanMetrics() =
    37  - match _currentScanResult with
    38  - | Some scanResult -> this.GetScanMetrics(scanResult.Scan)
    39  - | None -> List.empty
    40  - 
    41  - member this.AbortCurrentScan() =
    42  - match _thread with
    43  - | Some thread -> thread.Abort()
    44  - | None -> ()
    45  - 
    46  - member this.FreeScan(queryId: Guid) =
    47  - _savedScanResults.TryRemove(queryId) |> ignore
    48  - 
    49  - member this.GetScanResult(scanContext: ScanContext, queryId: Guid, scanLogProvider: ILogProvider) =
    50  - use scan = new Scan(scanContext, scanLogProvider)
    51  - let scanResult = new ScanResult(scan)
    52  -
    53  - // add scan result in list
    54  - _savedScanResults.[queryId] <- scanResult
    55  -
    56  - // save the created value as the current one, this is useful when launched as command line,
    57  - // since only on scan at the time can be launched
    58  - _currentScanResult <- Some scanResult
    59  - 
    60  - // run the scan in a new thread
    61  - let currentThread = new Thread(new ThreadStart(fun _ ->
    62  - this.StartScan(scan)
    63  - scan.WaitForcompletation()
    64  - ))
    65  - _thread <- Some currentThread
    66  - 
    67  - try
    68  - currentThread.Start()
    69  - currentThread.Join()
    70  - with
    71  - | :? ThreadInterruptedException
    72  - | :? ThreadStateException ->
    73  - _log?ScanAborted()
    74  - 
    75  - scanResult
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/ScanWorkflow.fs
    1  -namespace ES.Taipan.Application
    2  - 
    3  -open System
    4  -open System.Collections.Generic
    5  -open System.Threading
    6  -open ES.Taipan.Infrastructure.Service
    7  -open ES.Taipan.Crawler
    8  -open ES.Taipan.Inspector
    9  -open ES.Taipan.Fingerprinter
    10  -open ES.Taipan.Discoverer
    11  -open ES.Fslog
    12  -open ES.Taipan.Infrastructure.Messaging
    13  - 
    14  -type ScanWorkflow(messageBroker: IMessageBroker, runAssessmentPhaseCallback: unit -> unit, logProvider: ILogProvider) as this =
    15  - let _logger = new ScanWorkflowLogger()
    16  - let _serviceMetrics = new ServiceMetrics("Scan Workflow")
    17  - let _statusQueue = new Queue<String>()
    18  - let _serviceStatusChangeSyncRoot = new Object()
    19  - let _producerServices = new List<IService>()
    20  - let _completedServices = new Dictionary<IService, Boolean>()
    21  - let _pendingServiceForCompletation = new List<Guid>()
    22  - let _activatedServices = new List<Int32 * IService>()
    23  - let _initializedServices = ref 0
    24  - let _currentRunToCompletationServiceLevel = ref Int32.MaxValue
    25  - let _maxServiceLevelPriority = 4
    26  - let mutable _scanCompleted = false
    27  - let mutable _scanInitializationCompleted = false
    28  - 
    29  - do
    30  - logProvider.AddLogSourceToLoggers(_logger)
    31  - messageBroker.Subscribe<RequestMetricsMessage>(fun (sender, msg) -> msg.Item.AddResult(this, _serviceMetrics))
    32  - 
    33  - let (|Crawler|VulnerabilityScanner|WebAppFingerprinter|ResourceDiscoverer|Unknown|) (v: IService) =
    34  - let typeOfService = v.GetType()
    35  - if typeof<IVulnerabilityScanner>.IsAssignableFrom(typeOfService) then VulnerabilityScanner
    36  - elif typeof<ICrawler>.IsAssignableFrom(typeOfService) then Crawler
    37  - elif typeof<IWebAppFingerprinter>.IsAssignableFrom(typeOfService) then WebAppFingerprinter
    38  - elif typeof<IResourceDiscoverer>.IsAssignableFrom(typeOfService) then ResourceDiscoverer
    39  - else Unknown
    40  -
    41  - let getServiceLevel = function
    42  - | Crawler -> 0
    43  - | ResourceDiscoverer -> 1
    44  - | WebAppFingerprinter -> 2
    45  - | VulnerabilityScanner -> 3
    46  - | Unknown -> failwith "Unkwnon service type"
    47  - 
    48  - let verifyAllServiceCompletedTheInitialization() =
    49  - while !_initializedServices <> _activatedServices.Count || not _scanInitializationCompleted do
    50  - Thread.Sleep(1000)
    51  -
    52  - let allServicesRunnedForCompletation() =
    53  - _completedServices.Count = _activatedServices.Count && (_completedServices.Values |> Seq.forall (id))
    54  - 
    55  - let haveToCallRunToCompletation() =
    56  - let allProducerServicesInIdleState = _producerServices |> Seq.forall(fun srv -> srv.Diagnostics.IsIdle)
    57  - let noPendingServiceForCompletation = _pendingServiceForCompletation |> Seq.isEmpty
    58  - allProducerServicesInIdleState && noPendingServiceForCompletation
    59  -
    60  - let manageStatuschange() =
    61  - verifyAllServiceCompletedTheInitialization()
    62  - lock _statusQueue (fun () ->
    63  - while _statusQueue.Count > 0 do
    64  - match _statusQueue.Dequeue() with
    65  - | "STOP" ->
    66  - _activatedServices
    67  - |> Seq.sortBy(fun (level, _) -> level)
    68  - |> Seq.map(snd)
    69  - |> Seq.iter(fun service -> service.Stop())
    70  - 
    71  - | "PAUSE" ->
    72  - _activatedServices
    73  - |> Seq.sortBy(fun (level, _) -> level)
    74  - |> Seq.map(snd)
    75  - |> Seq.iter(fun service -> service.Pause())
    76  - 
    77  - | "RESUME" ->
    78  - _activatedServices
    79  - |> Seq.sortBy(fun (level, _) -> level)
    80  - |> Seq.map(snd)
    81  - |> Seq.iter(fun service -> service.Resume())
    82  - | _ -> ()
    83  - )
    84  - 
    85  - let runToCompletation(srv: IService) =
    86  - _logger.RunServiceToCompletation(srv)
    87  - _serviceMetrics.AddMetric("Last run to completation service", srv.GetType().Name)
    88  - _pendingServiceForCompletation.Add(srv.ServiceId)
    89  - _completedServices.[srv] <- false
    90  - 
    91  - _currentRunToCompletationServiceLevel := getServiceLevel(srv) + 1
    92  - 
    93  - // check if it is time to run the assessment phase. This is done if all service of level
    94  - // strictly minor then 2 are completed
    95  - if getServiceLevel(srv) >= 2 then
    96  - runAssessmentPhaseCallback()
    97  - 
    98  - srv.RunToCompletation()
    99  - 
    100  - let tryIdentifyServiceAndRunToCompletation(inIdleState: Boolean) =
    101  - if haveToCallRunToCompletation() then
    102  - let mutable nextServiceIdentified = false
    103  - let mutable tmpCurrentRunToCompletationServiceLevel = !_currentRunToCompletationServiceLevel
    104  - let mutable loopCompleted = false
    105  - 
    106  - while not loopCompleted do
    107  - _activatedServices
    108  - |> Seq.toList
    109  - |> List.sortBy(fun (level, _) -> level)
    110  - |> List.filter(fun (serviceLevel, _) -> serviceLevel = tmpCurrentRunToCompletationServiceLevel)
    111  - |> List.iter(fun (_, srv) ->
    112  - nextServiceIdentified <- true
    113  - 
    114  - if not inIdleState then
    115  - // the next identified service must be in idle state,
    116  - // otherwise I'll wait for its idle state
    117  - if srv.Diagnostics.IsIdle
    118  - then runToCompletation(srv)
    119  - else
    120  - runToCompletation(srv)
    121  - )
    122  - 
    123  - loopCompleted <- nextServiceIdentified || tmpCurrentRunToCompletationServiceLevel > _maxServiceLevelPriority
    124  - tmpCurrentRunToCompletationServiceLevel <- tmpCurrentRunToCompletationServiceLevel + 1
    125  - 
    126  - // This is the most important function. it is in charge for the process workflow.
    127  - // All services need to go through an idle state and then run to completation.
    128  - // All services have a priority level, the service with high priority (low number) need
    129  - // to be finish first.
    130  - member this.ServiceCompleted(service: IService, inIdleState: Boolean) =
    131  - verifyAllServiceCompletedTheInitialization()
    132  - lock _serviceStatusChangeSyncRoot (fun () ->
    133  - _pendingServiceForCompletation.Remove(service.ServiceId) |> ignore
    134  -
    135  - if inIdleState then
    136  - // the service just went to an idle state, it can be resumed
    137  - // later, when new work is requested
    138  - _logger.ServiceIdle(service)
    139  - 
    140  - tryIdentifyServiceAndRunToCompletation(inIdleState)
    141  - else
    142  - // the service really completed, not more work for it
    143  - _completedServices.[service] <- true
    144  - _logger.ServiceCompleted(service)
    145  - _serviceMetrics.AddMetric("Last completed service", service.GetType().Name)
    146  -
    147  - tryIdentifyServiceAndRunToCompletation(inIdleState)
    148  -
    149  - if allServicesRunnedForCompletation() then
    150  - _logger.AllServiceCompleted()
    151  - _scanCompleted <- true
    152  - )
    153  - 
    154  - member this.GetServices() =
    155  - _activatedServices
    156  - 
    157  - member this.AddExecutedService(service: IService) =
    158  - match service with
    159  - | Crawler
    160  - | WebAppFingerprinter
    161  - | ResourceDiscoverer -> _producerServices.Add(service)
    162  - | _ -> ()
    163  -
    164  - // set the service level to the minimum possible value among the activated services
    165  - if !_currentRunToCompletationServiceLevel > getServiceLevel(service) then
    166  - _currentRunToCompletationServiceLevel := getServiceLevel(service)
    167  - 
    168  - service.InitializationCompleted.Add(fun srv ->
    169  - _logger.ServiceInitialized(srv)
    170  - Interlocked.Increment(_initializedServices) |> ignore
    171  - )
    172  - 
    173  - _activatedServices.Add(getServiceLevel(service), service)
    174  - service.Activate()
    175  -
    176  - member this.InitializationCompleted() =
    177  - _scanInitializationCompleted <- true
    178  -
    179  - member this.AllServicesCompleted() =
    180  - _scanCompleted
    181  -
    182  - member this.Pause() =
    183  - _statusQueue.Enqueue("PAUSE")
    184  - _logger.ActionRequested("PAUSE")
    185  - manageStatuschange()
    186  -
    187  - member this.Stop() =
    188  - _statusQueue.Enqueue("STOP")
    189  - _logger.ActionRequested("STOP")
    190  - manageStatuschange()
    191  - 
    192  - member this.Resume() =
    193  - _statusQueue.Enqueue("RESUME")
    194  - _logger.ActionRequested("RESUME")
    195  - manageStatuschange()
    196  - 
    197  - interface IDisposable with
    198  - member this.Dispose() =
    199  - // dispose all addons
    200  - for (_, service) in _activatedServices do
    201  - if service :? IDisposable then
    202  - let disposable = service :?> IDisposable
    203  - disposable.Dispose()
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/ScanWorkflowLogger.fs
    1  -namespace ES.Taipan.Application
    2  - 
    3  -open System
    4  -open ES.Taipan.Infrastructure.Service
    5  -open ES.Fslog
    6  - 
    7  -type ScanWorkflowLogger() =
    8  - inherit LogSource("ScanWorkflow")
    9  -
    10  - [<Log(1, Message = "Requested: {0}", Level = LogLevel.Informational)>]
    11  - member this.ActionRequested(action: String) =
    12  - this.WriteLog(1, [|action|])
    13  - 
    14  - [<Log(2, Message = "Service completed: {0}", Level = LogLevel.Informational)>]
    15  - member this.ServiceCompleted(service: IService) =
    16  - this.WriteLog(2, [|service.GetType().Name|])
    17  - 
    18  - [<Log(3, Message = "Run service to completation: {0}", Level = LogLevel.Informational)>]
    19  - member this.RunServiceToCompletation(service: IService) =
    20  - this.WriteLog(3, [|service.GetType().Name|])
    21  - 
    22  - [<Log(4, Message = "Service in Idle state: {0}", Level = LogLevel.Verbose)>]
    23  - member this.ServiceIdle(service: IService) =
    24  - this.WriteLog(4, [|service.GetType().Name|])
    25  - 
    26  - [<Log(5, Message = "All workflow services completed", Level = LogLevel.Informational)>]
    27  - member this.AllServiceCompleted() =
    28  - this.WriteLog(5, [||])
    29  - 
    30  - [<Log(7, Message = "Service {0} initialized", Level = LogLevel.Informational)>]
    31  - member this.ServiceInitialized(service: IService) =
    32  - this.WriteLog(7, [|service.GetType().FullName|])
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/TemplateProfile.fs
    1  -namespace ES.Taipan.Application
    2  - 
    3  -open System
    4  -open System.Collections.Generic
    5  -open System.Xml.Linq
    6  -open System.Net
    7  -open ES.Taipan.Crawler
    8  -open ES.Taipan.Inspector
    9  -open ES.Taipan.Fingerprinter
    10  -open ES.Taipan.Infrastructure.Network
    11  -open ES.Taipan.Infrastructure.Validation
    12  -open ES.Taipan.Discoverer
    13  - 
    14  -/// This class is idependent of the scan instance
    15  -type TemplateProfile() =
    16  - static let x str = XName.Get str
    17  - 
    18  - member val Id = Guid.NewGuid() with get, set
    19  - member val Name = String.Empty with get, set
    20  - member val Description = String.Empty with get, set
    21  - member val RunCrawler = false with get, set
    22  - member val RunVulnerabilityScanner = false with get, set
    23  - member val RunWebAppFingerprinter = false with get, set
    24  - member val RunResourceDiscoverer = false with get, set
    25  - member val HttpRequestorSettings = new HttpRequestorSettings() with get, set
    26  - member val CrawlerSettings = new CrawlerSettings() with get, set
    27  - member val VulnerabilityScannerSettings = new VulnerabilityScannerSettings() with get, set
    28  - member val WebAppFingerprinterSettings = new WebAppFingerprinterSettings() with get, set
    29  - member val ResourceDiscovererSettings = new ResourceDiscovererSettings() with get, set
    30  -
    31  - member this.ToXml() =
    32  - let httpSettingsXml = this.HttpRequestorSettings.ToXml()
    33  - let crawlerSettingsXml = this.CrawlerSettings.ToXml()
    34  - let vulnerabilityScannerSettingsXml = this.VulnerabilityScannerSettings.ToXml()
    35  - let webAppFingerprinterSettingsXml = this.WebAppFingerprinterSettings.ToXml()
    36  - let resourceDiscovererSettingsXml = this.ResourceDiscovererSettings.ToXml()
    37  -
    38  - let doc =
    39  - new XDocument(
    40  - new XElement(x"Profile",
    41  - new XElement(x"Id", this.Id),
    42  - new XElement(x"Name", this.Name),
    43  - new XElement(x"Description", this.Description),
    44  - new XElement(x"RunCrawler", this.RunCrawler),
    45  - new XElement(x"RunVulnerabilityScanner", this.RunVulnerabilityScanner),
    46  - new XElement(x"RunWebAppFingerprinter", this.RunWebAppFingerprinter),
    47  - new XElement(x"RunResourceDiscoverer", this.RunResourceDiscoverer),
    48  - XElement.Parse(httpSettingsXml),
    49  - XElement.Parse(crawlerSettingsXml),
    50  - XElement.Parse(vulnerabilityScannerSettingsXml),
    51  - XElement.Parse(webAppFingerprinterSettingsXml),
    52  - XElement.Parse(resourceDiscovererSettingsXml)
    53  - )
    54  - )
    55  - doc.ToString()
    56  - 
    57  - member this.AcquireSettingsFromXml(xmlSettings: String) =
    58  - notEmpty xmlSettings "xmlSettings"
    59  - 
    60  - let doc = XDocument.Parse(xmlSettings)
    61  - let root = doc.Element(x"Profile")
    62  - 
    63  - let httpSettingsElement = root.Element(x"HttpRequestorSettings")
    64  - this.HttpRequestorSettings.AcquireSettingsFromXml(httpSettingsElement.ToString())
    65  -
    66  - let crawlerSettingsElement = root.Element(x"CrawlerSettings")
    67  - this.CrawlerSettings.AcquireSettingsFromXml(crawlerSettingsElement.ToString())
    68  - 
    69  - let vulnerabilityScannerSettingsElement = root.Element(x"VulnerabilityScannerSettings")
    70  - this.VulnerabilityScannerSettings.AcquireSettingsFromXml(vulnerabilityScannerSettingsElement.ToString())
    71  - 
    72  - let webAppFingerprinterSettingsElement = root.Element(x"WebAppFingerprinterSettings")
    73  - this.WebAppFingerprinterSettings.AcquireSettingsFromXml(webAppFingerprinterSettingsElement.ToString())
    74  -
    75  - let resourceDiscovererSettingsElement = root.Element(x"ResourceDiscovererSettings")
    76  - this.ResourceDiscovererSettings.AcquireSettingsFromXml(resourceDiscovererSettingsElement.ToString())
    77  - 
    78  - this.Id <- Guid.Parse(root.Element(x"Id").Value)
    79  - this.Name <- root.Element(x"Name").Value
    80  - this.Description <- root.Element(x"Description").Value
    81  - this.RunCrawler <- Boolean.Parse(root.Element(x"RunCrawler").Value)
    82  - this.RunVulnerabilityScanner <- Boolean.Parse(root.Element(x"RunVulnerabilityScanner").Value)
    83  - this.RunWebAppFingerprinter <- Boolean.Parse(root.Element(x"RunWebAppFingerprinter").Value)
    84  - this.RunResourceDiscoverer <- Boolean.Parse(root.Element(x"RunResourceDiscoverer").Value)
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Application/paket.references
    1  -FSharpLog
    2  -Autofac
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Crawler/AssemblyInfo.fs
    1  -// Auto-Generated by FAKE; do not edit
    2  -namespace System
    3  -open System.Reflection
    4  - 
    5  -[<assembly: AssemblyTitleAttribute("ES.Taipan.Crawler")>]
    6  -[<assembly: AssemblyProductAttribute("Taipan")>]
    7  -[<assembly: AssemblyCompanyAttribute("Enkomio")>]
    8  -[<assembly: AssemblyDescriptionAttribute("A web application vulnerability scanner tool.")>]
    9  -[<assembly: AssemblyVersionAttribute("0.0.0")>]
    10  -[<assembly: AssemblyFileVersionAttribute("0.0.0")>]
    11  -[<assembly: AssemblyInformationalVersionAttribute("0.0.0.*")>]
    12  -do ()
    13  - 
    14  -module internal AssemblyVersionInformation =
    15  - let [<Literal>] AssemblyTitle = "ES.Taipan.Crawler"
    16  - let [<Literal>] AssemblyProduct = "Taipan"
    17  - let [<Literal>] AssemblyCompany = "Enkomio"
    18  - let [<Literal>] AssemblyDescription = "A web application vulnerability scanner tool."
    19  - let [<Literal>] AssemblyVersion = "0.0.0"
    20  - let [<Literal>] AssemblyFileVersion = "0.0.0"
    21  - let [<Literal>] AssemblyInformationalVersion = "0.0.0.*"
    22  - 
  • ■ ■ ■ ■ ■ ■
    Src/ES.Taipan.Crawler/CrawlRequest.fs
    1  -namespace ES.Taipan.Crawler
    2  - 
    3  -open System
    4  -open System.Collections.Generic
    5  -open ES.Taipan.Infrastructure.Network
    6  - 
    7  -type CrawlRequest(request: WebRequest) =
    8  - member val Request = request with get
Please wait...
Page is in error, reload to recover