1. 云栖社区>
  2. PHP教程>
  3. 正文

ThinkPHP2.2 任意代码执行漏洞 利用

作者:用户 来源:互联网 时间:2017-12-01 20:32:27

漏洞thinkphp代码执行2.2利用任意

ThinkPHP2.2 任意代码执行漏洞 利用 - 摘要: 本文讲的是ThinkPHP2.2 任意代码执行漏洞 利用, 本文通过OscPress同步至oschina,最新版本请查看原文: https://www.cellmean.com/?p=332 有人在QQ群发招聘信息,我顺便看了一下他们项目的地址,错误信息显示是ThinkPHP框架写的,并且版


Think<a href=PHP2.2 任意代码执行漏洞 利用">
本文通过OscPress同步至oschina,最新版本请查看原文: https://www.cellmean.com/?p=332

有人在QQ群发招聘信息,我顺便看了一下他们项目的地址,错误信息显示是ThinkPHP框架写的,并且版本为2.2。 如图一


闲来无事,于是搜索2.2相关的漏洞,运气不错,很快找到一个。 ThinkPHP framework 任意代码执行漏洞预警


这是很早以前的的一个漏洞,对ThinkPHP2.2以下版本有效,包含2.2版本。


网上有一些利用的文章,说用“中国菜刀”啥的直接去连就可以了,哥又不是专门去黑人的,也就懒得下这玩意玩, 分析了一下,虽然说可以执行任意代码,但利用这个也是需要通过一些技巧,比如这样的话是可以的index.php/module/action/param1/${@print(THINK_VERSION)}


但如果想要执行index.php/module/action/param1/${@print("hello hack!")}这是不行的,因为Thinkphp会把里面的引号屏蔽掉。那怎样才能把带有引号的内容执行呢。


我想了个办法,不把引号放这里面是吧,好,那放在请求参数里。比如把URL构造成这样index.php/module/action/param1/${@eval(implode($_GET))}?a=print("hello hack!");如图二:


好了,既然已经可以执行任意代码了,到这一步就没什么技术含量了,想干嘛干嘛了。 已通知了这哥们,但貌似人家忽略了,额,忽略了… 好吧,截图留个纪念:


不过在国内用ThinkPHP2.2以下版本的网站太多了,Thinkphp的特征非常明显,用搜索引擎一抓一大把,危害极大!



防范: 1.Thinkphp官方补丁已经发布,或者升级到Thinkphp最新版本 2.php.ini中禁用部分可能产生安全问题或者暴露敏感信息的的函数,如在这里涉及到的eval和phpinfo等 3.适当配置服务器权限,比如文件目录的读写权限,这样即便漏洞被利用,也在一定程度上增加黑客提权的难度。


感谢阅读本文,欢迎访问 微言 获取更多内容或查看原文



以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索漏洞 , thinkphp , 代码 , 执行 , 2.2 , 利用 任意 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

云服务器9.9元/月,大学必备