From f02a6a7afbdf3d289d49cf523971c66578919473 Mon Sep 17 00:00:00 2001 From: Adrien MALINGREY <adrien@malingrey.fr> Date: Thu, 16 Jun 2022 23:58:56 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'stylesheet.xsl'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stylesheet.xls => stylesheet.xsl | 291 +++++++++++++++---------------- 1 file changed, 145 insertions(+), 146 deletions(-) rename stylesheet.xls => stylesheet.xsl (95%) diff --git a/stylesheet.xls b/stylesheet.xsl similarity index 95% rename from stylesheet.xls rename to stylesheet.xsl index 394266c..db49446 100644 --- a/stylesheet.xls +++ b/stylesheet.xsl @@ -1,147 +1,146 @@ -<?xml version="1.0" encoding="utf-8"?> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:xs="http://www.w3.org/2001/XMLSchema" - version="2.0"> - <xsl:output method="html" encoding="UTF-8" /> - <xsl:output indent="yes" /> - <xsl:strip-space elements="*" /> - - <xsl:template match="nmaprun"> - - <html lang="fr"> - <head> - <meta charset="utf-8" /> - <title><xsl:value-of select="./@args" /></title> - <meta name="viewport" content="width=device-width, initial-scale=1" /> - <style> - a { - margin: 0 2px; - } - </style> - <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/css/bootstrap.min.css"/> - <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs5/jq-3.6.0/dt-1.12.1/b-2.2.3/b-html5-2.2.3/b-print-2.2.3/cr-1.5.6/fc-4.1.0/fh-3.2.3/r-2.3.0/rr-1.2.8/sc-2.0.6/datatables.min.css"/> - </head> - - <body> - - <table id="scanResults" class="table table-striped table-hover compact caption-top" style="width:100%"> - <thead> - <tr> - <th>Adresse IP</th> - <th>Nom DNS</th> - <th>Services</th> - </tr> - </thead> - <tbody> - <xsl:for-each select="/nmaprun/host[status/@state='up']"> - <tr> - <td> - <xsl:value-of select="address/@addr" /> - </td> - <td> - <xsl:value-of select="hostnames/hostname/@name" /> - </td> - <td> - <xsl:for-each select="ports/port[state/@state='open']"> - <a target="_blank" style="text-transform:uppercase;" type="button" class="btn btn-primary btn-sm"> - <xsl:variable name="protocol"> - <xsl:choose> - <xsl:when test="service/@name='http' or service/@name='https' or service/@name='http-alt' or @portid = 8006 or @portid = 9292 or @portid = 20618"> - <xsl:choose> - <xsl:when test="service/@tunnel='ssl' or script[@id='ssl-cert'] or script[@id='ssl-date']"> - <xsl:text>https://</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>http://</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:when test="service/@name='ftp' or service/@name='ssh' or service/@name='telnet'"> - <xsl:value-of select="service/@name" /> - <xsl:text>://</xsl:text> - </xsl:when> - <xsl:when test="service/@name = 'microsoft-ds' or service/@name = 'netbios-ssn'"> - <xsl:text>file://///</xsl:text> - </xsl:when> - </xsl:choose> - </xsl:variable> - <xsl:choose> - <xsl:when test="$protocol != ''"> - <xsl:attribute name="href"> - <xsl:value-of select="$protocol" /> - <xsl:choose> - <xsl:when test="count(../../hostnames/hostname) > 0"> - <xsl:value-of select="../../hostnames/hostname/@name" /> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="../../address/@addr" /> - </xsl:otherwise> - </xsl:choose> - <xsl:text>:</xsl:text> - <xsl:value-of select="@portid"/> - </xsl:attribute> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name="class"> - btn btn-primary btn-sm disabled - </xsl:attribute> - </xsl:otherwise> - </xsl:choose> - <xsl:attribute name="title"> - <xsl:for-each select="service/@*"> - <xsl:value-of select="concat(name(), ': ', ., ', ')"/> - </xsl:for-each> - </xsl:attribute> - <span class="badge bg-secondary rounded-pill"><xsl:value-of select="@portid"/></span> - <xsl:value-of select="service/@name" /> - </a> - </xsl:for-each> - </td> - </tr> - </xsl:for-each> - </tbody> - <caption> - <pre class="mb-0" style="white-space:pre-wrap; word-wrap:break-word;"> - <xsl:value-of select="/nmaprun/@args" /> - </pre> - <time> - <xsl:value-of select="/nmaprun/@startstr" /> - </time> - <time> - <xsl:value-of select="/nmaprun/runstats/finished/@timestr" /> - </time><br /> - <small> - <xsl:value-of select="/nmaprun/@scanner" /> v - <xsl:value-of select="/nmaprun/@version" /> - </small> - </caption> - - </table> - - <script - src="https://code.jquery.com/jquery-3.6.0.min.js" - integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" - crossorigin="anonymous"> - </script> - <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/js/bootstrap.bundle.min.js"></script> - <script type="text/javascript" src="https://cdn.datatables.net/v/bs5/jq-3.6.0/dt-1.12.1/b-2.2.3/b-html5-2.2.3/b-print-2.2.3/cr-1.5.6/fc-4.1.0/fh-3.2.3/r-2.3.0/rr-1.2.8/sc-2.0.6/datatables.min.js"></script> - <script> - $(document).ready( function() { - $('#scanResults').DataTable({ - dom: 'frtipB', - buttons: ['copy', 'excel', 'pdf'], - fixedHeader: true, - lengthMenu: [ - [256, 512, 1024, 2048, -1], - [256, 512, 1024, 2048, "All"] - ], - scrollCollapse: true, - paging: false, - }); - } ); - </script> - </body> - - </html> - </xsl:template> +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + version="2.0"> + <xsl:output method="html" encoding="UTF-8" /> + <xsl:output indent="yes" /> + <xsl:strip-space elements="*" /> + + <xsl:template match="nmaprun"> + + <html lang="fr"> + <head> + <meta charset="utf-8" /> + <title><xsl:value-of select="./@args" /></title> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <style> + a { + margin: 0 2px; + } + </style> + <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/css/bootstrap.min.css"/> + <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs5/jq-3.6.0/dt-1.12.1/b-2.2.3/b-html5-2.2.3/b-print-2.2.3/cr-1.5.6/fc-4.1.0/fh-3.2.3/r-2.3.0/rr-1.2.8/sc-2.0.6/datatables.min.css"/> + </head> + + <body> + + <table id="scanResults" class="table table-striped table-hover compact caption-top" style="width:100%"> + <thead> + <tr> + <th>Adresse IP</th> + <th>Nom DNS</th> + <th>Services</th> + </tr> + </thead> + <tbody> + <xsl:for-each select="/nmaprun/host[status/@state='up']"> + <tr> + <td> + <xsl:value-of select="address/@addr" /> + </td> + <td> + <xsl:value-of select="hostnames/hostname/@name" /> + </td> + <td> + <xsl:for-each select="ports/port[state/@state='open']"> + <a target="_blank" style="text-transform:uppercase;" type="button" class="btn btn-success btn-sm"> + <xsl:variable name="protocol"> + <xsl:choose> + <xsl:when test="service/@name='http' or service/@name='https' or service/@name='http-alt' or @portid = 8006 or @portid = 9292 or @portid = 20618"> + <xsl:choose> + <xsl:when test="service/@tunnel='ssl' or script[@id='ssl-cert'] or script[@id='ssl-date']"> + <xsl:text>https://</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>http://</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="service/@name='ftp' or service/@name='ssh' or service/@name='telnet'"> + <xsl:value-of select="service/@name" /> + <xsl:text>://</xsl:text> + </xsl:when> + <xsl:when test="service/@name = 'microsoft-ds' or service/@name = 'netbios-ssn'"> + <xsl:text>file://///</xsl:text> + </xsl:when> + </xsl:choose> + </xsl:variable> + <xsl:choose> + <xsl:when test="$protocol != ''"> + <xsl:attribute name="href"> + <xsl:value-of select="$protocol" /> + <xsl:choose> + <xsl:when test="count(../../hostnames/hostname) > 0"> + <xsl:value-of select="../../hostnames/hostname/@name" /> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="../../address/@addr" /> + </xsl:otherwise> + </xsl:choose> + <xsl:text>:</xsl:text> + <xsl:value-of select="@portid"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="class"> + btn btn-success btn-sm disabled + </xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:attribute name="title"> + <xsl:for-each select="service/@*"> + <xsl:value-of select="concat(name(), ': ', ., ', ')"/> + </xsl:for-each> + </xsl:attribute> + <span class="badge bg-secondary rounded-pill"><xsl:value-of select="@portid"/></span> + <xsl:value-of select="service/@name" /> + </a> + </xsl:for-each> + </td> + </tr> + </xsl:for-each> + </tbody> + <caption> + <pre class="mb-0" style="white-space:pre-wrap; word-wrap:break-word;"> + <xsl:value-of select="/nmaprun/@args" /> + </pre> + <time> + <xsl:value-of select="/nmaprun/@startstr" /> + </time> - <time> + <xsl:value-of select="/nmaprun/runstats/finished/@timestr" /> + </time><br /> + <small> + <xsl:value-of select="/nmaprun/@scanner" /> v + <xsl:value-of select="/nmaprun/@version" /> + </small> + </caption> + + </table> + + <script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" + crossorigin="anonymous"> + </script> + <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/js/bootstrap.bundle.min.js"></script> + <script type="text/javascript" src="https://cdn.datatables.net/v/bs5/jq-3.6.0/dt-1.12.1/b-2.2.3/b-html5-2.2.3/b-print-2.2.3/cr-1.5.6/fc-4.1.0/fh-3.2.3/r-2.3.0/rr-1.2.8/sc-2.0.6/datatables.min.js"></script> + <script> + $(document).ready( function() { + $('#scanResults').DataTable({ + fixedHeader: true, + lengthMenu: [ + [256, 512, 1024, 2048, -1], + [256, 512, 1024, 2048, "All"] + ], + scrollCollapse: true, + paging: false, + responsive: true, + }); + } ); + </script> + </body> + + </html> + </xsl:template> </xsl:stylesheet> \ No newline at end of file