版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
命令執(zhí)行/代碼注入漏洞王朋濤深信服北京安全團(tuán)隊命令執(zhí)行/代碼注入漏洞概述命令執(zhí)行/代碼注入漏洞分類介紹命令執(zhí)行/代碼注入漏洞挖掘方法命令執(zhí)行/代碼注入漏洞攻擊防御總結(jié)培訓(xùn)提綱命令執(zhí)行/代碼注入漏洞概述命令執(zhí)行/代碼注入漏洞概述命令執(zhí)行/代碼注入漏洞的出現(xiàn)應(yīng)用程序直接/間接使用了動態(tài)執(zhí)行命令的危險函數(shù),并且這個函數(shù)的運(yùn)行參數(shù)是用戶可控的。如php可動態(tài)執(zhí)行系統(tǒng)命令的函數(shù):system、exec、passthru等等,php可動態(tài)執(zhí)行php代碼的有eval;jsp可動態(tài)執(zhí)行系統(tǒng)命令的函數(shù)有:Runtime.getRuntime().exec(...);asp/aspx可動態(tài)執(zhí)行asp/aspx代碼的有:eval等等。命令執(zhí)行/代碼注入漏洞的本質(zhì)程序設(shè)計違背了“數(shù)據(jù)與代碼分離”的原則。命令執(zhí)行/代碼注入漏洞分類介紹命令執(zhí)行/代碼注入漏洞分類介紹命令或代碼直接注入執(zhí)行漏洞命令或代碼本地包含執(zhí)行漏洞命令或代碼遠(yuǎn)程包含執(zhí)行漏洞命令或代碼反序列化執(zhí)行漏洞命令或代碼動態(tài)變量執(zhí)行漏洞命令或代碼動態(tài)函數(shù)執(zhí)行漏洞命令執(zhí)行/代碼注入漏洞分類介紹命令或代碼直接注入執(zhí)行漏洞概述命令注入:應(yīng)用程序直接使用了危險的可執(zhí)行系統(tǒng)命令的函數(shù),比如php的system、exec函數(shù)等,并且這些函數(shù)的運(yùn)行參數(shù)是用戶可控的,若過濾不嚴(yán)格,就會增大命令執(zhí)行漏洞的概率。命令或代碼本地包含執(zhí)行漏洞。代碼注入:應(yīng)用程序直接使用了危險的代碼執(zhí)行函數(shù),如php/asp/aspx的eval函數(shù)等,并且這些函數(shù)的運(yùn)行參數(shù)是用戶可控的,若過濾不嚴(yán)格,就會增大命令執(zhí)行漏洞的概率。命令執(zhí)行/代碼注入漏洞分類介紹命令直接注入示例1(CGI)系統(tǒng)命令注入執(zhí)行漏洞示例,就比如去年很火的Bash漏洞,就屬于這類漏洞,用戶可直接更改HTTP頭User-Agent的值,就可引發(fā)命令注入,如下圖(命令執(zhí)行結(jié)果將從服務(wù)器上下載一個php文件到本地):命令執(zhí)行/代碼注入漏洞分類介紹命令直接注入示例2(PHP)系統(tǒng)命令注入執(zhí)行漏洞示例,如服務(wù)器端用php語言實現(xiàn),并且有個system.php文件的內(nèi)容含有如下片段eval(“$_GET[arg];”);,或類似的片段,就會存在此漏洞。如下圖:命令執(zhí)行/代碼注入漏洞分類介紹命令直接注入示例2若用戶輸入的參數(shù)arg的值為精心組裝過的,如:http://[IP]/test.php?arg=cat/etc/passwd最后執(zhí)行的命令就變成了system("cat/etc/passwd"),輸出結(jié)果如下圖(顯示出了服務(wù)器機(jī)器上的用戶名等敏感信息):命令執(zhí)行/代代碼注入漏洞洞分類介紹代碼直接注入入示例1(PHP)代代碼注入執(zhí)行行漏洞示例,,如服務(wù)器端端用php語語言實現(xiàn),并并且有個eval.php文件件的內(nèi)容如下下圖:命令執(zhí)行/代代碼注入漏洞洞分類介紹代碼直接注入入示例1若用戶輸入精精心組裝過的的數(shù)據(jù),如:cmdcode/code/eval.php?arg=phpinfo()則將執(zhí)行php代碼命令令phpinfo(),結(jié)果如下圖圖:命令執(zhí)行/代代碼注入漏洞洞分類介紹代碼直接注入入示例2(Strust2)代碼碼注入執(zhí)行漏漏洞示例,如如之前紅極一一時的Strust2漏漏洞,也是由由于未對用戶戶可控參數(shù)進(jìn)進(jìn)行有效的過過濾引發(fā)的代代碼注入執(zhí)行行漏洞,如用用戶輸入:http://XXX/save.action?redirect:${%23a%3d(newjava.lang.ProcessBuilder(newjava.lang.String[]{'ipconfig','/all'})).start(),%23b%3d%23a.getInputStream(),%23c%3dnewjava.io.InputStreamReader(%23b),%23d%3dnewjava.io.BufferedReader(%23c),%23e%3dnewchar[50000],%23d.read(%23e),%23matt%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt.getWriter().println(%23e),%23matt.getWriter().flush(),%23matt.getWriter().close()}命令執(zhí)行/代代碼注入漏洞洞分類介紹代碼直接注入入示例2命令執(zhí)行/代代碼注入漏洞洞分類介紹命令或代碼本本地/遠(yuǎn)程文件包含含執(zhí)行漏洞概概述命令本地/遠(yuǎn)遠(yuǎn)程包含漏洞洞:應(yīng)用程序直直接包含或執(zhí)執(zhí)行了用戶可可控的上傳腳腳本文件或遠(yuǎn)遠(yuǎn)程文件(URL引用文文件),就會會觸發(fā)此漏洞洞。代碼本地/遠(yuǎn)遠(yuǎn)程包含漏洞洞:應(yīng)用程序直接接包含了用戶戶可控的上傳傳文件或遠(yuǎn)程程文件(URL引用文件件),就會觸觸發(fā)此漏洞,,比如php/asp/aspx的的include,以及及php的include_once、require_once、、require等,有有些遠(yuǎn)程文件件包含的有些些限制條件,,比如PHP的就必須打打開配置選項項:allow_url_fopen,才會成成功。命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹命令本本地文文件包包含示示例1(360安安全衛(wèi)衛(wèi)士)360安全全衛(wèi)士士有個個“360電腦腦專家家”功功能,,可以以聊天天,在在聊天天窗口口中輸輸入如如下圖圖內(nèi)容容,就就會觸觸發(fā)本本地包包含漏漏洞。。這個個漏洞洞的原原理是是360會會將聊聊天內(nèi)內(nèi)容寫寫入到到文件件中去去,然然后顯顯示的的時候候去讀讀取文文件,,執(zhí)行行了包包含的的命令令。命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹命令本本地文文件包包含示示例1就會看看到這這奇跡跡的一一幕,,彈出出命令令行了了.....命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹命令本本地文文件包包含示示例2(php)若若服務(wù)務(wù)端代代碼文文件中中有個個php文文件的的內(nèi)容容包含含有類類似代代碼【【require($_GET['p']);】】的片片段,,就會會引發(fā)發(fā)本地地包含含的漏漏洞。。其中中參數(shù)數(shù)p為為用戶戶可控控的,,若p指定定為一一個用用戶上上傳的的文件件cmd.txt,,并且且這個個txt的的內(nèi)容容為<?phppassthru($_GET["cmd"]);?>,,就就會觸觸發(fā)此此漏洞洞命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹命令本本地文文件包包含示示例2命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹代碼本本地文文件包包含示示例1(php)若若服務(wù)務(wù)端代代碼文文件中中有個個php文文件的的內(nèi)容容包含含有類類似代代碼【【require($_GET['p']);】的的片段段,就就會引引發(fā)本本地包包含的的漏洞洞。其其中參參數(shù)p為用用戶可可控的的,若若p指指定為為一個個用戶戶上傳傳的文文件code.txt,,并且且這個個txt的的內(nèi)容容為<?phpeval("$_GET[code];");?>,,就就會觸觸發(fā)此此漏洞洞命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹代碼本本地文文件包包含示示例1命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹命令或或代碼碼反序序列化化執(zhí)行行漏洞洞概述述有些動動態(tài)腳腳本語語言,,如php支持持實例對對象的的序列列化傳傳輸,然后后服務(wù)務(wù)端將將實例例對象象反序序列化化出來來并執(zhí)執(zhí)行解解析后后實例例的構(gòu)構(gòu)造函函數(shù)、、析構(gòu)構(gòu)函數(shù)數(shù)或__wakeup()函函數(shù),,若這這些函函數(shù)利利用了了用戶戶可控控的參參數(shù),,則會會觸發(fā)發(fā)命令令/代代碼注注入執(zhí)執(zhí)行漏漏洞,,原理理和之之前的的直接接注入入一樣樣。命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹反序列列化漏漏洞示示例1若服務(wù)務(wù)端代代碼文文件中中有個個php文文件的的內(nèi)容容包含含有類類似如如下圖圖代碼碼片段段,就就存在在反序序列化化的漏漏洞。。命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹反序列列化漏漏洞示示例1訪問serialize.php可以獲獲取$class_ser的值為為:O:1:"a":1:{s:4:"test";s:19:"<?phpphpinfo();?>";}命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹反序列列化漏漏洞示示例1若用命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹命令或或代碼碼動態(tài)態(tài)變量量/函數(shù)執(zhí)執(zhí)行漏漏洞概概述有些動動態(tài)腳腳本語語言,,如php,支支持變變量或或函數(shù)數(shù)的動動態(tài)定定義,,即運(yùn)運(yùn)行時時可通通過參參數(shù)名名來動動態(tài)組組裝變變量、、變量量值或或函數(shù)數(shù)。若若代碼碼中包包含有有類似似如圖圖中類類似代代碼片片段,,就會會存在在動態(tài)態(tài)變量量/函函數(shù)的的執(zhí)行行漏洞洞。命令執(zhí)執(zhí)行/代碼碼注入入漏洞洞分類類介紹紹命令或或代碼碼動態(tài)態(tài)變量量/函數(shù)執(zhí)執(zhí)行漏漏洞示示例當(dāng)用戶戶在瀏瀏覽器器中輸輸入:dynamic.php?dyn_func=system&argument=ipconfig,就就相當(dāng)于于執(zhí)行了了系統(tǒng)命命令ipconfig,如下下圖命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法挖掘方法法從漏洞的的本質(zhì)以以及前面面的示例例中可以以明顯的的看出,,輸入點點是一切切注入的的根源,,挖掘漏漏洞就是是尋找這這些輸入入點,尋尋找方法法主要有有:-白盒審計計-黑盒審計計-灰盒審計計命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法白盒審計計概述白盒審計計,就是是指手上上已經(jīng)有有份完整整的源碼碼,然后后分析源源碼,選選擇一切切用戶可可控的輸輸入點,,然后分分析這些些輸入點點是否未未過濾或或過濾不不嚴(yán)格,,這些點點是最易易引發(fā)注注入漏洞洞,比如如常見的的XSS、SQL、命命令以及及代碼注注入漏洞洞等。白盒審計計方法一一般采用用人工以以及工具具相結(jié)合合的方法法。純工工具的相相對一些些有些邏邏輯跳轉(zhuǎn)轉(zhuǎn)的沒法法發(fā)現(xiàn),,純?nèi)斯すさ男事侍?,,也容易易遺漏,,正常情情況是使使用工具具找到所所有的輸輸入點,,然后人人工依次次跟蹤變變量的處處理流程程。命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法白盒審計計工具FortifySCAFortifySCA是是一個靜靜態(tài)的、、白盒的的軟件源源代碼安安全測試試工具。。它通過過內(nèi)置的的五大主主要分析析引擎::數(shù)據(jù)流流、語義義、結(jié)構(gòu)構(gòu)、控制制流、配配置流等等對應(yīng)用用軟件的的源代碼碼進(jìn)行靜靜態(tài)的分分析,分分析的過過程中與與它特有有的軟件件安全漏漏洞規(guī)則則集進(jìn)行行全面地地匹配、、查找,,從而將將源代碼碼中存在在的安全全漏洞掃掃描出來來,并給給予整理理報告。。掃描的的結(jié)果中中不但包包括詳細(xì)細(xì)的安全全漏洞的的信息,,還會有有相關(guān)的的安全知知識的說說明,以以及修復(fù)復(fù)意見的的提供。。命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法白盒審計計工具FortifySCA命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法白盒審計計工具SeaySeay源代碼碼審計系系統(tǒng),Seay源代碼碼審計系系統(tǒng)目前前只支持持PHP,功能能包括((一直在在更新)):-高精確度度自動白白盒審計計;-mysql數(shù)據(jù)庫庫管理;;-代碼高亮亮;-黑盒敏感感信息泄泄露一鍵鍵審計;;-函數(shù)查詢詢;-正則調(diào)試試;-代碼調(diào)試試;-多種字符符編碼轉(zhuǎn)轉(zhuǎn)換;-函數(shù)/變變量定位位;-臨時記錄錄(可保保存);;-審計報告告;-編輯保存存文件;;-自定義規(guī)規(guī)則;;-自動升級級檢測;;-自定義編編輯器;;-POST數(shù)據(jù)提交交;命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法白盒審計計工具Seasy命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法黑盒審計計概述黑盒審計計,就是是指無法法獲取到到源代碼碼,只能能通過現(xiàn)現(xiàn)有的WEB應(yīng)應(yīng)用,進(jìn)進(jìn)行摸黑黑測試,,測試所所有的輸輸入點。。通用的的方法是是使用掃掃描工具具掃描WEB的的目錄列列表以及及所有參參數(shù)列表表,并分分析掃描描報告,,查看是是否有可可疑的輸輸入點。。黑盒審計計工具常常用的有有wvs、appscan、、nessus、w3af等等等,有有很多,,就不一一一列舉舉了,下下面就簡簡單的介介紹下這這幾個軟軟件。命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法黑盒審計計工具WVS(WebVulnerabilityScanner)是是一個自自動化的的Web應(yīng)用程程序安全全測試工工具,它它可以掃掃描任何何可通過過Web瀏覽器器訪問的的和遵循循HTTP/HTTPS規(guī)則則的Web站點點和Web應(yīng)用用程序。。適用于于任何中中小型和和大型企企業(yè)的內(nèi)內(nèi)聯(lián)網(wǎng)、、外延網(wǎng)網(wǎng)和面向向客戶、、雇員、、廠商和和其它人人員的Web網(wǎng)網(wǎng)站。命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法黑盒審計計工具WVS命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法灰盒審計計概述灰盒審計計,就是是指結(jié)合合前面介介紹的兩兩種方法法(白盒盒和黑盒盒審計)),邊黑黑盒掃描描,邊白白盒審計計,這樣樣就能快快速的定定位到哪哪個輸入入點可疑疑,并且且通過白白盒審計計,就可可迅速的的找到并并編寫POC代代碼?;一液袑徲嬘嬕话阋酪蕾嚱?jīng)驗驗,經(jīng)驗驗越豐富富,一般般就能很很快的定定位到問問題所在在點以及及問題重重現(xiàn),快快速的編編寫出exp代代碼。命令執(zhí)行行/代碼碼注入漏漏洞攻擊擊防御命令執(zhí)行行/代碼碼注入攻攻擊防御御灰盒審計計概述基于前面面的分析析,注入入漏洞的的根源在在于過分分的相信信了每一一位用戶戶,總假假設(shè)用戶戶的輸入入是正常常的、無無害的,,而沒有有進(jìn)行嚴(yán)嚴(yán)格的審審查判斷斷以及過過濾。由由于每一一位開發(fā)發(fā)者的經(jīng)經(jīng)驗有限限,這些些問題總總會不知知不覺中中就被寫寫入到了了代碼之之中,給給惡意瀏瀏覽者有有可乘之之機(jī)。防御方法法一般是是加強(qiáng)開開發(fā)者的的安全意意識,以以及規(guī)范范開發(fā)流流程和代代碼質(zhì)量量的嚴(yán)格格審核。。如果是是采用第第三方的的應(yīng)用時時,在代代碼質(zhì)量量是無法法控制的的情況下下,就可可以采用用部署入入侵檢測測防御系系統(tǒng)或防防火墻進(jìn)進(jìn)行實時時防護(hù)。??偨Y(jié)介紹了命命令執(zhí)行行/代碼碼注入漏漏洞的本本質(zhì)介紹了命命令執(zhí)行行/代碼碼注入漏漏洞分類類介紹了命命令執(zhí)行行/代碼碼注入漏漏洞挖掘掘方法介紹了命命令執(zhí)行行/代碼碼注入漏漏洞攻擊擊防御措措施總結(jié)9、靜夜四無無鄰,荒居居舊業(yè)貧。。。1月-231月-23Sunday,January1,202310、雨中黃葉葉樹,燈下下白頭人。。。13:05:1313:05:1313:051/1/20231:05:13PM11、以以我我獨(dú)獨(dú)沈沈久久,,愧愧君君相相見見頻頻。。。。1月月-2313:05:1313:05Jan-2301-Jan-2312、故人江江海別,,幾度隔隔山川。。。13:05:1313:05:1313:05Sunday,January1,202313、乍乍見見翻翻疑疑夢夢,,相相悲悲各各問問年年。。。。1月月-231月月-2313:05:1313:05:13January1,202314、他他鄉(xiāng)鄉(xiāng)生生白白發(fā)發(fā),,舊舊國國見見青青山山。。。。01一一月月20231:05:13下下午午13:05:131月月-2315、比不了得就就不比,得不不到的就不要要。。。一月231:05下下午1月-2313:05January1,202316、行行動動出出成成果果,,工工作作出出財財富富。。。。2023/1/113:05:1313:05:1301January202317、做前前,能能夠環(huán)環(huán)視四四周;;做時時,你你只能能或者者最好好沿著著以腳腳為起起點的的射線線向前前。。。1:05:13下下午1:05下下午午13:05:131月-239、沒有失失敗,只只有暫時時停止成成功!。。1月-231月-23Sunday,January1,202310、很多事情情努力了未未必有結(jié)果果,但是不不努力卻什什么改變也也沒有。。。13:05:1313:05:1313:051/1/20231:05:13PM11、成功功就是是日復(fù)復(fù)一日日那一一點點點小小小努力力的積積累。。。1月-2313:05:1313:05Jan-2301-Jan-2312、世間成事,,不求其絕對對圓滿,留一一份不足,可可得無限完美美。。13:05:1313:05:1313:05Sunday,January1,202313、不知香積積寺,數(shù)里里入云峰。。。1月月-231月月-2313:05:1313:05:13January1,202314、意志志堅強(qiáng)強(qiáng)的人人能把把世界界放在在手中中像泥泥塊一一樣任任意揉揉捏。。01一一月月20231:05:13下下午13:05:131月-2315、楚楚塞塞三三湘湘接接,,荊荊門門九九派派通通。。。。。。一月月231:05下下午午1月月-2313:05January1,202316、少少年年十十五五二二十十時時,,步步行行奪奪得得胡胡馬馬騎騎。。。。2023/1/113:05:1313:05:1301January202317
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:教育家精神引領(lǐng)民族地區(qū)師范院校高質(zhì)量教師隊伍建設(shè)的路徑研究
- 課題申報參考:家校社協(xié)同育人下大學(xué)新生積極心理品質(zhì)的培育研究
- 2025版學(xué)生入學(xué)校園網(wǎng)絡(luò)安全與信息保護(hù)合同3篇
- 三方出口交易合作合同2024年版版B版
- 二零二五年度金融創(chuàng)新合伙協(xié)議書模板3篇
- 基于二零二五年度哺乳期婦女權(quán)益保護(hù)的離婚贍養(yǎng)協(xié)議3篇
- 2025年度個人客戶信息保密合作協(xié)議4篇
- 二零二五年度倉儲倉儲設(shè)施節(jié)能改造合同4篇
- 2025年度樂器租賃與電商平臺合作協(xié)議3篇
- 二零二五美容院客戶投訴處理與反饋機(jī)制合同4篇
- 2024年國家工作人員學(xué)法用法考試題庫及參考答案
- 國家公務(wù)員考試(面試)試題及解答參考(2024年)
- 《阻燃材料與技術(shù)》課件 第6講 阻燃纖維及織物
- 同等學(xué)力英語申碩考試詞匯(第六版大綱)電子版
- 人教版五年級上冊遞等式計算100道及答案
- 2024年部編版初中語文各年級教師用書七年級(上冊)
- 2024年新課標(biāo)全國Ⅰ卷語文高考真題試卷(含答案)
- 湖南省退休人員節(jié)日慰問政策
- QB/T 5998-2024 寵物尿墊(褲)(正式版)
- 4P、4C、4R-營銷理論簡析
- 總則(養(yǎng)牛場環(huán)評報告)
評論
0/150
提交評論