0

nessus xml ファイルの処理に関するその他の問題。

このxslタグを使用して抽出できるxmlタグにホスト名などの情報を保存するnessusからのxmlデータがあります。

<xsl:value-of select="../ReportItem[(@pluginID=12053)]/description"/>

次に、唯一の問題は、このタグがホスト名のほかに大量のゴミを格納していることです。たとえば、通常、タグには次の情報が含まれています。

概要 : リモート ホストのネットワーク名を取得できます。説明 :リモート ホストは UDP ポート 137 または TCP ポート 445 でリッスンし、NetBIOS nbtscan または SMB 要求に応答します。このプラグインは、他のプラグインで使用される情報を収集しますが、それ自体はレポートを生成しないことに注意してください。解決策: 該当なし リスク要因: なし プラグイン出力: 次の 6 つの NetBIOS 名が収集されました: VOODOO1 = コンピュータ名 VOODOO = ワークグループ / ドメイン名 VOODOO1 = ファイル サーバー サービス VOODOO = ブラウザ サービス の選択リモート ホストのアダプタには次の MAC アドレスがあります: 10:50:56:ab:10:02

唯一気になるのは「VOODOO1=コンピュータ名」の部分。実際には、より正確に「=」記号の前に何がありますか。タグの「選択」内に次のような正規表現関数を含めることができるかどうか疑問に思っていました。

<xsl:value-of select="regexp(../ReportItem[(@pluginID=12053)]/description,'\w =')"/>

これにより、正規表現に一致するタグのコンテンツのみが抽出されて表示されます。今、私は迷惑なタグ表示の内容をすべて持っています。私はさまざまなバリエーションを使用しようとしました

<xsl:analyze-string select="$elValue" regex="\w = ">

運の悪いタグ。<td>「 for-eachなど、試した他のxslt要素のサブタグにすることはできません」というエラーが表示され続けます。

前もって感謝します。

これまでのフィードバックに基づいて、nessus によって生成された xml の一部を次に示します。

<ReportItem port="137" svc_name="netbios-ns?" protocol="udp" severity="1"     pluginID="10150" pluginName="Windows NetBIOS / SMB Remote Host Information Disclosure" pluginFamily="Windows">
<description>Synopsis :

It is possible to obtain the network name of the remote host.

Description :

The remote host listens on UDP port 137 or TCP port 445 and replies to NetBIOS nbtscan or SMB requests. 

Note that this plugin gathers information to be used in other plugins but does not itself generate a report.

Solution :

n/a

Risk factor :

None

Plugin output :
The following 6 NetBIOS names have been gathered :

 VOODOO1       = Computer name  VOODOO              = Workgroup / Domain name     VOODOO1       = File Server Service  VOODOO              = Browser Service Elections     VOODOO              = Master Browser
 __MSBROWSE__     = Master Browser

The remote host has the following MAC address on its adapter :
   01:a0:52:bf:0a:02

</description>
</ReportItem>`

<xsl:value-of select="regexp(../ReportItem[(@pluginID=12053)]/description,'\w =')"/> この行は実際には機能しません。似たようなものがあるかどうか誰かが知っているかどうかを確認するために作成しました。私が作ったので、エラーが発生するだけです。

4

2 に答える 2

1

これにはXSLT2.0が必要です。xsl:analyze-stringで表示されたエラーメッセージは、XSLT1.0プロセッサを使用していたことが原因であると思われます。

于 2012-08-09T05:56:22.593 に答える