Benutzer-Werkzeuge

Webseiten-Werkzeuge


cookbook:logs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
cookbook:logs [2014/09/24 18:27]
shadowcat [Links]
cookbook:logs [2014/09/24 00:00] (aktuell)
Zeile 69: Zeile 69:
  
     "​c:​\Program Files (x86)\Log Parser 2.2\LogParser.exe"​ "​select statuscode,​remotehostname FROM d:​\xampp\apache\logs\access.log WHERE user-agent is null order by statuscode asc" -i:NCSA -o:datagrid     "​c:​\Program Files (x86)\Log Parser 2.2\LogParser.exe"​ "​select statuscode,​remotehostname FROM d:​\xampp\apache\logs\access.log WHERE user-agent is null order by statuscode asc" -i:NCSA -o:datagrid
 +
 +==== Ausgabe als HTML ====
 +
 +Im Gegensatz zu den meisten anderen Formaten ist die Ausgabe als HTML etwas komplizierter. LogParser benötigt hierzu ein Template, in das es seine ermittelten Daten einfüllen kann. Wer aber BC-Templates kennt, kann auch hiermit umgehen. :)
 +
 +Nehmen wir als Beispiel unsere Suche nach dem potentiell "​bösen"​ Querystring mit "​SELECT"​. Diesen möchten wir als HTML-Tabelle ausgeben und diese auch ein wenig '​hübsch machen'​.
 +
 +Also bauen wir uns zunächst mal unsere Vorlage:
 +
 +<sxh html>
 +<​lpheader>​
 +<​html>​
 +    <​head>​
 +        <​title>​Potentiell böse Querystrings</​title>​
 +        <style type="​text/​css">​
 +        body{background-color:#​fff;​}
 +        table{border-collapse:​collapse;​}
 +        th,​td{border:​1px solid #000;}
 +        th{background-color:#​ccc;​}
 +        </​style>​
 +    </​head>​
 +    <​body>​
 +        <​table>​
 +            <​thead>​
 +                <tr>
 +                    <​th>​Anzahl</​th>​
 +                    <​th>​Remote Host</​th>​
 +                    <​th>​Query</​th>​
 +                </tr>
 +            </​thead>​
 +            <​tbody>​
 +</​lpheader>​
 +<​lpbody>​
 +            <tr>
 +                <​td>​%Anzahl%</​td>​
 +                <​td>​%remotehostname%</​td>​
 +                <​td>​%request%</​td>​
 +            </tr>
 +</​lpbody>​
 +<​lpfooter>​
 +        </​tbody>​
 +    </​table>​
 +</​body>​
 +</​html>​
 +</​lpfooter>​
 +</​sxh>​
 +
 +Die Markups <​LPHEADER>,​ <​LPBODY>​ und <​LPFOOTER>​ dienen dem LogParser dazu, die einzelnen Bereiche des Templates zu erkennen. <​LPBODY>​ wird für jede Zeile der Ausgabe wiederholt, beinhaltet daher also auch die Platzhalter für die Werte. Die Platzhalter entsprechen hierbei den "​Spaltennamen"​.
 +
 +Speichern wir nun diese Datei als ''​querystrings.tpl''​. Der Aufruf für den LogParser muß nun um zwei Werte erweitert werden:
 +
 +  * Den Namen der HTML-Datei (sonst wird alles auf der Kommandozeile ausgegeben)
 +  * Den Namen des Templates
 +
 +Außerdem ändern wir das Ausgabeformat in ''​-o:​TPL''​
 +
 +
 +"​c:​\Program Files (x86)\Log Parser 2.2\LogParser.exe"​ "​select count(*) as Anzahl, remotehostname,​ request FROM d:​\xampp\apache\logs\access.log TO output.html WHERE request LIKE '​%select%'​ GROUP BY remotehostname,​request ORDER BY Anzahl DESC" -i:NCSA -o:TPL -tpl:​querystrings.tpl
 +
 +Ergebnis ist nun eine Datei ''​output.html''​ mit einer Tabelle, die nach Remote Host und Querystring gruppiert und nach Anzahl sortiert die potentiellen Angriffe auflistet.
 +
 +Natürlich ist hier noch etwas Feintuning am Template und ggfs. auch an der Abfrage denkbar. ;)
 ===== Links ===== ===== Links =====
  
-http://​technet.microsoft.com/​en-us/​library/​ee692937.aspx+http://​technet.microsoft.com/​en-us/​library/​ee692937.aspx\\  ​
 http://​mlichtenberg.wordpress.com/​2011/​02/​03/​log-parser-rocks-more-than-50-examples/​ http://​mlichtenberg.wordpress.com/​2011/​02/​03/​log-parser-rocks-more-than-50-examples/​
cookbook/logs.1411576047.txt.gz · Zuletzt geändert: 2014/09/24 00:00 (Externe Bearbeitung)