ThinkPHP 日志信息泄露漏洞复现

ThinkPHP 日志信息泄露漏洞复现

漏洞简介
        ThinkPHP在开启DEBUG的情况下会在Runtime目录下生成日志,而且debug很多网站都没有关
        ThinkPHP默认安装后,也会在Runtime目录下生成日志

        THINKPHP3.2 结构:Application\Runtime\Logs\Home\16_09_09.log
        THINKPHP3.1结构:Runtime\Logs\Home\16_09_09.log
        日志存储结构是 :项目名\Runtime\Logs\Home\年份_月份_日期.log
      ThinkPHP 日志信息泄露漏洞复现_第1张图片

注意:
日志信息非常详细,所以影响应该很大。

通过查看日志内容可以发现管理员的登录请求,访问该请求后,可以在不输入用户名密码的前提下直接获取该账户的token信息,并且成功登录该网站

ThinkPHP 日志信息泄露漏洞复现_第2张图片 

查看日志获取管理员的密码

ThinkPHP 日志信息泄露漏洞复现_第3张图片 

环境搭建: 

下载thinkphp3.2.3版本的源码,下载地址:框架下载 - ThinkPHP框架
下载后,使用phpstudy搭建

ThinkPHP 日志信息泄露漏洞复现_第4张图片

漏洞复现:

通过漏洞简介,我们知道了漏洞的原理,就是日志的存储结构为:项目名\Runtime\Logs\Home\年份_月份_日期.log,但是一个一个手工测试,太麻烦了,可以使用脚本进行测试,php脚本代码如下所示: 

运行过程:

需要将tp3.php与php.exe放在同一目录下才行

ThinkPHP 日志信息泄露漏洞复现_第5张图片

运行命令如下图所示

ThinkPHP 日志信息泄露漏洞复现_第6张图片 

如果存在日志信息泄露的话,会有相关提示信息,如下图所示

ThinkPHP 日志信息泄露漏洞复现_第7张图片 

截至目前为止,thinkphp3与thinkphp5都存在日志信息泄露漏洞。

实战记录可参考以下案例:


从外网Thinkphp3日志到杀入内网域控-红队攻击之域内靶机渗透实战演练
https://cloud.tencent.com/developer/article/1752185

https://blog.csdn.net/Fly_hps/article/details/81201904

漏洞修复

删除Runtime/Logs下的所有文件,并将APP_DEBUG设置为false

 

你可能感兴趣的:(框架漏洞,安全,web安全)