版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
靶機(jī)命令執(zhí)行漏洞與審計(jì)項(xiàng)目10Web安全漏洞及代碼審計(jì)(第2版)(微課版)01項(xiàng)目知識(shí)準(zhǔn)備項(xiàng)目知識(shí)準(zhǔn)備01在應(yīng)用程序需要調(diào)用外部程序來(lái)處理內(nèi)容時(shí),通常會(huì)用到一些執(zhí)行系統(tǒng)命令的函數(shù),如system()、exec()、shell_exec()等。當(dāng)攻擊者可以控制命令執(zhí)行函數(shù)中的參數(shù)時(shí),他就可以將惡意系統(tǒng)命令注入正常命令中,造成命令執(zhí)行漏洞。漏洞介紹一漏洞危害二攻擊者利用命令執(zhí)行漏洞可以通過(guò)瀏覽器在遠(yuǎn)程服務(wù)器上執(zhí)行任意系統(tǒng)命令。嚴(yán)格來(lái)說(shuō),命令執(zhí)行漏洞與代碼執(zhí)行漏洞還是有一定區(qū)別的,攻擊者利用命令執(zhí)行漏洞可以直接調(diào)用系統(tǒng)命令,而利用代碼執(zhí)行漏洞則需要通過(guò)執(zhí)行腳本代碼來(lái)調(diào)用系統(tǒng)命令。項(xiàng)目知識(shí)準(zhǔn)備01審計(jì)思路三命令執(zhí)行漏洞出現(xiàn)在包含環(huán)境包的應(yīng)用中常見(jiàn)的執(zhí)行系統(tǒng)命令的函數(shù)有exec()、system()、popen()、passthru()、proc_open()、pcntl_exec()、shell_exec()、反引號(hào)(`)等,在審計(jì)過(guò)程中可以重點(diǎn)關(guān)注此類函數(shù)。02任務(wù)1命令執(zhí)行漏洞分析任務(wù)1命令執(zhí)行漏洞分析02能夠進(jìn)行命令執(zhí)行漏洞的分析警惕冒充公檢法的電信網(wǎng)絡(luò)詐騙形式。任務(wù)目標(biāo)一任務(wù)實(shí)施二1.system()函數(shù)system(string$command[,int&$return_var])函數(shù)的功能是執(zhí)行系統(tǒng)命令,并顯示返回結(jié)果。system()函數(shù)的參數(shù)及其含義如表10-1所示。任務(wù)1命令執(zhí)行漏洞分析02system()函數(shù)可以直接調(diào)用系統(tǒng)命令,并將返回結(jié)果顯示到頁(yè)面上,測(cè)試代碼如下:任務(wù)實(shí)施二1.system()函數(shù)任務(wù)1命令執(zhí)行漏洞分析02exec(stringcommand[,array$output[,int$return_var]])函數(shù)的功能是執(zhí)行系統(tǒng)命令,但是不顯示返回結(jié)果。該函數(shù)可以從執(zhí)行命令的結(jié)果中傳回最后一行執(zhí)行結(jié)果,其參數(shù)及含義如表10-2所示。因?yàn)樵摵瘮?shù)不會(huì)將返回結(jié)果顯示到頁(yè)面上,所以需要通過(guò)echo輸出來(lái)查看系統(tǒng)命令是否執(zhí)行成功,結(jié)果如圖10-2所示,會(huì)顯示最后一行執(zhí)行結(jié)果。任務(wù)實(shí)施二2.exec()函數(shù)任務(wù)1命令執(zhí)行漏洞分析02反引號(hào)(`)同樣可以執(zhí)行系統(tǒng)命令,但實(shí)際上執(zhí)行系統(tǒng)命令時(shí)調(diào)用的是shell_exec()函數(shù),測(cè)試代碼如下:任務(wù)實(shí)施二3.反引號(hào)(`)和shell_exec()函數(shù)任務(wù)1命令執(zhí)行漏洞分析02popen()和proc_open()函數(shù)都不會(huì)直接返回執(zhí)行結(jié)果,而是會(huì)返回一個(gè)文件指針,但是實(shí)際上命令已經(jīng)被執(zhí)行。以popen()函數(shù)為例,如popen(string$command,string$mode),其參數(shù)及含義如表10-3所示。第一個(gè)參數(shù)表示需要執(zhí)行的命令,第二個(gè)參數(shù)表示文件的權(quán)限模式。將執(zhí)行完成的命令結(jié)果寫入到1.txt文件中,測(cè)試代碼如下:任務(wù)實(shí)施二4.popen()和proc_open()函數(shù)03任務(wù)2命令執(zhí)行漏洞代碼審計(jì)任務(wù)2命令執(zhí)行漏洞代碼審計(jì)03能夠進(jìn)行命令執(zhí)行漏洞的代碼審計(jì)了解全國(guó)職業(yè)院校技能大賽高職組信息安全管理與評(píng)估賽項(xiàng),樹立成為網(wǎng)絡(luò)安全技術(shù)能手的志向。任務(wù)目標(biāo)一任務(wù)實(shí)施二1.環(huán)境搭建本任務(wù)使用Discuz!5.5.3,在部署好源代碼后,進(jìn)入“Discuz!安裝向?qū)А苯缑?,如圖10-5所示。任務(wù)2命令執(zhí)行漏洞代碼審計(jì)031.環(huán)境搭建任務(wù)實(shí)施二單擊“我同意”按鈕,進(jìn)入“開(kāi)始安裝”界面,可在此檢查安裝環(huán)境,如操作系統(tǒng)、PHP版本,以及目錄、文件權(quán)限等,如圖10-6所示。在安裝環(huán)境檢查通過(guò)后,單擊界面底部的“下一步”按鈕,進(jìn)入“設(shè)置運(yùn)行環(huán)境”界面,如圖10-7所示,選中“全新安裝Discuz!X(含UCenterServer)”單選按鈕,并單擊“下一步”按鈕,進(jìn)入“安裝數(shù)據(jù)庫(kù)”界面,如圖10-8所示,填寫對(duì)應(yīng)的數(shù)據(jù)庫(kù)信息及管理員信息。在信息填寫完成后,單擊“下一步”按鈕,即可開(kāi)始安裝,在安裝成功后會(huì)跳轉(zhuǎn)至“Discuz!應(yīng)用中心”界面,如圖10-9所示。任務(wù)2命令執(zhí)行漏洞代碼審計(jì)031.環(huán)境搭建任務(wù)實(shí)施二任務(wù)2命令執(zhí)行漏洞代碼審計(jì)032.漏洞分析任務(wù)實(shí)施二在/source/admincp/admincp_db.php文件中,可以直接定位到漏洞觸發(fā)點(diǎn),代碼如下。在shell_exec()函數(shù)中,$tablesstr是可控的,代碼如下:任務(wù)2命令執(zhí)行漏洞代碼審計(jì)032.漏洞分析任務(wù)實(shí)施二跟蹤table處理流,代碼如下。在if(empty($_GET['setup']))分支中,當(dāng)setup不為空時(shí),會(huì)從$_GET的數(shù)組中獲取customtables字段的內(nèi)容,并判斷其是否為空,如果該字段不為空,則會(huì)將從外部獲取的customtables字段內(nèi)容寫入到common_setting表中skey=custombackup的svalue字段中。在寫入過(guò)程中,會(huì)將這個(gè)字段進(jìn)行序列化存儲(chǔ),并最終賦值給$tables,此處存在危險(xiǎn)函數(shù)shell_exec(),由于shell_exec()函數(shù)中的參數(shù)$tablesstr是可控的,因此存在命令執(zhí)行漏洞。任務(wù)2命令執(zhí)行漏洞代碼審計(jì)033.漏洞利用任務(wù)實(shí)施二在admin.php文件中,需要滿足require$admincp->admincpfile($action)且$action為db,代碼如下。跟蹤admincpfile()函數(shù),如果$action傳入的是db,這里就會(huì)包含/source/admincp/admincp_db.php文件,代碼如下:任務(wù)2命令執(zhí)行漏洞代碼審計(jì)033.漏洞利用任務(wù)實(shí)施二而/source/admincp/admincp_db.php文件就是漏洞觸發(fā)文件,再看一遍漏洞觸發(fā)代碼,代碼如下:任務(wù)2命令執(zhí)行漏洞代碼審計(jì)033.漏洞利用任務(wù)實(shí)施二通過(guò)分析上述代碼可知,只有構(gòu)造字段來(lái)滿足上述條件,才可以觸發(fā)漏洞,訪問(wèn)后臺(tái)地址http://localhost/admin.php,進(jìn)入后臺(tái)管理界面,并輸入安裝程序時(shí)自定義的管理員賬號(hào)和密碼,登錄后臺(tái)系統(tǒng),如圖10-10所示。在進(jìn)入后臺(tái)管理界面后,選擇“站長(zhǎng)”選項(xiàng)卡,在左側(cè)導(dǎo)航欄中選擇“數(shù)據(jù)庫(kù)”標(biāo)簽,之后單擊右側(cè)界面中的“備份”按鈕,在“數(shù)據(jù)備份類型”選項(xiàng)組中選中“自定義備份”單選按鈕,在“數(shù)據(jù)備份方式”選項(xiàng)組中選中“系統(tǒng)MySQLDump(Shell)備份”單選按鈕,如圖10-11所示。向customtables中傳入Payload,代碼如下:customtables[]=pre_common_admincp_cm
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 賬務(wù)管理培訓(xùn)課件
- 醫(yī)療護(hù)理禮儀:關(guān)愛(ài)患者提高護(hù)理服務(wù)質(zhì)量
- 口腔正畸技術(shù)發(fā)展與展望
- 中國(guó)近視前期管理專家共識(shí)總結(jié)2026
- 醫(yī)院綠化美化與禮儀文化
- 傳染病防控策略與患者管理
- D打印在醫(yī)療器械制造中的應(yīng)用
- 醫(yī)療設(shè)備維護(hù)情況匯報(bào)
- 2026年廣西教育學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考題庫(kù)帶答案解析
- 2026年福州軟件職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫(kù)有答案解析
- 雨課堂學(xué)堂在線學(xué)堂云軍事理論國(guó)防大學(xué)單元測(cè)試考核答案
- 多源醫(yī)療數(shù)據(jù)融合的聯(lián)邦學(xué)習(xí)策略研究
- 2025至2030中國(guó)工業(yè)邊緣控制器行業(yè)運(yùn)營(yíng)態(tài)勢(shì)與投資前景調(diào)查研究報(bào)告
- 磁電感應(yīng)式傳感器課件
- 學(xué)??剌z保學(xué)工作流程及四書一表一單
- 2026屆湖南省常德市石門一中生物高二第一學(xué)期期末統(tǒng)考試題含解析
- 冷渣機(jī)調(diào)整課件
- 肺癌全程護(hù)理計(jì)劃
- 學(xué)堂在線 雨課堂 學(xué)堂云 人工智能 章節(jié)測(cè)試答案
- 工業(yè)高質(zhì)量數(shù)據(jù)集研究報(bào)告
- 2024城口縣國(guó)企招聘考試真題及答案
評(píng)論
0/150
提交評(píng)論