第一弹
ThinkPHP3.x/5.x框架任意文件包含ThinkPHP简介
ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于年初,原名FCS,年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
漏洞简述
ThinkPHP在加载模版解析变量时存在变量覆盖的问题,且没有对$cacheFile进行相应的消*处理,导致模板文件的路径可以被覆盖,从而导致任意文件包含漏洞的发生。
环境准备
下载thinkphp框架在“thinkphp\library\think\Controller.php”文件中写入如下代码:
在“application\index\view\index”目录下建立一个index.html文件,不建立会出现模板文件不存在错误。
至于其他配置数据库连接文件以及thinkphp框架结构,可参考文章:代码审计
ThinkPHP5.0.x框架SQL注?
漏洞分析
攻击者可以通过POST方式访问链接: