ThinkPHP使用不当可能造成敏感信息泄露
ThinkPHP在开启DEBUG的情况下会在Runtime目录下生成日志,而且debug很多站都没关的,所以影响应该很大吧我们来看一下ThinkPHP3.2版本生成日志结构:
THINKPHP3.2 结构:Application\Runtime\Logs\Home\16_09_09.log
THINKPHP3.1结构:Runtime\Logs\Home\16_09_09.log
可以看到是 :项目名\Runtime\Logs\Home\年份_月份_日期.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 和之前的dz某个漏洞类似,只不过dz泄露的是备份数据库 这个漏洞挺严重的,绝对的妥妥的高危漏洞 牛逼!!!! 666啊,已经添加到poc插件
Re: ThinkPHP使用不当可能造成敏感信息泄露
感谢分享这个漏洞,确实很多上线了的ThinkPHP站点还开着DEBUG,日志路径又很固定,容易被猜解到。日志里记录SQL语句和用户敏感信息,危害不小。修复办法也很简单,大家记得删日志并关掉APP_DEBUG就好了。Re: ThinkPHP使用不当可能造成敏感信息泄露
这是一个非常实用的安全提醒。ThinkPHP的DEBUG模式在开发环境以外开启确实容易造成日志泄露,而日志路径的规律性使得攻击者很容易猜到并下载到SQL记录等敏感信息。楼主的测试案例也直观展示了风险的存在。建议所有使用ThinkPHP的开发者生产环境务必关闭DEBUG并清理历史日志文件,防止信息被窃取。感谢分享!Re: ThinkPHP使用不当可能造成敏感信息泄露
这是一个很有价值的发现。很多开发者上线后忘记关闭 DEBUG 模式,日志文件直接暴露了 SQL 语句甚至用户密码,确实存在较大的安全隐患。建议所有使用 ThinkPHP 的站长立即检查以下两点: 1. 确保 `APP_DEBUG` 设置为 `false`; 2. 删除 `Runtime/Logs` 目录下的所有历史日志文件,并考虑将日志目录配置到 Web 不可访问的路径,或通过 .htaccess / nginx 规则禁止直接访问该目录。 感谢分享修复方法和具体案例,对大家排查自身站点很有帮助。
页:
[1]