Nessus
[Top] [All Lists]

RE: Report Template sharing --

To: <Mike.Vasquez@cityofmesa.org>, <nessus@list.nessus.org>
Subject: RE: Report Template sharing --
From: "John Scherff" <JScherff@24hourfit.com>
Date: Wed, 16 May 2007 12:32:52 -0700
Cc:
Delivered-to: sp-com-lists@consult.net
Delivered-to: nessus-list1@securepoint.com
Delivered-to: nessus@list.nessus.org
In-reply-to: <OF52BE312B.ACCB3CCE-ON072572DD.0067A62D-072572DD.00686A03@cityofmesa.org>
List-archive: <http://mail.nessus.org/pipermail/nessus>
List-help: <mailto:nessus-request@list.nessus.org?subject=help>
List-id: Discussion of Nessus software <nessus.list.nessus.org>
List-post: <mailto:nessus@list.nessus.org>
List-subscribe: <http://mail.nessus.org/mailman/listinfo/nessus>, <mailto:nessus-request@list.nessus.org?subject=subscribe>
List-unsubscribe: <http://mail.nessus.org/mailman/listinfo/nessus>, <mailto:nessus-request@list.nessus.org?subject=unsubscribe>
References: <OF2FD4AEFD.964DCF8D-ON072572DC.0082695E-072572DC.0082FC2B@cityofmesa.org> <OF52BE312B.ACCB3CCE-ON072572DD.0067A62D-072572DD.00686A03@cityofmesa.org>
Sender: nessus-bounces@list.nessus.org
Thread-index: AceX7OZ7fWMCzqsqRKKjeJIil14XbAAA9Fiw
Thread-topic: Report Template sharing --
Mike,
 
This is excellent stuff.  Keep it coming.
 
For two years, I've been stripping out unwanted findings by removing records from the nbe file (akin to grep -v, only a little more sophisticated using home-grown filters with a perl script).  This is much, much more elegant.
 
John


From: nessus-bounces@list.nessus.org [mailto:nessus-bounces@list.nessus.org] On Behalf Of Mike.Vasquez@cityofmesa.org
Sent: Wednesday, May 16, 2007 12:00 PM
To: nessus@list.nessus.org
Subject: Re: Report Template sharing --


I fixed the issues I was having -- here's a modified template file (the complete file), my changes noted in bold, and by >>>

The changes do the following:
Change 1: <xsl:if test = "(alert/level='INFO') or (alert/level='HOLE')">
        Only creates a row if the identified port has a HOLE or INFO level item associated with that port
Change 2: <xsl:if test = "(level='INFO') or (level='HOLE')">
        Prints only the HOLES and INFO level items associated with the host (no NOTES).


This allowed me to do very full/thorough/verbose scans, but generate reports with items needing remediation that were pretty clean and easier to read.

Hopefully someone finds it useful, and if you make any good tweaks, feel free to pass along

Thx,
Mike


<?xml version='1.0' encoding='utf-8' ?>
<!--Copyright 2003-2004(C) Tenable Network Security-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  version="1.0">
<xsl:import href=""/>
<xsl:output method="html" indent="yes"/>

<xsl:template name="_report_summary">
        <xsl:for-each select="host">
                <tr>
                        <td width="100%" class="border">
                                <table width="100%" cellspacing="0" cellpadding="0">
                                        <tr>
                                                <td width="20%" height="100%">
                                                        <div class="report_host">
                                                                <a>
                                                                        <xsl:attribute name="href"><![CDATA[#]]><xsl:value-of select="@hostname"/></xsl:attribute>
                                                                        <img border="0" src="" align="absMiddle"></img>
                                                                        <xsl:value-of select="@hostname"/>
                                                                </a>
                                                        </div>
                                                </td>
                                                <td class="summary_text"><img  src="" width="20" align="absMiddle"/>
                                                        <xsl:value-of select="count(port)"/><![CDATA[ ]]>Open Ports,
                                                        <![CDATA[ ]]><xsl:value-of select="count((port|general)/alert[level='NOTE'])"/><![CDATA[ ]]>Notes,
                                                        <![CDATA[ ]]><xsl:value-of select="count((port|general)/alert[level='INFO'])"/><![CDATA[ ]]>Warnings,
                                                        <![CDATA[ ]]><xsl:value-of select="count((port|general)/alert[level='HOLE'])"/><![CDATA[ ]]>Holes.
                                                </td>
                                        </tr>
                                </table>
                        </td>
                </tr>
                <tr><td height="5"></td></tr>
        </xsl:for-each>
</xsl:template>


<xsl:template match="results">
       
        <xsl:call-template name="report_html_head"/>
       
        <body>
                <table width="100%" cellspacing="0" cellpadding="0">
                        <tr>
                        <td align="center" colspan="2" width="100%">
                                <table width="90%" height="100%" cellspacing="0" align="center">
                                       
                                        <xsl:call-template name="report_header"/>
                                        <xsl:call-template name="report_time"/>
                                        <tr><td height="40"></td></tr>
                                        <xsl:call-template name="report_target"/>
                                        <xsl:call-template name="report_error"/>
                                        <xsl:call-template name="_report_summary"/>
                                        <tr><td height="40"></td></tr>
                                       
                                </table>
                        </td>
                        </tr>
                </table>
               
                <!--Main content-->
                <xsl:for-each select="host">

                        <table width="90%" align="center">

                                <xsl:call-template name="report_sub_header">
                                        <xsl:with-param name="mode" select="'view_by_host'"/>
                                </xsl:call-template>

                                <xsl:for-each select="port|general">
>>>                                <xsl:if test = "(alert/level='INFO') or (alert/level='HOLE')">
                                        <tr>
                                        <td width="100%">
                                        <table width="100%" cellspacing="0" cellpadding="0">
                                       
                                        <tr>
                                                <xsl:call-template name="report_showhostport">
                                                        <xsl:with-param name="showport2" select="'yes'"/>
                                                </xsl:call-template>
                                               
                                                <td class="left_open_border" height="100%">
                                                        <table width="100%" height="100%" cellspacing="0" cellpadding="0">
                                                                <xsl:for-each select="alert">
                                                                <xsl:sort select="level" order="ascending"/>
>>>                                                                <xsl:if test = "(level='INFO') or (level='HOLE')">
                                                                        <tr><td><img src="" height="3"/></td></tr>
                                                                        <xsl:call-template name="report_showalert"/>
>>>                                                                </xsl:if>
                                                                </xsl:for-each>
                                                        </table>
                                                </td>
                                        </tr>
                                       
                                        </table>
                                        </td>
                                        </tr>
                                        <tr><td height="5"></td></tr>
>>>                                </xsl:if>
                                </xsl:for-each>

                        </table>
                       
                        <!--Space-->
                        <table width="100%"><tr><td align="right" height="40"></td></tr></table>

                </xsl:for-each>        
                                       
                <xsl:call-template name="report_footer"/>        
               
        </body>

</xsl:template>
       
</xsl:stylesheet>




_______________________________________________
Nessus mailing list
Nessus@list.nessus.org
http://mail.nessus.org/mailman/listinfo/nessus
<Prev in Thread] Current Thread [Next in Thread>