ThinkPHP 3.2 使用不当可能造成敏感信息泄露

ThinkPHP在开启DEBUG的情况下会在Runtime目录下生成日志,而且debug很多站都没关的,所以影响应该很大吧

我们来看一下ThinkPHP3.2版本生成日志结构:

THINKPHP3.2 结构:ApplicationRuntimeLogsHome16_09_09.log
THINKPHP3.1结构:RuntimeLogsHome16_09_09.log
可以看到是 :项目名RuntimeLogsHome年份_月份_日期.log
这样的话日志很容易被猜解到,而且日志里面有执行SQL语句的记录,这里我随便找几个tp站测试一下:
http://demo.xxxxx.cc/Runtime/Logs/User/16_09_06.log 成功下载,并且找到一个用户的密码

成功登录:

我们再找一个案例:http://www.xxxxxx.com/Runtime/Logs/Home/16_09_06.log

成功登录:

onethink官网测试  http://www.onethink.cn/Runtime/Logs/16_09_07.log

修复办法
删除Runtime/Logs下的所有文件,重新设计文件命名规则,并将APP_DEBUG设置为false

总会有不期而遇的温暖. 和生生不息的希望。
原文地址:https://www.cnblogs.com/devi1/p/13486642.html