版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
靶機框架漏洞與審計項目16Web安全漏洞及代碼審計(第2版)(微課版)01項目知識準備項目知識準備01框架理解一框架指為了提高程序開發(fā)效率、減少重復代碼而提供的一種基本架構(gòu),即Framework。開發(fā)人員可以在框架的基礎上進行二次開發(fā),從而快速實現(xiàn)系統(tǒng)功能,簡化開發(fā)過程。如果框架本身就存在漏洞那么無論開發(fā)者的代碼編寫得多么安全,都會存在漏洞,等同于將漏洞封裝到了框架底層。項目知識準備01MVC架構(gòu)模式二PHP框架通常采用MVC架構(gòu)模式。MVC是模型(Model)、視圖(View)、控制器(Controller)3個模塊的縮寫,是一種將業(yè)務邏輯、數(shù)據(jù)、界面顯示分離的寫法。Model包含業(yè)務邏輯層和業(yè)務數(shù)據(jù)層,主要用于分離業(yè)務邏輯和數(shù)據(jù)訪問邏輯。View主要用于解析顯示模板,生成特定的用戶視圖,將Model中的數(shù)據(jù)按一定的格式展現(xiàn)給用戶。Controller是控制框架的唯一入口,用于決定具體實現(xiàn)哪些操作。Controller在處理用戶的請求時,會調(diào)用相應的Model來生成可供View使用的數(shù)據(jù)。項目知識準備01常見框架介紹三(1)ThinkPHP框架:該框架使用面向?qū)ο蟮募軜?gòu)和MVC架構(gòu)模式進行開發(fā),支持XML標簽庫技術(shù)的編譯型模板引擎,支持兩種類型的模板標簽,支持動態(tài)編譯和緩存技術(shù)等。(2)Laravel框架:該框架的架構(gòu)比較清晰,注重代碼的模塊化(抽象了中間件、任務、服務等)和可擴展性,路由系統(tǒng)快速、高效,具有緩存、身份驗證、任務自動化、Hash加密、事務等功能。(3)Yii框架:該框架支持Composer包管理工具,采用純OOP開發(fā),模型使用起來比較方便,具有高度的可重用性和可擴展性。(4)Symfony框架:該框架可以自動加載類,適合開發(fā)大型復雜項目,在Project級別定義好基礎類之后,可以重用任何模塊,大大提高了代碼復用性,同時封裝了$POST、$GET數(shù)據(jù),支持異常處理、調(diào)試功能、數(shù)據(jù)檢測等。02任務1ThinkPHP框架使用任務1ThinkPHP框架使用02掌握ThinkPHP框架的使用樹立為網(wǎng)絡強國做貢獻的決心。任務目標一任務實施二訪問ThinkPHP官方下載界面,單擊“Download”按鈕,即可下載ThinkPHP源代碼,如圖16-1所示。任務1ThinkPHP框架使用02在ThinkPHP源代碼下載完成后,將其存放到系統(tǒng)根目錄中,直接訪問localhost,界面如圖16-2所示??梢钥吹侥夸浗Y(jié)構(gòu)如下:任務實施二任務1ThinkPHP框架使用02ThinkPHP框架采用單一入口模式訪問應用,可將應用的所有請求都定向到應用的入口文件中,而系統(tǒng)會從參數(shù)url中解析當前請求的模塊、控制器和操作。一個標準的URL訪問格式如下:localhost/index.php/模塊/控制器/操作任務實施二03任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03能夠進行ThinkPHP遠程代碼執(zhí)行漏洞的分析及代碼審計深刻領(lǐng)悟“沒有網(wǎng)絡安全就沒有國家安全”的含義。任務目標一任務實施二1.漏洞影響由于在ThinkPHP5.x版本中沒有對路由的控制器名進行嚴格過濾,因此在存在admin、index模塊且沒有開啟強制路由(默認不開啟)的情況下,攻擊者可以注入惡意代碼,利用反射類調(diào)用命名空間中的其他任意內(nèi)置類,從而獲取權(quán)限(getshell),受影響的ThinkPHP版本有ThinkPHP5.0~5.0.22、ThinkPHP5.1.0~5.1.30。任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03任務實施二漏洞觸發(fā)點在/thinkphp/library/think/Request.php文件的method()函數(shù)中,可以看到代碼中引用了一個外部可控的數(shù)據(jù)——var_method,代碼如下:2.漏洞分析任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03任務實施二其中,var_method在application/config.php文件中對應的值是_method,代碼如下:2.漏洞分析任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03任務實施二也就是說,在/thinkphp/library/think/Request.php文件中,通過POST方式傳入的_method會被賦值給$this->method;在通過POST方式傳入_method=xxx的情況下,代碼會將xxx轉(zhuǎn)換為大寫格式并賦值給$this->method;在method()函數(shù)中,調(diào)用的是$this->{$this->method}($_POST),這就說明_method是可控的,傳入的數(shù)據(jù)也是可控的。下面來看/thinkphp/library/think/Request.php文件中的__construct()函數(shù),代碼如下:2.漏洞分析任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03任務實施二這個函數(shù)會對傳入的$options數(shù)組進行遍歷,將Request對象的成員屬性覆蓋,而文件上面保留了全局過濾的規(guī)則,代碼如下:2.漏洞分析任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03任務實施二在/thinkphp/library/think/App.php文件中,由于$dispatch的值為method,因此會進入回調(diào)方法這一分支,代碼如下:2.漏洞分析任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03任務實施二在/thinkphp/library/think/Request.php文件中使用Request::instance()->param()函數(shù),代碼如下:2.漏洞分析任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03任務實施二在$this->mergeParam為空的情況下,調(diào)用的是$this->method(true),而在true===$method的情況下,調(diào)用的是server('REQUEST_METHOD')。繼續(xù)跟蹤server()函數(shù),這里的$name實際上是REQUEST_METHOD,代碼如下:2.漏洞分析任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03任務實施二經(jīng)過上述處理之后,會調(diào)用$this->input()函數(shù)進行處理。跟蹤input()函數(shù),代碼如下:2.漏洞分析任務2ThinkPHP遠程代碼執(zhí)行漏洞分析與審計03任務實施二上述代碼會進行三元運算,最終$filter會被賦值給$this->filter并返回$filter,接著會判斷$data是否為數(shù)組,之后調(diào)用filterValue()函數(shù)進行處理。跟蹤filterValue()函數(shù),代碼如下。從代碼中可以看到,call_user_func()函數(shù)中的$filter和$value都是可控的,在原生框架的情況下,如果開啟了debug模式,就可以直接執(zhí)行命令了。2.漏洞分析任務2越權(quán)漏洞分析及代碼審計03任務實施二訪問http://localhost:8081/public/index.php?s=captcha,結(jié)果如圖16-3所示。POST請求內(nèi)容為:method=_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療咨詢與接待禮儀
- 2026年河南質(zhì)量工程職業(yè)學院單招職業(yè)技能筆試備考題庫帶答案解析
- 醫(yī)療人員禮儀培訓內(nèi)容
- 2026年河北石油職業(yè)技術(shù)大學高職單招職業(yè)適應性考試備考題庫有答案解析
- 醫(yī)院環(huán)境:整潔與溫馨并重
- 兒科疾病遠程診療平臺建設
- 個性化藥物設計與藥物篩選
- 醫(yī)療大數(shù)據(jù)挖掘與智能決策
- 智能化醫(yī)療設備在心血管疾病中的應用
- 2026年安徽黃梅戲藝術(shù)職業(yè)學院高職單招職業(yè)適應性測試備考試題有答案解析
- 2025中國供銷集團校園招聘高頻重點提升(共500題)附帶答案詳解
- 不擾民協(xié)議書范文多人簽字模板
- 玻璃陽光房合同模板
- 重力式、擋墻施工方案
- JJG 705-2014液相色譜儀行業(yè)標準
- 媽媽產(chǎn)后營養(yǎng)平衡的課件
- 《李彥宏個人介紹》課件
- 糖尿病核心信息知識講座
- 美容外科臨床診療指南診療規(guī)范2023版
- 【語文】西安高新一小小學四年級上冊期末試題
- GB/T 9439-2023灰鑄鐵件
評論
0/150
提交評論