




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2節(jié)常見Web攻擊與防御第2章目
錄01常見Web攻擊簡介02SQL注入攻擊與防護(hù)03XSS跨站腳本攻擊與防護(hù)04CSRF跨站請求偽造攻擊與防護(hù)目
錄05文件上傳攻擊與防護(hù)07命令執(zhí)行攻擊與防護(hù)08邏輯漏洞攻擊與防護(hù)09XML外部實(shí)體注入攻擊與防護(hù)06文件包含攻擊與防護(hù)01常見Web攻擊簡介常見Web攻擊的基本流程STEP1STEP2STEP3STEP4Web攻擊基本流程明確目標(biāo)與信息收集:IP/域名查詢、應(yīng)用信息漏洞探測(手動&自動):自動漏掃、手動挖掘漏洞利用:SQL注入、XSS跨站腳本、文件上傳、邏輯漏洞、命令執(zhí)行...權(quán)限提升與維持:Web后門、遠(yuǎn)程控制VNC、創(chuàng)建隱藏賬號Web安全測試行為規(guī)范課堂知識應(yīng)用行為規(guī)范禁止將課堂知識應(yīng)用到公網(wǎng);禁止在未授權(quán)的情況下對學(xué)校服務(wù)器進(jìn)行非法攻擊;隨意對互聯(lián)網(wǎng)的服務(wù)器進(jìn)行攻擊的行為,將會受到法律約束。第二百八十五條【非法獲取計(jì)算機(jī)信息系統(tǒng)數(shù)據(jù)、非法控制計(jì)算機(jī)信息系統(tǒng)罪】刑事責(zé)任《中華人民共和國刑法》違反國家規(guī)定,侵入前款規(guī)定以外的計(jì)算機(jī)信息系統(tǒng)或者采用其他技術(shù)手段,獲取該計(jì)算機(jī)信息系統(tǒng)中存儲、處理或者傳輸?shù)臄?shù)據(jù),或者對該計(jì)算機(jī)信息系統(tǒng)實(shí)施非法控制,情節(jié)嚴(yán)重的,處三年以下有期徒刑或者拘役,并處或者單處罰金;情節(jié)特別嚴(yán)重的,處三年以上七年以下有期徒刑,并處罰金。網(wǎng)絡(luò)靶場介紹什么是網(wǎng)絡(luò)靶場網(wǎng)絡(luò)靶場(CyberRange)是一種基于虛擬化技術(shù),對真實(shí)網(wǎng)絡(luò)空間中的網(wǎng)絡(luò)架構(gòu)、系統(tǒng)設(shè)備、業(yè)務(wù)流程的運(yùn)行狀態(tài)及運(yùn)行環(huán)境進(jìn)行模擬和復(fù)現(xiàn)的技術(shù)或產(chǎn)品,以更有效地實(shí)現(xiàn)與網(wǎng)絡(luò)安全相關(guān)的學(xué)習(xí)、研究、檢驗(yàn)、競賽、演練等行為,從而提高人員及機(jī)構(gòu)的網(wǎng)絡(luò)安全對抗水平。常見靶場Web靶場綜合靶場DVWA、Sqli-Labs、bWAPP、WebGoat、Upload-Labs等Vulnhub、HackTheBox等Web靶場
DVWADVWA(DamnVulnerableWebApplication)是一個用來進(jìn)行安全脆弱性鑒定的PHP/MySQLWeb應(yīng)用,旨在為安全專業(yè)人員測試自己的專業(yè)技能和工具提供合法的環(huán)境,幫助Web開發(fā)者更好的理解Web應(yīng)用安全防范的過程。Web靶場
bWAPPbWAPP是一個免費(fèi)的、開源的、有缺陷的Web應(yīng)用程序。bWAPP可以幫助安全愛好者、開發(fā)人員和學(xué)生發(fā)現(xiàn)并防止Web漏洞。它涵蓋了所有已知的主要Web漏洞,包括OWASPTop10項(xiàng)目的所有風(fēng)險。網(wǎng)絡(luò)靶場介紹Burpsuite工具介紹注:有關(guān)于如何配置使用Burpsuite工具,請參閱第二章/Burpsuite工具配置及使用.mp4BurpSuite是用于攻擊Web應(yīng)用程序的集成平臺。它包含了許多工具,并為這些工具設(shè)計(jì)了許多接口,以促進(jìn)加快攻擊應(yīng)用程序的過程。所有的工具都共享一個能處理并顯示HTTP消息、持久性、認(rèn)證、代理、日志、警報的可擴(kuò)展框架。功能說明ProxySpiderIntruderRepeaterDecoder攔截HTTP/S的代理服務(wù)器,作為一個在瀏覽器和目標(biāo)應(yīng)用程序之間的中間人,允許你攔截,查看,修改在兩個方向上的原始數(shù)據(jù)流。應(yīng)用智能感應(yīng)的網(wǎng)絡(luò)爬蟲,它能完整的枚舉應(yīng)用程序的內(nèi)容和功能。定制的高度可配置的工具,對web應(yīng)用程序進(jìn)行自動化攻擊,如:枚舉標(biāo)識符,收集有用的數(shù)據(jù),以及使用fuzzing技術(shù)探測常規(guī)漏洞。通過手動操作來補(bǔ)發(fā)單獨(dú)的HTTP請求,并分析應(yīng)用程序響應(yīng)的工具。手動執(zhí)行或?qū)?yīng)用程序數(shù)據(jù)進(jìn)行解碼編碼的工具。02SQL注入攻擊與防護(hù)2017年9月,海南省公安廳網(wǎng)警總隊(duì)在工作中,發(fā)現(xiàn)一個黑帽SEO團(tuán)伙在從事黑客攻擊破壞活動,共170余個網(wǎng)站的管理權(quán)限被非法獲取,20多個網(wǎng)站被加掛黑鏈,其中政府網(wǎng)站10余個。經(jīng)過網(wǎng)警偵察,該團(tuán)伙通過攻擊滲透等方式獲取大量網(wǎng)站的權(quán)限,隨后以蜘蛛劫持、寄生蟲、泛站群、自動鏈輪、二級目錄等方法植入黑鏈代碼,為博彩類、色情類、網(wǎng)絡(luò)詐騙網(wǎng)站提升搜索引擎排名,從中牟取非法利益。案例分析SQL注入攻擊原理SQL注入(SQLInjection)程序員在編寫代碼的時候,沒有對用戶輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù)或進(jìn)行數(shù)據(jù)庫操作。Web網(wǎng)站數(shù)據(jù)庫服務(wù)器構(gòu)造SQL注入語句響應(yīng)請求正常執(zhí)行SQL注入基礎(chǔ)知識01.03.04.02.selectstatementfromtablewherecondition查詢SQL(StructuredQueryLanguage)結(jié)構(gòu)化的查詢語言,是關(guān)系型數(shù)據(jù)庫通訊的標(biāo)準(zhǔn)語言。刪除記錄deletefromtablewherecondition更新記錄添加記錄updatetablesetfield=valuewherecondtioninsertintotablefieldvalues(values)SQL注入SQL注入范例http://xx.xxx.xx.xx/playnews.asp?id=772’and1=1MicrosoftOLEDBProviderforODBCDrivers錯誤'80040e14'[Microsoft][ODBCMicrosoftAccessDriver]字符串的語法錯誤在查詢表達(dá)式'id=772''中。/displaynews.asp,行31
1.數(shù)據(jù)庫為Access說明2.程序沒有對于id進(jìn)行過濾3.數(shù)據(jù)庫表中有個字段名為idSQL注入的危害12345錯誤回顯可能披露敏感信息繞過驗(yàn)證過程聯(lián)合查詢引發(fā)信息泄露篡改數(shù)據(jù)其他危害:執(zhí)行OS命令、讀取文件、編輯文件……手工判斷SQL注入點(diǎn)經(jīng)典的加單引號盲注:and1=1、and1=2判斷http://xx.xx.xx.xx/test.php?id=12’返回錯誤http://xx.xx.xx.xx/test.php?id=12and1=1返回正常http://xx.xx.xx.xx/test.php?id=12and1=2返回錯誤或沒找到手動檢測最簡單的測試產(chǎn)生原因STEP4SQL注入案例注:有關(guān)于如何利用SQL注入漏洞獲取網(wǎng)站后臺權(quán)限,請參閱第二章/利用SQL注入漏洞獲取網(wǎng)站后臺權(quán)限.mp4SQL測試網(wǎng)站STEP1STEP2STEP3STEP5STEP6判斷注入點(diǎn)確定字段數(shù)構(gòu)造聯(lián)合查詢,確定回顯位置獲取數(shù)據(jù)庫名等信息構(gòu)造語句探測數(shù)據(jù)庫的用戶密碼(若密碼經(jīng)過加密)對獲取到的帳號密碼進(jìn)行解密數(shù)據(jù)庫攻擊技巧1243盲注、聯(lián)合查詢:確定版本、字段數(shù)……自動化攻擊:sqlmap讀寫文件:讀取系統(tǒng)文件,寫入本地文件,導(dǎo)出webshell執(zhí)行命令(利用用戶自定義函數(shù))5攻擊存儲過程,利用存儲過程自身漏洞6利用編碼問題7利用列截斷問題SQL注入產(chǎn)生原因1字符串字面量的問題2數(shù)值字面量的問題SQL注入防護(hù)注:有關(guān)于如何對SQL注入漏洞進(jìn)行安全防護(hù),請參閱第二章/對SQL注入漏洞進(jìn)行安全防護(hù).mp4防護(hù)方法--代碼層面01.對輸入進(jìn)行嚴(yán)格的轉(zhuǎn)義和過濾mysql_real_escape_string():轉(zhuǎn)義SQL語句中使用的字符串中的特殊字符。過濾函數(shù)addslashes():返回在預(yù)定義字符之前添加反斜杠的字符串;使用預(yù)處理和參數(shù)化(Parameterized)PDO即統(tǒng)一的數(shù)據(jù)庫訪問接口。它可以防止前端傳進(jìn)來的參數(shù)被拼接到sql語句的情況。防護(hù)方法--代碼層面02.SQL注入防護(hù)其他注入攻擊01代碼注入CRLF注入Cookie注入User-Agent注入……02030403XSS跨站腳本攻擊與防護(hù)XSS攻擊原理跨站腳本攻擊(CrossSiteScript,XSS)是一種Web應(yīng)用程序的漏洞,惡意攻擊者往Web頁面里插入惡意Script代碼,當(dāng)用戶瀏覽該頁面時,嵌入Web中的Script代碼會被執(zhí)行,從而達(dá)到惡意攻擊用戶的目的。非持久性XSS攻擊
反射型、DOM-based型持久性XSS攻擊
存儲型攻擊描述攻擊類型攻擊者將惡意代碼上傳或存儲到服務(wù)器中,下次只要受害者瀏覽包含此惡意代碼的頁面就會執(zhí)行惡意代碼。反射型XSS攻擊描述反射型XSS一般指:攻擊者通過特定的方式來誘惑受害者去訪問一個包含惡意代碼的URL。當(dāng)受害者點(diǎn)擊惡意鏈接URL的時候,惡意代碼會直接在受害者的主機(jī)上的瀏覽器執(zhí)行。存儲型XSS攻擊描述XSS攻擊原理DOM,全稱DocumentObjectModel,是一個平臺和語言都中立的接口,可以使程序和腳本能夠動態(tài)訪問和更新文檔的內(nèi)容、結(jié)構(gòu)以及樣式。DOM型XSS其實(shí)是一種特殊類型的反射型XSS,它是基于DOM文檔對象模型的一種漏洞。什么是DOM?可能觸發(fā)DOM型XSS的屬性document.referer屬性屬性location屬性innerHTML屬性document.write屬性XSS攻擊原理反射型XSS攻擊過程提供鏈接1點(diǎn)擊鏈接2點(diǎn)擊鏈接2返回數(shù)據(jù)4服務(wù)器解析接收內(nèi)容3攻擊者用戶XSS攻擊原理XSS攻擊過程存儲型XSS攻擊過程攻擊者用戶輸入XSS腳本數(shù)據(jù)傳遞服務(wù)器解析接收內(nèi)容瀏覽器解析數(shù)據(jù)解析數(shù)據(jù)庫返回內(nèi)容數(shù)據(jù)傳遞請求數(shù)據(jù)返回數(shù)據(jù)用戶訪問返回數(shù)據(jù)用戶訪問XSS的危害多數(shù)網(wǎng)站使用cookie作為用戶會話的唯一標(biāo)識,因?yàn)槠渌姆椒ň哂邢拗坪吐┒?。如果一個網(wǎng)站使用cookies作為會話標(biāo)識符,攻擊者可以通過竊取一套用戶的cookies來冒充用戶的請求。從服務(wù)器的角度,它是沒法分辨用戶和攻擊者的,因?yàn)橛脩艉凸粽邠碛邢嗤纳矸蒡?yàn)證。Cookie劫持其他常見XSS危害構(gòu)造Get/Post請求XSS釣魚識別用戶的瀏覽器類型和版本識別用戶安裝的軟件獲取用戶的IP地址XSSwormXSS構(gòu)造中的幾個技巧沒有用引號括起來的屬性值極易遭受XSS用引號括起來的屬性值,如果引號未被轉(zhuǎn)義,也可能遭受XSS繞過長度限制01.02.03.STEP3STEP1XSS攻擊案例注:有關(guān)于如何利用XSS漏洞獲取用戶信息,請參閱第二章/利用XSS漏洞獲取用戶信息(0'00''-3'05'').mp4反射型型XSS測試站點(diǎn)查看獲取到的用戶信息STEP4STEP2編寫JS彈窗代碼訪問反射型XSS漏洞頁面提交XSS攻擊代碼STEP1XSS攻擊案例注:有關(guān)于如何利用XSS漏洞獲取用戶信息,請參閱第二章/利用XSS漏洞獲取用戶信息(3'05''-11'15'').mp4反射型型XSS測試站點(diǎn)編寫用戶信息接收代碼構(gòu)造XSS攻擊代碼訪問存儲型XSS漏洞頁面提交XSS攻擊代碼用戶訪問XSS漏洞頁面查看獲取到的用戶信息STEP2STEP3STEP4STEP5STEP6XSS攻擊防護(hù)HttpOnly最早是由微軟提出,并在IE6中實(shí)現(xiàn)的,至今已經(jīng)逐漸成為一個標(biāo)準(zhǔn)。瀏覽器將禁止頁面的JavaScript訪問帶有HttpOnly屬性的Cookie。01.流行的瀏覽器都內(nèi)置了一些對抗XSS的措施,比如Firefox的CSP、Noscript擴(kuò)展,IE8內(nèi)置的XSSFilter等。防護(hù)方法--瀏覽器層面XSS攻擊防護(hù)XSSFilter:在XSS的防御上,輸入檢查一般是檢查用戶輸入的數(shù)據(jù)中是否包含一些特殊字符,如<、>、'、”等。如果發(fā)現(xiàn)存在特殊字符,則將這些字符過濾或者編碼。比較智能的“輸入檢查”,可能還會匹配XSS的特征。比如查找用戶數(shù)據(jù)中是否包含了“<script>”、“javascript”等敏感字符。注:有關(guān)于如何對XSS漏洞進(jìn)行安全防護(hù),請參閱第二章/對XSS漏洞進(jìn)行安全防護(hù).mp402.對輸入進(jìn)行嚴(yán)格的檢查和過濾防護(hù)方法--代碼層面XSS攻擊防護(hù)此處調(diào)用了htmlspecialchars()函數(shù),該函數(shù)可以把輸入的敏感字符實(shí)體化。03.輸出檢查:在輸出時進(jìn)行編碼或者轉(zhuǎn)義處理編碼分為很多種,針對HTML代碼的編碼方式是HtmlEncode.防護(hù)方法--代碼層面XSS防御的核心XSS可能發(fā)生的具體場景具體分析在正確的地方做正確的防御T01T02T03T04T05T06T07T08在HTML標(biāo)簽中輸出在HTML屬性中輸出在<script>標(biāo)簽中輸出在事件中輸出在CSS中輸出在地址中輸出富文本的處理DOMbasedXSS04CSRF跨站請求偽造攻擊與防護(hù)CSRF攻擊原理攻擊描述客戶端請求偽造,也叫跨站請求偽造(Cross-siterequestforgery,CSRF),主要利用受害者尚未失效的身份認(rèn)證信息,誘騙其點(diǎn)擊惡意鏈接或者訪問包含攻擊代碼的頁面,在受害人不知情的情況下以受害者的身份向服務(wù)器發(fā)送請求,從而完成非法操作。以被攻擊者的名義發(fā)送郵件發(fā)消息盜取被攻擊者的賬號購買商品虛擬貨幣轉(zhuǎn)賬在正確的地方做正確的防御攻擊方式CSRF攻擊過程受害者黑客網(wǎng)站A訪問網(wǎng)站A1發(fā)送請求(登陸)2提供Cookie3獲取網(wǎng)站A
Cookie4黑客網(wǎng)站H提供網(wǎng)站H5訪問網(wǎng)站H6發(fā)送請求7返回惡意代碼8運(yùn)行網(wǎng)站H中JS代碼提交請求9發(fā)送請求(登陸)10
通過GET請求方式修改密碼,并且驗(yàn)證僅驗(yàn)證兩次輸入的新密碼是否相同。注:有關(guān)于如何利用CSRF漏洞獲取管理員賬號權(quán)限,請參閱第二章/利用XSS加CSRF漏洞獲取管理員賬號權(quán)限(0'00''-4'00'').mp4CSRF攻擊案例案例場景1在自己的站點(diǎn)上構(gòu)造惡意頁面,并引誘被攻擊者訪問惡意頁面的鏈接,即可達(dá)到攻擊目的。如:a標(biāo)簽、iframe標(biāo)簽、img標(biāo)簽、cssbackground等。CSRF攻擊案例攻擊思路修改密碼時需要輸入原密碼,加以驗(yàn)證,當(dāng)通過原密碼驗(yàn)證后才可以修改密碼。CSRF攻擊案例漏洞場景2通過釣魚的方式攻擊:構(gòu)造一個釣魚界面,誘導(dǎo)用戶輸入舊密碼,然后通過JS腳本"悄悄地"將舊密碼發(fā)送到攻擊者服務(wù)器。CSRF攻擊案例攻擊思路(一)01.當(dāng)提交表單時,發(fā)送表單數(shù)據(jù)到名為/csrf_hack_get.php的文件(保存用戶的輸入),攻擊者服務(wù)器上的csrf_hack_get.php源代碼。最終通過釣魚,獲取到了用戶的密碼。02.攻擊思路(二)CSRF攻擊案例STEP3STEP2STEP1注:有關(guān)于如何利用XSS加CSRF漏洞獲取管理員賬號權(quán)限,請參閱第二章/利用XSS加CSRF漏洞獲取管理員賬號權(quán)限(4'00''-10'10'').mp4CSRF攻擊案例攻擊思路(二):利用XSS+CSRF漏洞獲取管理員權(quán)限STEP4STEP5編寫創(chuàng)建管理員賬號和密碼的JS代碼將代碼保存至攻擊者服務(wù)器上構(gòu)造XSS攻擊語句訪問XSS漏洞頁面,并提交XSS代碼用戶訪問提交的代碼,觸發(fā)CSRF漏洞CSRF產(chǎn)生的原因form元素的action屬性能夠指定任意域名的URL最終通過釣魚,獲取到了用戶的密碼。保存在cookie中的會話ID會被自動發(fā)送給對象網(wǎng)站。CSRF攻擊防護(hù)防護(hù)方法:注:有關(guān)于如何對CSRF漏洞進(jìn)行安全防護(hù),請參閱第二章/對CSRF漏洞進(jìn)行安全防護(hù).mp4添加驗(yàn)證碼12345驗(yàn)證referertoken令牌二次驗(yàn)證XSS對CSRF的影響05文件上傳攻擊與防護(hù)文件上傳攻擊原理上傳漏洞可以把ASP、PHP等格式的木馬直接上傳至網(wǎng)站目錄內(nèi),一旦上傳成功,可以立刻得到Webshell權(quán)限,而不需要任何用戶名和密碼的驗(yàn)證。文件上傳描述文件上傳漏洞是一種比注入更有殺傷力的漏洞。通過注入所得到的往往是數(shù)據(jù)庫中的一些敏感信息,如管理員名稱、密碼等等。什么是網(wǎng)站木馬?網(wǎng)站木馬是一段以ASP和PHP代碼為主的代碼,也有基于.NET的腳本木馬和JSP腳本木馬,也有關(guān)于Python網(wǎng)站的木馬;攻擊者通過不同的手段上傳到Web服務(wù)器,木馬運(yùn)行于服務(wù)器端,獲取Webshell;攻擊者通過訪問木馬的形式進(jìn)行入侵根據(jù)腳本類型可以分為PHP木馬和ASP木馬根據(jù)功能可以分為小馬和大馬文件上傳攻擊原理小馬通常指一句話木馬例如優(yōu)點(diǎn)缺點(diǎn)常見利用方式ASP木馬<%evalrequest(“pass”)%>,PHP木馬<?php@eval($_POST['pass']);?>體積小、隱蔽性強(qiáng)功能相對簡單結(jié)合中國菜刀(一款網(wǎng)站管理工具)、中國蟻劍等工具,效果特佳常見的網(wǎng)站木馬大馬功能多,常見包括提權(quán)命令、磁盤管理、數(shù)據(jù)庫接口優(yōu)點(diǎn)缺點(diǎn)體積比較大、隱蔽性不好,易于被殺毒軟件發(fā)現(xiàn)文件上傳攻擊原理常見網(wǎng)站管理工具中國菜刀中國菜刀是一款專業(yè)的網(wǎng)站管理軟件,用途廣泛,使用方便,小巧實(shí)用。只要支持動態(tài)腳本的網(wǎng)站,都可以用中國菜刀來進(jìn)行管理。優(yōu)點(diǎn)缺點(diǎn)用途廣泛、使用方便、小巧實(shí)用數(shù)據(jù)明文傳輸,易被殺軟察覺、停止更新、多版本存在后門中國蟻劍中國蟻劍是一款開源的跨平臺網(wǎng)站管理工具,它主要面向于合法授權(quán)的滲透測試安全人員以及進(jìn)行常規(guī)操作的網(wǎng)站管理員。支持多平臺、內(nèi)置代理功能、編碼器和解碼器、高擴(kuò)展性優(yōu)點(diǎn)文件上傳攻擊原理STEP4STEP1文件上傳攻擊案例注:有關(guān)于如何利用文件上傳漏洞獲取網(wǎng)站控制權(quán)限,請參閱第二章/利用文件上傳漏洞獲取網(wǎng)站控制權(quán)限.mp4STEP2STEP3STEP5STEP6STEP7編寫PHP一句話木馬訪問文件上傳漏洞頁面上傳木馬文件->訪問上傳后木馬打開中國蟻劍填入木馬連接信息訪問并連接木馬最終獲得網(wǎng)站控制權(quán)限文件上傳攻擊方式01針對上傳功能的DoS攻擊02使上傳的文件在服務(wù)器上作為腳本執(zhí)行03誘使用戶下載惡意文件04越權(quán)下載文件05利用上傳文件釣魚文件上傳漏洞產(chǎn)生的原因01Web程序開發(fā)人員在設(shè)計(jì)時引入的漏洞各種插件、中間件本身存在的缺陷0203Web服務(wù)器自身的問題文件上傳防范方法文件內(nèi)容頭校驗(yàn)上傳文件合法性校驗(yàn)使用文件內(nèi)容頭校驗(yàn),判斷文件中的內(nèi)容,并校驗(yàn)JPEG的固定文件字符,可以通過保留文件頭,在中間插入惡意代碼,繞過檢測(例如:GIF的文件頭是GIF89a)。01黑名單校驗(yàn)上傳文件合法性校驗(yàn)使用黑名單的方式判斷上傳文件后綴,由于黑名單不全,被攻擊者繞過導(dǎo)致上傳漏洞。02文件上傳防范方法MIME檢測MIME(MultipurposeInternetMailExtensions)中文全稱為:多用途互聯(lián)網(wǎng)郵件擴(kuò)展類型。MIME是用來設(shè)定某種擴(kuò)展名的文件用一種應(yīng)用程序來打開的方式類型,當(dāng)該擴(kuò)展名文件被訪問的時候,瀏覽器會自動使用指定應(yīng)用程序來打開,多用于指定一些客戶端自定義的文件名,以及一些媒體文件打開方式。檢測MIME類型的PHP代碼片段03文件上傳防范方法白名單前端校驗(yàn)上傳文件合法性校驗(yàn)使用白名單的方式判斷上傳文件后綴,白名單本身很安全,但是在前端做校驗(yàn)的情況下可以用Burpsuite進(jìn)行抓包繞過。04文件上傳防范方法白名單后端校驗(yàn)上傳文件合法性校驗(yàn)在后端使用的白名單校驗(yàn),此時已經(jīng)比較安全,不能再進(jìn)行繞過。注:有關(guān)于如何對文件上傳漏洞進(jìn)行后端白名單安全防護(hù),請參閱第二章/對文件上傳漏洞進(jìn)行安全防護(hù).mp405文件上傳防范方法06文件上傳的目錄設(shè)置為不可執(zhí)行只要Web服務(wù)器無法解析該目錄下的文件,即使攻擊者上傳了腳本文件,服務(wù)器本身也不會受到影響。07使用隨機(jī)數(shù)改寫文件名和文件路徑文件上傳如果要執(zhí)行代碼,則需要用戶能夠訪問到這個文件。在某些環(huán)境中,用戶能上傳,但不能訪問。如果應(yīng)用了隨機(jī)數(shù)改寫了文件名和路徑,將極大地增加攻擊的成本。08單獨(dú)設(shè)置文件服務(wù)器的域名由于瀏覽器同源策略的關(guān)系,一系列客戶端攻擊將失效,比如上傳crossdomain.xml文件、上傳包含JavaScript的XSS代碼等。文件上傳防范方法06文件包含攻擊與防護(hù)文件包含攻擊原理文件包含漏洞原理文件包含函數(shù)包含的文件參數(shù)沒有經(jīng)過過濾或者嚴(yán)格的定義,并且參數(shù)可以被用戶控制,就可能包含非預(yù)期的文件。如果文件中含有惡意代碼,無論文件是什么樣的后綴類型,文件內(nèi)的惡意代碼都會被解析執(zhí)行,就導(dǎo)致了文件包含漏洞的產(chǎn)生。漏洞危害文件包含漏洞可能會造成服務(wù)器的網(wǎng)頁篡改、網(wǎng)站掛馬、遠(yuǎn)程控制服務(wù)器、安裝后門等危害。文件包含類別文件包含分為本地文件包含(LocalFileInclusion,LFI)和遠(yuǎn)程文件包含(RemoteFileInclusion,RFI),二者可通過查看php.ini中是否開啟allow_url_include進(jìn)行區(qū)分。若allow_url_include=On就有可能包含遠(yuǎn)程文件。文件包含函數(shù)PHP中進(jìn)行文件包含的函數(shù):require()、require_once()、include()和include_once()文件包含攻擊原理文件包含利用方式本地文件包含漏洞分析:該頁面動態(tài)傳參包含文件,導(dǎo)致惡意/敏感文件被包含。漏洞利用:在遠(yuǎn)程服務(wù)器上,創(chuàng)建會生成木馬的php文件遠(yuǎn)程文件包含漏洞分析:當(dāng)php.ini中allow_ur_include=On以及allow_ur_fopen=On,則可以包含遠(yuǎn)程文件。1文件包含利用方式在遠(yuǎn)程服務(wù)器上,創(chuàng)建任意后綴的php文件利用文件包含漏洞,訪問遠(yuǎn)程服務(wù)器的文件23文件包含利用方式文件包含攻擊防范本地文件包含防范01020304對嚴(yán)格判斷包含的參數(shù)是否外部可控。因?yàn)槲募┒蠢贸晒εc否的關(guān)鍵點(diǎn)就在于被包含的文件是否可被外部控制;路徑限制:限制被包含的文件只能在某一文件夾內(nèi),一定要禁止目錄跳轉(zhuǎn)字符,如:“../”;包含文件驗(yàn)證:驗(yàn)證被包含的文件是否加入到白名單中;盡量不要使用動態(tài)包含,可以在需要包含的頁面固定寫好,如:include("head.php")。遠(yuǎn)程文件包含防范防護(hù)代碼示例01.非必須的情況下設(shè)置allow_url_include和allow_url_fopen為Off狀態(tài);02.對可以包含的文件進(jìn)行限制,可以使用白名單的方式,或者設(shè)置可以包含的目錄,如open_basedir;03.04.盡量不使用動態(tài)包含;嚴(yán)格檢查變量是否已經(jīng)初始化。文件包含攻擊防范07命令執(zhí)行攻擊與防護(hù)030201命令執(zhí)行攻擊原理命令執(zhí)行漏洞原理命令執(zhí)行(CommandExecution)是指應(yīng)用有時需要調(diào)用一些執(zhí)行系統(tǒng)命令的函數(shù),如:system()、exec()、shell_exec()、passthru()等,代碼未對用戶可控參數(shù)做過濾,當(dāng)用戶能控制這些函數(shù)中的參數(shù)時,就可以將惡意系統(tǒng)命令拼接到正常命令中,從而造成命令執(zhí)行攻擊。漏洞成因代碼層過濾不嚴(yán)系統(tǒng)的漏洞造成命令注入調(diào)用的第三方組件存在命令執(zhí)行漏洞A;B
先執(zhí)行A,再執(zhí)行B;
A&B
簡單拼接,AB之間無制約關(guān)系;
A|B
顯示B的執(zhí)行結(jié)果;
A&&B
A執(zhí)行成功,然后才會執(zhí)行B;
A||B
A執(zhí)行失敗,然后才會執(zhí)行B。命令執(zhí)行攻擊方法--拼接符命令執(zhí)行攻擊原理STEP1命令執(zhí)行攻擊案例注:有關(guān)于如何利用命令執(zhí)行漏洞獲得系統(tǒng)命令執(zhí)行權(quán)限,請參閱第二章/利用命令執(zhí)行漏洞獲得系統(tǒng)命令執(zhí)行權(quán)限.mp4案例--利用命令執(zhí)行漏洞獲取Webshell測試拼接符STEP2寫入一句話木馬STEP3訪問一句話木馬STEP3連接一句話木馬命令執(zhí)行防范方法禁用部分系統(tǒng)函數(shù)高危系統(tǒng)函數(shù)可直接禁用,從根本上避免程序中命令執(zhí)行漏洞的出現(xiàn),如passthru()、eval()、exec()、system()等。嚴(yán)格過濾關(guān)鍵字符在利用命令執(zhí)行漏洞時都會利用特殊字符進(jìn)行實(shí)現(xiàn),可過濾特殊字符,如"&&"、"|"、";"、"||"等。嚴(yán)格限制允許的參數(shù)類型允許用戶輸入特定的參數(shù)來實(shí)現(xiàn)更豐富的應(yīng)用功能,如果能對用戶輸入?yún)?shù)進(jìn)行有效的合法性判斷,可避免在原有命令后面拼接多余命令。注:有關(guān)于如何對命令執(zhí)行漏洞進(jìn)行安全防護(hù),請參閱第二章/對命令執(zhí)行漏洞進(jìn)行安全防護(hù).mp4為防止攻擊者繞過黑名單校驗(yàn),通過添加白名單,嚴(yán)格限制能夠執(zhí)行的命令。設(shè)置命令白名單命令執(zhí)行防范方法08邏輯漏洞攻擊與防護(hù)2017年6月,劉某在該理財平臺發(fā)現(xiàn)了程序上的漏洞,他發(fā)現(xiàn)該平臺可以通過第三方軟件更改平臺虛擬賬戶中顯示的充值金額,隨即劉某用自己的身份信息注冊了該平臺并實(shí)際操作了一把,事后還將這一漏洞分享給了室友,因他們涉及金額較少,沒有構(gòu)成犯罪。嘗到甜頭的劉某覺得用自己或者朋友的身份信息注冊有風(fēng)險,所以又聯(lián)系了好友曹某并告訴了這一技術(shù)手法,7月份開始,曹某提供黑卡信息,劉某在理財平臺進(jìn)行操作,一共非法獲取三十萬元并瓜分了。之后學(xué)會這一“技術(shù)”的曹某也利用自己現(xiàn)有的黑卡資源,另外非法獲取了四十余萬元。最終,小劉和小曹以及他們的家人均為他們的行為買了單,拿出家里的錢退贓,劉某和曹某被判處十年以上有期徒刑。案例分析邏輯漏洞攻擊原理邏輯漏洞描述邏輯漏洞是指攻擊者利用業(yè)務(wù)/功能上的設(shè)計(jì)缺陷,獲取敏感信息或破壞業(yè)務(wù)的完整性。在OWASPTOP10中,邏輯漏洞被稱為“不安全的對象引用,和功能級訪問控制缺失”。邏輯漏洞的破壞方式并非是向程序添加破壞內(nèi)容,而是利用邏輯處理不嚴(yán)密或者代碼問題或固有不足,操作上并不影響程序的允許,在邏輯上是順利執(zhí)行的。這種漏洞一般防護(hù)手段或設(shè)備無法阻止,因?yàn)樽叩氖呛戏髁恳矝]有防御標(biāo)準(zhǔn)。1243邏輯漏洞分類….….越權(quán)漏洞密碼修改密碼找回….驗(yàn)證碼漏洞….支付漏洞投票/積分/抽獎短信轟炸….支付邏輯漏洞攻擊原理漏洞描述支付邏輯漏洞是指系統(tǒng)的支付流程中,存在業(yè)務(wù)邏輯層面的漏洞。正常支付流程為:選擇商品和數(shù)量-->選擇支付方式-->生成訂單-->訂單支付-->完成支付。常見漏洞分類金額篡改
支付過程中可以修改支付金額重復(fù)下單
將請求進(jìn)行重放支付繞過
將訂單中的商品數(shù)量修改為負(fù)值其他問題
(程序異常,其他參數(shù)修改導(dǎo)致問題等)STEP4STEP3邏輯漏洞攻擊案例案例1
金額篡改注:有關(guān)于如何利用邏輯漏洞修改賬戶余額,請參閱第二章/利用邏輯漏洞修改賬戶余額為999900元.mp4漏洞原理后臺計(jì)算總價的方式為“單價”x“數(shù)量”,并且允許用戶通過抓包修改單價或數(shù)量。(允許輸入小數(shù)點(diǎn)和負(fù)數(shù))STEP1選擇商品和數(shù)量STEP2購買產(chǎn)品抓包修改訂單金額提交訂單案例2短信轟炸STEP1STEP3STEP2輸入手機(jī)號,發(fā)送驗(yàn)證碼抓包,修改手機(jī)號,重放解碼邏輯漏洞攻擊案例案例3任意用戶注冊改為1再發(fā)送STEP1STEP2STEP3STEP4打開注冊頁面填寫任意手機(jī)號、任意驗(yàn)證碼抓包,并修改返回包的值重放數(shù)據(jù)即可邏輯漏洞攻擊案例邏輯漏洞防范方法3.任意用戶注冊防護(hù)驗(yàn)證碼設(shè)置為6位數(shù)對驗(yàn)證碼校驗(yàn)做限制,如:輸錯5次,則要求輸入圖片驗(yàn)證碼縮短驗(yàn)證碼有效時間限制每個驗(yàn)證碼驗(yàn)證錯誤次數(shù)1.金額篡改防護(hù)校驗(yàn)價格、數(shù)量參數(shù),比如產(chǎn)品數(shù)量只能為正整數(shù),并限制購買數(shù)量與第三方支付平臺檢查,實(shí)際支付的金額是否與訂單金額一致2.短信轟炸防護(hù)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025春季【高二】【蛇啟新航 蛻變前行】開學(xué)第一課-教案
- 2025年押車放貸合同模板
- 六年級上冊數(shù)學(xué)教案- 負(fù)數(shù)的實(shí)際應(yīng)用 西師大版
- 《梯形的面積》(教案)五年級上冊數(shù)學(xué)青島版
- 人教版數(shù)學(xué)三年級上冊單元練習(xí)卷(易錯題)-第七單元-長方形和正方形(含答案)
- 2024年品質(zhì)生活電器項(xiàng)目投資申請報告
- 第六單元《慈母情深》《父愛之舟》場景描寫教學(xué)設(shè)計(jì)-2024-2025學(xué)年語文五年級上冊統(tǒng)編版
- 2025年杭州醫(yī)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 二零二五年度酒店客房出租管理合同
- 二零二五年度個性定制婚約解除合同示范
- 《電子商務(wù)法律法規(guī)》電子商務(wù)專業(yè)全套教學(xué)課件
- 《產(chǎn)后出血預(yù)防與處理指南(2023)》解讀課件
- 全套教學(xué)課件《工程倫理學(xué)》
- 江蘇省建筑與裝飾工程計(jì)價定額(2014)電子表格版
- 小學(xué)二年級體育課《團(tuán)身滾動》教案
- 級本科診斷學(xué)緒論+問診課件
- 熱導(dǎo)檢測器(TCD)原理與操作注意事項(xiàng)
- 初中足球選拔測試標(biāo)準(zhǔn)
- 法社會學(xué)(上課)
- 沉積學(xué)與古地理
- 化工原理課程設(shè)計(jì)(換熱器)
評論
0/150
提交評論