日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一 、前言

Thinkphp是為了簡化企業(yè)級應用開發(fā)敏捷WEB應用開發(fā)而誕生的輕量級PHP開發(fā)框架,具有免費開源、快速、簡單且面向對象等特點。
在ThinkPHP的5.*版本中存在安全隱患,由于ThinkPHP5框架對控制器名沒有進行足夠的安全檢測,導致在沒有開啟強制路由的情況下,可能出現(xiàn)getshell漏洞。受影響的版本包括5.0和5.1。

本期安仔課堂,ISEC實驗室的黃老師將為大家介紹ThinkPHP5的相關知識點,歡迎感興趣的朋友一起交流學習。

二、漏洞分析

該漏洞源于ThinkPHP5框架底層對控制器名過濾不嚴,允許黑客通過url調(diào)用Thinkphp框架內(nèi)部的敏感函數(shù),出現(xiàn)getshell漏洞。具體代碼實現(xiàn)如下:

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖1


2.1

thinkphp/library/think/App.php

首先看到routecheck代碼,由于沒有在配置文件上定義任何路由,所以默認按照圖一的方式進行解析調(diào)度。如果開啟強制路由模式,會直接拋出錯誤,這時通過Route::import命令加載路由,繼續(xù)跟進路由。

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖2

2.2

thinkphp/library/think/Route.php

可以看到tp5在解析URL的時候只是將URL按分割符分割,并沒有進行安全檢測。繼續(xù)分析:

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖3

其中,滲透測試人員最為關心的是Exchange對外提供的訪問接口,以及使用的加密驗證類型

2.3

thinkphp/library/think/App.php

可以看到:由于程序并未對控制器進行有效的安全過濾和檢查,因此測試人員可以通過引用“”來調(diào)用任意方法。

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖4

2.4

跟進到module方法

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖5

在測試時注意使用一個已存在的module,否則會拋出異常,無法繼續(xù)運行。此處直接從之前的解析結果中獲取控制器名稱以及操作名,無任何安全檢查。

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖6

2.5

跟進到實例化Loader 控制器方法

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖7

可以看到如果控制器名中有“”,就直接返回。回到“thinkphp/library/think/App.php”的module方法,正常情況下應該獲取到對應控制器類的實例化對象,而我們現(xiàn)在得到了一個“thinkApp”的實例化對象,通過url調(diào)用其任意的public方法,同時解析url中的額外參數(shù),當作方法的參數(shù)傳入。我們可以調(diào)用invokeFunction這個方法,構造payload為:

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖8

三、漏洞利用

所有基于tp5.0框架建設的網(wǎng)站都受此漏洞的影響。

3.1

測試該漏洞點是否被修復

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖9


網(wǎng)址后面直接拼接以上代碼,執(zhí)行之后發(fā)現(xiàn)出現(xiàn)phpinfo頁面,說明漏洞存在。

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖10

3.2

在public目錄下創(chuàng)建insfo.php

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖11

修改漏洞利用代碼,直接在public目錄下創(chuàng)建一個名為insfo.php的一句話木馬。

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖12

3.3

刪除insfo.php文件

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖13

四、解決方案

直接添加補丁,升級ThinkPHP版本,開啟強制路由,在ThinkPHP5.0版本的thinkphp/library/think/App.php , Module類的獲取控制名處添加如下代碼,正則過濾:

「漏洞分析」ThinkPHP5任意代碼執(zhí)行分析全記錄

圖14

分享到:
標簽:ThinkPHP5
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定