Fork me on GitHub

thinkPHP 5.0.23远程代码执行漏洞复现

文章开头

最近对thinkPHP可谓是多事之秋


    最近对thinkPHP可谓是多事之秋!不断爆出一些任意命令执行漏洞让新年伊始变得不再平静!在认真拜读了某位师傅写的漏洞详情后,我对该漏洞也有一个大概的认识,所以心里痒痒想复现一下,接着就有了下面的故事

漏洞复现


    漏洞详情我就不再赘述了,因为某师傅已经写得很详细了,而且漏洞详情一句话两句话也讲不清楚,只有你自己看漏洞详情才能明白漏洞形成的原因。漏洞详情请点我我就直接进入主题–漏洞复现

    当我兴致勃勃地进入thinkPHP官网的时候发现不管怎么找到都找不到5.0.23版本,我想了一下然后就明白了,官方肯定下架了有重大漏洞的版本呀!那就另辟蹊径呗!我在源码之家找到了5.0.23版本的源码。那接下来就是直接将其搭建在apache上了,当我们在浏览器中输入http://localhost/thinkphp/thinkphp_5.0.23_with_extend/public/index.php 并且看到文章开头的界面时说明你的靶机环境已经搭建好了

    该漏洞形成的主要原因还是因为post变量覆盖,所以我们使用Firefox的hackbar来进行漏洞复现,当然除了Firefox还有很多工具可以进行。我们在Firefox中键入http://localhost/thinkphp/thinkphp_5.0.23_with_extend/public/index.php?s=captcha, 并且在post数据中键入_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ping baidu.com 发现命令已经被执行

漏洞复现成功

漏洞危害


    ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。—百度百科

    thinkPHP在国内的应用是非常广的,而且5.0.23是比较新的版本,所以目测现在国内还有一大部分网站跑着有漏洞的该框架。

-------------本文结束感谢您的阅读-------------