最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

PHP代碼審計(jì)之RCE漏洞

2021-09-16 11:56 作者:安全牛課堂  | 我要投稿

RCE漏洞全稱為遠(yuǎn)程命令/代碼執(zhí)行漏洞(英文為remote command/code execute),可以讓攻擊者直接向后臺服務(wù)器遠(yuǎn)程注入操作系統(tǒng)命令或者代碼,從而控制后臺系統(tǒng)。

本文中將對Thinkphp5.0.X代碼執(zhí)行漏洞進(jìn)行簡單的分析。


漏洞影響版本:

ThinkPHP5.0.X 代碼執(zhí)行漏洞

漏洞成因:控制器過率不嚴(yán),結(jié)合直接返回類名的代碼操作,導(dǎo)致可以用命名空間的方式來調(diào)用任意類的任意方法

影響范圍:ThinkPHP5.0.X-5.0.23

EXP:

/index.php?s=/index/\think\APP/invokefunction&function=phpinfo&vars[0]=100

/public/index.php?s=/index/\think\APP/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

一般入口文件是在站點(diǎn)根目錄下的public目錄下的index.php文件:

在框架引導(dǎo)文件中調(diào)用APP類的run函數(shù),后發(fā)現(xiàn)進(jìn)入autoload自動(dòng)加載類

發(fā)現(xiàn)代碼在尋找think\APP的類

查找think\APP類所對應(yīng)的類文件的物理路徑

途中在think\APP類文件中86行,發(fā)現(xiàn)filter過率函數(shù)(換空)

在APP類文件的103行放出可調(diào)度的信息dispatch,這個(gè)代表提交路由的狀態(tài)模式,而這個(gè)變量是由routeCheck函數(shù)返回,我們進(jìn)入routeCheck函數(shù)查看

發(fā)現(xiàn)routeCheck函數(shù)為路由檢查函數(shù),跟進(jìn)后發(fā)現(xiàn)我們提交的路由為合理路由,并沒有過濾 (path里的路徑為index/think\APP/invokefunction)

繼續(xù)往下,發(fā)現(xiàn)使用Route:parseUrl函數(shù)對路由進(jìn)行解析,將模塊/控制器/函數(shù)/參數(shù)從我們提交的路由中分離出來,分別加載

在route:parseUrl中使用ParseUrlPath對路徑由/進(jìn)行分割,發(fā)現(xiàn)我們提交的\think\APP并沒有被分割開來



繼續(xù)往下發(fā)現(xiàn)解析控制器的內(nèi)容,沒有任何過濾,這樣使得我們可以調(diào)用框架中任何控制器的類文件

往下發(fā)現(xiàn)可以任意執(zhí)行類的任意函數(shù),傳入任意參數(shù)

到現(xiàn)在位置,可以調(diào)用任意類文件中的任意函數(shù)


APP類文件的invokefunction函數(shù)中,function為我們傳入的phpinfo,這里使用到了反射類,將傳入的函數(shù)對象反射,最后通過invokeArgs執(zhí)行。

關(guān)于反射類執(zhí)行類的函數(shù):

以上內(nèi)容選自安全牛課堂《PHP代碼審計(jì)之RCE漏洞》課程

本課程您還將學(xué)習(xí)到UsualTool后臺getshell入門審計(jì)、pluck漏洞代碼、zzzphp遠(yuǎn)程代碼執(zhí)行漏洞審計(jì)、PbootCMS遠(yuǎn)程代碼執(zhí)行漏洞審計(jì)、ecshop日志文件代碼執(zhí)行漏洞審計(jì)、Empire后臺代碼執(zhí)行g(shù)etshell、Thinkphp5.0.X代碼執(zhí)行漏洞等相關(guān)漏洞代碼分析以及漏洞復(fù)現(xiàn)。

掃描下方二維碼直接跳轉(zhuǎn)至課程頁面

課程視頻地址:https://www.aqniukt.com/my/course/13995

PHP代碼審計(jì)之RCE漏洞的評論 (共 條)

分享到微博請遵守國家法律
平原县| 寿宁县| 雅江县| 汝州市| 泸州市| 美姑县| 凤山县| 栾城县| 白朗县| 揭西县| 同心县| 通海县| 永福县| 积石山| 古浪县| 若尔盖县| 锡林郭勒盟| 光山县| 浙江省| 江北区| 张家川| 安龙县| 江西省| 滕州市| 仙桃市| 叙永县| 噶尔县| 河北省| 安图县| 镇康县| 盖州市| 大英县| 习水县| 河间市| 东莞市| 勃利县| 曲沃县| 丰城市| 伊金霍洛旗| 吴忠市| 麟游县|