首頁(yè) 二次元

狐妖世界之雅洛

第七章 人與妖

狐妖世界之雅洛 我是起點(diǎn)小萌新 7168 2024-07-06 12:36:06

  web常見(jiàn)漏洞的成因和修復(fù)

  ?

  是你的小涼涼呀

  簡(jiǎn)書(shū)作者

  0.0762020-04-02 18:04?打開(kāi)App

  1.SQL注入

  漏洞描述:

  SQL注入攻擊( SQL Injection),簡(jiǎn)稱注入攻擊、SQL注入,主要用

  于非法獲取網(wǎng)站控制權(quán),是發(fā)生在應(yīng)用程序的數(shù)據(jù)庫(kù)層上的安全漏洞。在設(shè)計(jì)程序時(shí),

  忽略了對(duì)輸入字符串中夾帶的SQL指令的檢查,被數(shù)據(jù)庫(kù)誤認(rèn)為是正常的SQL指

  令而運(yùn)行,從而使數(shù)據(jù)庫(kù)受到攻擊,可能導(dǎo)致數(shù)據(jù)被竊取、更改、刪除,以及進(jìn)一

  步導(dǎo)致網(wǎng)站被嵌入惡意代碼、被植入后門程序等危害。

  通常情況下, SQL注入的位置包括:

 ?。?)表單提交,主要是POST請(qǐng)求,也包括GET請(qǐng)求;

 ?。?)URL參數(shù)提交,主要為GET請(qǐng)求參數(shù);

 ?。?)Cookie參數(shù)提交;

  (4)HTTP請(qǐng)求頭部的一些可修改的值,比如Referer、User_Agent等;

 ?。?)一些邊緣的輸入點(diǎn),比如.mp3文件的一些文件信息等。

  造成的危害:

  SQL注入的危害不僅體現(xiàn)在數(shù)據(jù)庫(kù)層面上,還有可能危及承載數(shù)據(jù)庫(kù)的操

  作系統(tǒng);如果SQL注入被用來(lái)掛馬,還可能用來(lái)傳播惡意軟件等,這些危害包括但

  不局限于:

 ?。?)數(shù)據(jù)庫(kù)信息泄漏:數(shù)據(jù)庫(kù)中存放的用戶的隱私信息的泄露。作為數(shù)據(jù)

  的存儲(chǔ)中心,數(shù)據(jù)庫(kù)里往往保存著各類的隱私信息, SQL注入攻擊能導(dǎo)致這些隱私

  信息透明于攻擊者。

  (2)網(wǎng)頁(yè)篡改:通過(guò)操作數(shù)據(jù)庫(kù)對(duì)特定網(wǎng)頁(yè)進(jìn)行篡改。

 ?。?)網(wǎng)站被掛馬,傳播惡意軟件:修改數(shù)據(jù)庫(kù)一些字段的值,嵌入網(wǎng)馬鏈

  接,進(jìn)行掛馬攻擊。

 ?。?)數(shù)據(jù)庫(kù)被惡意操作:數(shù)據(jù)庫(kù)服務(wù)器被攻擊,數(shù)據(jù)庫(kù)的系統(tǒng)管理員帳戶

  被篡改。

 ?。?)服務(wù)器被遠(yuǎn)程控制,被安裝后門。經(jīng)由數(shù)據(jù)庫(kù)服務(wù)器提供的操作系統(tǒng)

  支持,讓黑客得以修改或控制操作系統(tǒng)。

 ?。?)破壞硬盤數(shù)據(jù),癱瘓全系統(tǒng)。

  修復(fù)建議:

  解決SQL注入問(wèn)題的關(guān)鍵是對(duì)所有可能來(lái)自用戶輸入的數(shù)據(jù)進(jìn)行嚴(yán)格的

  檢查、對(duì)數(shù)據(jù)庫(kù)配置使用最小權(quán)限原則。通常使用的方案有:

  (1)所有的查詢語(yǔ)句都使用數(shù)據(jù)庫(kù)提供的參數(shù)化查詢接口,參數(shù)化的語(yǔ)

  句使用參數(shù)而不是將用戶輸入變量嵌入到SQL語(yǔ)句中。當(dāng)前幾乎所有的數(shù)據(jù)庫(kù)系統(tǒng)

  都提供了參數(shù)化SQL語(yǔ)句執(zhí)行接口,使用此接口可以非常有效的防止SQL注入攻

  擊。

 ?。?)對(duì)進(jìn)入數(shù)據(jù)庫(kù)的特殊字符('“<>&*;等)進(jìn)行轉(zhuǎn)義處理,或編碼轉(zhuǎn)

  換。

  (3)確認(rèn)每種數(shù)據(jù)的類型,比如數(shù)字型的數(shù)據(jù)就必須是數(shù)字,數(shù)據(jù)庫(kù)中

  的存儲(chǔ)字段必須對(duì)應(yīng)為int型。

 ?。?)數(shù)據(jù)長(zhǎng)度應(yīng)該嚴(yán)格規(guī)定,能在一定程度上防止比較長(zhǎng)的SQL注入語(yǔ)

  句無(wú)法正確執(zhí)行。

 ?。?)網(wǎng)站每個(gè)數(shù)據(jù)層的編碼統(tǒng)一,建議全部使用UTF-8編碼,上下層

  編碼不一致有可能導(dǎo)致一些過(guò)濾模型被繞過(guò)。

 ?。?)嚴(yán)格限制網(wǎng)站用戶的數(shù)據(jù)庫(kù)的操作權(quán)限,給此用戶提供僅僅能夠滿

  足其工作的權(quán)限,從而最大限度的減少注入攻擊對(duì)數(shù)據(jù)庫(kù)的危害。

 ?。?)避免網(wǎng)站顯示SQL錯(cuò)誤信息,比如類型錯(cuò)誤、字段不匹配等,防

  止攻擊者利用這些錯(cuò)誤信息進(jìn)行一些判斷。

 ?。?)在網(wǎng)站發(fā)布之前建議使用一些專業(yè)的SQL注入檢測(cè)工具進(jìn)行檢測(cè),

  及時(shí)修補(bǔ)這些SQL注入漏洞。

 ?。?)過(guò)濾危險(xiǎn)字符,例如:采用正則表達(dá)式匹配union、sleep、and、select、

  load_file等關(guān)鍵字,如果匹配到則終止運(yùn)行。

  2.跨站腳本漏洞(XSS)

  漏洞描述:

  跨站腳本攻擊( Cross-site scripting,通常簡(jiǎn)稱為XSS)發(fā)生在客戶端,可被用于進(jìn)行竊取隱私、釣魚(yú)欺騙、誘導(dǎo)用戶再次登錄,然后獲取其登錄憑證、傳播惡意代碼等攻擊。

  XSS攻擊使用到的技術(shù)主要為HTML和Javascript,也包括VBScript

  和ActionScript等。XSS攻擊對(duì)WEB服務(wù)器雖無(wú)直接危害,但是它借助網(wǎng)站進(jìn)行

  傳播,使網(wǎng)站的使用用戶受到攻擊,導(dǎo)致網(wǎng)站用戶帳號(hào)被竊取,從而對(duì)網(wǎng)站也產(chǎn)生

  了較嚴(yán)重的危害。

  XSS類型:

 ?。?)非持久型跨站:即反射型跨站腳本漏洞,是目前最普遍的跨站類型。

  非持久型xss攻擊是一次性的,僅對(duì)當(dāng)次的頁(yè)面訪問(wèn)產(chǎn)生影響。非持久型xss攻擊

  要求用戶訪問(wèn)一個(gè)被攻擊者篡改后的鏈接,用戶訪問(wèn)該鏈接時(shí),被植入的攻擊腳

  本被用戶游覽器執(zhí)行,從而達(dá)到攻擊目的??缯敬a一般存在于鏈接中,請(qǐng)求這

  樣的鏈接時(shí),跨站代碼經(jīng)過(guò)服務(wù)端反射回來(lái),這類跨站的代碼不存儲(chǔ)到服務(wù)端

 ?。ū热鐢?shù)據(jù)庫(kù)中)。

 ?。?)持久型跨站:持久型xss,會(huì)把攻擊者的數(shù)據(jù)存儲(chǔ)在服務(wù)器端,攻擊行為將伴

  隨著攻擊數(shù)據(jù)一直存在,這是危害最直接的跨站類型,跨站代碼存儲(chǔ)于服務(wù)端

  (比如數(shù)據(jù)庫(kù)中)。常見(jiàn)情況是某用戶在論壇發(fā)貼,如果論壇沒(méi)有過(guò)濾用戶輸入的

  Javascript代碼數(shù)據(jù),就會(huì)導(dǎo)致其他瀏覽此貼的用戶的瀏覽器會(huì)執(zhí)行發(fā)貼人所嵌入

  的Javascript代碼。

 ?。?)DOM跨站(DOM XSS):不經(jīng)過(guò)后端,是通過(guò)url傳入?yún)?shù)去控制觸發(fā)的,

  是一種發(fā)生在客戶端DOM(DocumentObject Model文檔對(duì)象模型)中的跨站漏

  洞,很大原因是因?yàn)榭蛻舳四_本處理邏輯導(dǎo)致的安全問(wèn)題。

  造成的危害:

 ?。?)釣魚(yú)欺騙:最典型的就是利用目標(biāo)網(wǎng)站的反射型跨站腳本漏洞將目

  標(biāo)網(wǎng)站重定向到釣魚(yú)網(wǎng)站,或者注入釣魚(yú)JavaScript以監(jiān)控目標(biāo)網(wǎng)站的表單輸入,

  甚至發(fā)起基于DHTML更高級(jí)的釣魚(yú)攻擊方式。

 ?。?)網(wǎng)站掛馬:跨站時(shí)利用IFrame嵌入隱藏的惡意網(wǎng)站或者將被攻擊

  者定向到惡意網(wǎng)站上,或者彈出惡意網(wǎng)站窗口等方式都可以進(jìn)行掛馬攻擊。

 ?。?)身份盜用: Cookie是用戶對(duì)于特定網(wǎng)站的身份驗(yàn)證標(biāo)志, XSS可

  以盜取到用戶的Cookie,從而利用該Cookie盜取用戶對(duì)該網(wǎng)站的操作權(quán)限。如果

  一個(gè)網(wǎng)站管理員用戶Cookie被竊取,將會(huì)對(duì)網(wǎng)站引發(fā)巨大的危害。

 ?。?)盜取網(wǎng)站用戶信息:當(dāng)能夠竊取到用戶Cookie從而獲取到用戶身

  份使,攻擊者可以獲取到用戶對(duì)網(wǎng)站的操作權(quán)限,從而查看用戶隱私信息。

 ?。?)垃圾信息發(fā)送:比如在SNS社區(qū)中,利用XSS漏洞借用被攻擊者

  的身份發(fā)送大量的垃圾信息給特定的目標(biāo)群。

 ?。?)劫持用戶Web行為:一些高級(jí)的XSS攻擊甚至可以劫持用戶的

  Web行為,監(jiān)視用戶的瀏覽歷史,發(fā)送與接收的數(shù)據(jù)等等。

 ?。?)XSS蠕蟲(chóng):XSS蠕蟲(chóng)可以用來(lái)打廣告、刷流量、掛馬、惡作劇、破

  壞網(wǎng)上數(shù)據(jù)、實(shí)施DDoS攻擊等。

  修復(fù)建議:

  xss漏洞本質(zhì)上是一種html注入,也就是將html代碼注入到網(wǎng)頁(yè)中。那么其防

  御的根本就是在將用戶提交的代碼顯示到頁(yè)面上時(shí)做好一系列的過(guò)濾與轉(zhuǎn)義。

 ?。?)與SQL注入防護(hù)的建議一樣,假定所有輸入都是可疑的,必須對(duì)

  所有輸入中的“‘”,““”,”<“,”>“,” on*“,script、iframe等字樣進(jìn)行嚴(yán)格的

  檢查。這里的輸入不僅僅是用戶可以直接交互的輸入接口,也包括HTTP請(qǐng)求中

  的Cookie中的變量, HTTP請(qǐng)求頭部中的變量等。

 ?。?)不僅要驗(yàn)證數(shù)據(jù)的類型,還要驗(yàn)證其格式、長(zhǎng)度、范圍和內(nèi)容。

 ?。?)不要僅僅在客戶端做數(shù)據(jù)的驗(yàn)證與過(guò)濾,關(guān)鍵的過(guò)濾步驟在服務(wù)端

  進(jìn)行。

 ?。?4)對(duì)輸出的數(shù)據(jù)也要檢查,數(shù)據(jù)庫(kù)里的值有可能會(huì)在一個(gè)大網(wǎng)站的多

  處都有輸出,即使在輸入做了編碼等操作,在各處的輸出點(diǎn)時(shí)也要進(jìn)行安全檢查。

  (5)在發(fā)布應(yīng)用程序之前測(cè)試所有已知的威脅。

  3.跨站請(qǐng)求偽造(CSRF)

  漏洞描述:

  CSRF是跨站請(qǐng)求偽造,不攻擊網(wǎng)站服務(wù)器,而是冒充用戶在站內(nèi)的正常操作。通常由于服務(wù)端沒(méi)有對(duì)請(qǐng)求頭做嚴(yán)格過(guò)濾引起的。CSRF會(huì)造成密碼重置,用戶偽造等問(wèn)題,可能引發(fā)嚴(yán)重后果。絕大多數(shù)網(wǎng)站是通過(guò) cookie等方式辨識(shí)用戶身份,再予以授權(quán)的。所以要偽造用戶的正常操作,最好的方法是通過(guò) XSS或鏈接欺騙等途徑,讓用戶在本機(jī)(即擁有身份 cookie的瀏覽器端)發(fā)起用戶所不知道的請(qǐng)求。CSRF攻擊會(huì)令用戶在不知情的情況下攻擊自己已經(jīng)登錄的系統(tǒng)。

  修復(fù)建議:

  (1)驗(yàn)證請(qǐng)求的Referer是否來(lái)自本網(wǎng)站,但可被繞過(guò)。

  (2)在請(qǐng)求中加入不可偽造的token,并在服務(wù)端驗(yàn)證token是否一致或正確,不正確則丟棄拒絕服務(wù)。

  4.服務(wù)器端請(qǐng)求偽造(SSRF)

  漏洞描述:

  SSRF(Server-Side Request Forgery,服務(wù)器端請(qǐng)求偽造):通俗的來(lái)說(shuō)就是我們可以偽造服務(wù)器端發(fā)起的請(qǐng)求,從而獲取客戶端所不能得到的數(shù)據(jù)。SSRF漏洞形成的原因主要是服務(wù)器端所提供的接口中包含了所要請(qǐng)求的內(nèi)容的URL參數(shù),并且未對(duì)客戶端所傳輸過(guò)來(lái)的URL參數(shù)進(jìn)行過(guò)濾。

  造成的危害:

  (1)可以對(duì)外網(wǎng)、服務(wù)器所在內(nèi)網(wǎng)、本地進(jìn)行端口掃描,獲取一些服務(wù)的banner信息。

  (2)攻擊運(yùn)行在內(nèi)網(wǎng)或本地的應(yīng)用程序(比如溢出)。

  (3)對(duì)內(nèi)網(wǎng)Web應(yīng)用進(jìn)行指紋識(shí)別,通過(guò)訪問(wèn)默認(rèn)文件實(shí)現(xiàn)。

  (4)攻擊內(nèi)外網(wǎng)的Web應(yīng)用,主要是使用Get參數(shù)就可以實(shí)現(xiàn)的攻擊(比如Struts2漏洞利用,SQL注入等)。

  (5)利用File協(xié)議讀取本地文件。

  修復(fù)建議:

  (1)禁用不需要的協(xié)議,只允許HTTP和HTTPS請(qǐng)求,可以防止類似于file gopher ftp

  (2)白名單的方式限制訪問(wèn)的目標(biāo)地址,禁止對(duì)內(nèi)網(wǎng)發(fā)起請(qǐng)求。

  (3)過(guò)濾或屏蔽請(qǐng)求返回的詳細(xì)信息,驗(yàn)證遠(yuǎn)程服務(wù)器對(duì)請(qǐng)求的響應(yīng)是比較容易的方法。如果web應(yīng)用是去獲取某一種類型的文件。那么在把返回結(jié)果展示給用戶之前先驗(yàn)證返回的信息是否符合標(biāo)準(zhǔn)。

  (4)驗(yàn)證請(qǐng)求的文件格式。

  (5)禁止跳轉(zhuǎn)。

  (6)限制請(qǐng)求的端口為http常用的端口,比如 80、443、8080、8000等。

  (7)統(tǒng)一錯(cuò)誤信息,避免用戶可以根據(jù)錯(cuò)誤信息來(lái)判斷遠(yuǎn)端服務(wù)器的端口狀態(tài)。

  5.弱口令漏洞

  漏洞描述:

  弱口令(weak password)沒(méi)有嚴(yán)格和準(zhǔn)確的定義,通常認(rèn)為容易被別

  人(他們有可能對(duì)你很了解)猜測(cè)到或被破解工具破解的口令均為弱口令。

  修復(fù)建議:

  設(shè)置密碼通常遵循以下原則:

 ?。?)不使用空口令或系統(tǒng)缺省默認(rèn)的口令,這些口令眾所周之,為典型的弱

  口令。

 ?。?)口令長(zhǎng)度不小于8個(gè)字符。

 ?。?)口令不應(yīng)該為連續(xù)的某個(gè)字符(例如: AAAAAAAA)或重復(fù)某些

  字符的組合(例如: tzf.tzf.)。

  (4)口令應(yīng)該為以下四類字符的組合,大寫字母(A-Z)、小寫字母(a-z)、

  數(shù)字(0-9)和特殊字符。每類字符至少包含一個(gè)。如果某類字符只包含一個(gè),那么

  該字符不應(yīng)為首字符或尾字符。

 ?。?)口令中不應(yīng)包含本人、父母、子女和配偶的姓名和出生日期、紀(jì)念

  日期、登錄名、E-mail地址等等與本人有關(guān)的信息,以及字典中的單詞。

 ?。?)口令不應(yīng)該為用數(shù)字或符號(hào)代替某些字母的單詞。

  (7)口令應(yīng)該易記且可以快速輸入,防止他人從你身后很容易看到你的

  輸入。

 ?。?)至少90天內(nèi)更換一次口令,防止未被發(fā)現(xiàn)的入侵者繼續(xù)使用該口

  令。

  6.身份驗(yàn)證和會(huì)話管理中斷

  漏洞描述:

  網(wǎng)站通常為每個(gè)有效會(huì)話創(chuàng)建會(huì)話cookie和會(huì)話ID,這些cookie包含敏感數(shù)據(jù),如用戶名,密碼等。當(dāng)會(huì)話通過(guò)注銷或?yàn)g覽器突然關(guān)閉結(jié)束時(shí),這些cookie應(yīng)該無(wú)效,即每個(gè)會(huì)話應(yīng)該有一個(gè)新的cookie。

  如果cookie未失效,則敏感數(shù)據(jù)將存在于系統(tǒng)中。例如,使用公共計(jì)算機(jī)(Cyber Cafe)的用戶,易受攻擊的站點(diǎn)的cookie位于系統(tǒng)上并暴露給攻擊者。攻擊者在一段時(shí)間后使用相同的公共計(jì)算機(jī),敏感數(shù)據(jù)會(huì)受到損害。

  以同樣的方式,用戶使用公共計(jì)算機(jī),而不是注銷,他突然關(guān)閉瀏覽器。攻擊者使用相同的系統(tǒng),當(dāng)瀏覽同一個(gè)易受攻擊的站點(diǎn)時(shí),受害者的上一個(gè)會(huì)話將被打開(kāi)。攻擊者可以通過(guò)竊取個(gè)人資料信息,信用卡信息等做任何他想做的事情。

  應(yīng)該進(jìn)行檢查以找到身份驗(yàn)證和會(huì)話管理的強(qiáng)度。密鑰,會(huì)話令牌,cookie應(yīng)該在不影響密碼的情況下正確實(shí)施。易受攻擊的對(duì)象包括:

 ?。?)在URL上公開(kāi)的會(huì)話ID可能導(dǎo)致會(huì)話固定攻擊。

 ?。?)注銷和登錄前后的會(huì)話ID相同。

  (3)會(huì)話超時(shí)未正確實(shí)施。

 ?。?)應(yīng)用程序?yàn)槊總€(gè)新會(huì)話分配相同的會(huì)話ID。

 ?。?)應(yīng)用程序的經(jīng)過(guò)身份驗(yàn)證的部分使用SSL進(jìn)行保護(hù),密碼以散列或加密格式存儲(chǔ)。

 ?。?)會(huì)話可由低權(quán)限用戶重用。

  利用此漏洞,攻擊者可以劫持會(huì)話,對(duì)系統(tǒng)進(jìn)行未經(jīng)授權(quán)的訪問(wèn),從而允許泄露和修改未經(jīng)授權(quán)的信息。使用盜取的cookie或使用XSS的會(huì)話可以劫持會(huì)話。

  修復(fù)建議:

  應(yīng)根據(jù)OWASP應(yīng)用程序安全驗(yàn)證標(biāo)準(zhǔn)定義所有身份驗(yàn)證和會(huì)話管理要求。永遠(yuǎn)不要在URL或日志中公開(kāi)任何憑據(jù)。還應(yīng)該做出很大的努力來(lái)避免可用于竊取會(huì)話ID的XSS漏洞。

  7.不安全的直接對(duì)象引用

  漏洞描述:

  當(dāng)開(kāi)發(fā)人員公開(kāi)對(duì)內(nèi)部實(shí)現(xiàn)對(duì)象的引用(例如URL或FORM參數(shù)中的文件,目錄或數(shù)據(jù)庫(kù)鍵)時(shí),就會(huì)發(fā)生這種情況。攻擊者可以使用此信息訪問(wèn)其他對(duì)象,并可以創(chuàng)建將來(lái)的攻擊來(lái)訪問(wèn)未經(jīng)授權(quán)的數(shù)據(jù)。

  使用此漏洞,攻擊者可以訪問(wèn)未經(jīng)授權(quán)的內(nèi)部對(duì)象,可以修改數(shù)據(jù)或破壞應(yīng)用程序。例:

  更改以下URL中的“userid”可以使攻擊者查看其他用戶的信息。

  

  攻擊者可以通過(guò)更改用戶標(biāo)識(shí)值來(lái)查看其他信息。

  修復(fù)建議:

 ?。?)實(shí)施訪問(wèn)控制檢查。

 ?。?)避免在URL中公開(kāi)對(duì)象引用。

 ?。?)驗(yàn)證對(duì)所有引用對(duì)象的授權(quán)。

  8.HTTP報(bào)頭追蹤漏洞

  漏洞描述:

  目標(biāo)網(wǎng)站支持trace/track web服務(wù)器http連接方式調(diào)試功能。當(dāng)該調(diào)試功能開(kāi)

  啟時(shí),包含敏感信息的http報(bào)頭可能被惡意人員追蹤截獲。惡意人員該漏洞,通過(guò)

  構(gòu)造惡意script腳本追蹤http報(bào)頭,可能獲得http報(bào)頭中包含的敏感資訊,如cookie

  或認(rèn)證證書(shū)等。

  該漏洞往往與其它方式配合來(lái)進(jìn)行有效攻擊,由于HTTP TRACE請(qǐng)求可以通

  過(guò)客戶瀏覽器腳本發(fā)起(如XMLHttpRequest),并可以通過(guò)DOM接口來(lái)訪問(wèn),

  因此很容易被攻擊者利用。防御HTTP報(bào)頭追蹤漏洞的方法通常禁用HTTP TRACE

  方法。

  修復(fù)建議:

  目標(biāo)的webserver支持trace和/或track方式。trace和track是用來(lái)調(diào)試web服務(wù)器

  連接的http方式。若這些方式不是必須的,應(yīng)該禁用這些方式。

  9.Struts2遠(yuǎn)程命令執(zhí)行漏洞

  漏洞描述:

  Apache Struts是一款建立Java web應(yīng)用程序的開(kāi)放源代碼架構(gòu)。

  Apache Struts存在一個(gè)輸入過(guò)濾錯(cuò)誤,如果遇到轉(zhuǎn)換錯(cuò)誤可被利用注入和執(zhí)行任

  意Java代碼。網(wǎng)站存在遠(yuǎn)程代碼執(zhí)行漏洞的大部分原因是由于網(wǎng)站采用了Apache

  Struts Xwork作為網(wǎng)站應(yīng)用框架,由于該軟件存在遠(yuǎn)程代碼執(zhí)高危漏洞,導(dǎo)致網(wǎng)站

  面臨安全風(fēng)險(xiǎn)。例如:“ GPS車載衛(wèi)星定位系統(tǒng)”網(wǎng)站存在遠(yuǎn)程命令執(zhí)行漏洞(CNV

  D-2012-13934);Aspcms留言本遠(yuǎn)程代碼執(zhí)行漏洞( CNVD-2012-11590)等。

  修復(fù)建議:

  修復(fù)此類漏洞,只需到Apache官網(wǎng)升級(jí)Apache Struts到最新版本:

  

  10.不安全的加密存儲(chǔ)

  漏洞描述:

  不安全的加密存儲(chǔ)是一種常見(jiàn)的漏洞,在敏感數(shù)據(jù)未安全存儲(chǔ)時(shí)存在。用戶憑據(jù),配置文件信息,健康詳細(xì)信息,信用卡信息等屬于網(wǎng)站上的敏感數(shù)據(jù)信息。該數(shù)據(jù)將存儲(chǔ)在應(yīng)用程序數(shù)據(jù)庫(kù)中。如果不使用加密或散列來(lái)不正確地存儲(chǔ)此數(shù)據(jù),則它將容易受到攻擊者的攻擊。

  通過(guò)使用此漏洞,攻擊者可以竊取,修改此類受弱保護(hù)的數(shù)據(jù),以進(jìn)行身份盜用,信用卡欺詐或其他犯罪。例:

  在其中一個(gè)銀行應(yīng)用程序中,密碼數(shù)據(jù)庫(kù)使用未加保留的哈希來(lái)存儲(chǔ)每個(gè)人的密碼。SQL注入漏洞允許攻擊者檢索密碼文件。所有未加鹽的哈希都可以在任何時(shí)候強(qiáng)行進(jìn)行,而鹽漬的密碼則需要數(shù)千年的時(shí)間。(無(wú)鹽哈希-鹽是附加到原始數(shù)據(jù)的隨機(jī)數(shù)據(jù)。在哈希之前將鹽附加到密碼)。

  修復(fù)建議:

  確保適當(dāng)?shù)膹?qiáng)標(biāo)準(zhǔn)算法。不要?jiǎng)?chuàng)建自己的加密算法。僅使用經(jīng)過(guò)批準(zhǔn)的公共算法,如AES,RSA公鑰加密和SHA-256等。確保異地備份已加密,但密鑰是單獨(dú)管理和備份的。

  11.無(wú)法限制URL訪問(wèn)

  漏洞描述:

  Web應(yīng)用程序在呈現(xiàn)受保護(hù)的鏈接和按鈕之前檢查URL訪問(wèn)權(quán)限每次訪問(wèn)這些頁(yè)面時(shí),應(yīng)用程序都需要執(zhí)行類似的訪問(wèn)控制檢查。在大多數(shù)應(yīng)用程序中,特權(quán)頁(yè)面,位置和資源不會(huì)呈現(xiàn)給特權(quán)用戶。通過(guò)智能猜測(cè),攻擊者可以訪問(wèn)權(quán)限頁(yè)面。攻擊者可以訪問(wèn)敏感頁(yè)面,調(diào)用函數(shù)和查看機(jī)密信息。

  利用此漏洞攻擊者可以訪問(wèn)未經(jīng)授權(quán)的URL,而無(wú)需登錄應(yīng)用程序并利用此漏洞。攻擊者可以訪問(wèn)敏感頁(yè)面,調(diào)用函數(shù)和查看機(jī)密信息。網(wǎng)站極易受到攻擊,例:

  攻擊者注意到URL表示角色為“/ user / getaccounts”。他修改為“/ admin / getaccounts”。攻擊者可以將角色附加到URL。

  修復(fù)建議:

 ?。?)實(shí)施強(qiáng)大的訪問(wèn)控制檢查。

 ?。?)身份驗(yàn)證和授權(quán)策略應(yīng)基于角色。

  (3)限制對(duì)不需要的URL的訪問(wèn)。

  12.傳輸層保護(hù)不足

  漏洞描述:

  處理用戶(客戶端)和服務(wù)器(應(yīng)用程序)之間的信息交換。應(yīng)用程序經(jīng)常通過(guò)網(wǎng)絡(luò)傳輸敏感信息,如身份驗(yàn)證詳細(xì)信息,信用卡信息和會(huì)話令牌。通過(guò)使用弱算法或使用過(guò)期或無(wú)效的證書(shū)或不使用SSL,可以允許將通信暴露給不受信任的用戶,這可能會(huì)危及Web應(yīng)用程序和/或竊取敏感信息。

  利用此Web安全漏洞,攻擊者可以嗅探合法用戶的憑據(jù)并獲取對(duì)該應(yīng)用程序的訪問(wèn)權(quán)限??梢愿`取信用卡信息。通過(guò)網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)容易被攻擊。

  修復(fù)建議:

  啟用安全HTTP并僅通過(guò)HTTPS強(qiáng)制執(zhí)行憑據(jù)傳輸。確保您的證書(shū)有效且未過(guò)期。例:不使用SSL的應(yīng)用程序,攻擊者只會(huì)監(jiān)視網(wǎng)絡(luò)流量并觀察經(jīng)過(guò)身份驗(yàn)證的受害者會(huì)話cookie。攻擊者可以竊取該cookie并執(zhí)行Man-in-the-Middle攻擊。

  13.未經(jīng)驗(yàn)證的重定向和轉(zhuǎn)發(fā)

  漏洞描述:

  Web應(yīng)用程序使用很少的方法將用戶重定向并轉(zhuǎn)發(fā)到其他頁(yè)面以實(shí)現(xiàn)預(yù)期目的。如果在重定向到其他頁(yè)面時(shí)沒(méi)有正確的驗(yàn)證,攻擊者可以利用此功能,并可以將受害者重定向到網(wǎng)絡(luò)釣魚(yú)或惡意軟件站點(diǎn),或者使用轉(zhuǎn)發(fā)來(lái)訪問(wèn)未經(jīng)授權(quán)的頁(yè)面。

  攻擊者可以向用戶發(fā)送包含附加編碼惡意URL的真實(shí)URL的URL。用戶只需看到攻擊者發(fā)送的URL的真實(shí)部分就可以瀏覽它并可能成為受害者。例:

  

  修復(fù)建議:

  只需避免在應(yīng)用程序中使用重定向和轉(zhuǎn)發(fā)。如果使用,請(qǐng)不要在計(jì)算目的地時(shí)使用用戶參數(shù)。如果無(wú)法避免目標(biāo)參數(shù),請(qǐng)確保提供的值有效,并為用戶授權(quán)。

  14.文件上傳漏洞

  漏洞描述:

  文件上傳漏洞通常由于網(wǎng)頁(yè)代碼中的文件上傳路徑變量過(guò)濾不嚴(yán)造成

  的,如果文件上傳功能實(shí)現(xiàn)代碼沒(méi)有嚴(yán)格限制用戶上傳的文件后綴以及文件類型,

  攻擊者可通過(guò)Web訪問(wèn)的目錄上傳任意文件,包括網(wǎng)站后門文件( webshell),

  進(jìn)而遠(yuǎn)程控制網(wǎng)站服務(wù)器。

  修復(fù)建議:

  嚴(yán)格限制和校驗(yàn)上傳的文件,禁止上傳惡意代碼的文件。同時(shí)限制相關(guān)目錄

  的執(zhí)行權(quán)限,防范webshell攻擊。

  15.應(yīng)用程序測(cè)試腳本泄露

  漏洞描述:

  由于測(cè)試腳本對(duì)提交的參數(shù)數(shù)據(jù)缺少充分過(guò)濾,遠(yuǎn)程攻擊者可以利用洞以

  WEB進(jìn)程權(quán)限在系統(tǒng)上查看任意文件內(nèi)容。

  修復(fù)建議:

  防御此類漏洞通常需嚴(yán)格過(guò)濾提交的數(shù)據(jù),有效檢測(cè)攻擊。

  16.私有IP地址泄露漏洞

  漏洞描述:

  IP地址是網(wǎng)絡(luò)用戶的重要標(biāo)示,是攻擊者進(jìn)行攻擊前需要了解的。獲取的

  方法較多,攻擊者也會(huì)因不同的網(wǎng)絡(luò)情況采取不同的方法,如:

 ?。?)在局域網(wǎng)內(nèi)使用Ping指令, Ping對(duì)方在網(wǎng)絡(luò)中的名稱而獲得IP。

  (2)在Internet上使用IP版的QQ,直接顯示。

 ?。?)截獲并分析對(duì)方的網(wǎng)絡(luò)數(shù)據(jù)包。攻擊者可以找到并直接通過(guò)軟件解析截獲

  后的數(shù)據(jù)包的IP包頭信息,再根據(jù)這些信息了解具體的IP。

  修復(fù)建議:

  針對(duì)最有效的“數(shù)據(jù)包分析方法”而言,就可以安裝能夠自動(dòng)去掉發(fā)送

  數(shù)據(jù)包包頭IP信息的一些軟件。不過(guò)使用這些軟件有些缺點(diǎn),譬如:耗費(fèi)資源嚴(yán)重,

  降低計(jì)算機(jī)性能;訪問(wèn)一些論壇或者網(wǎng)站時(shí)會(huì)受影響;不適合網(wǎng)吧用戶使用等等。

  現(xiàn)在的個(gè)人用戶采用最普及隱藏IP的方法應(yīng)該是使用代理,由于使用代理服務(wù)器

  后,“轉(zhuǎn)址服務(wù)”會(huì)對(duì)發(fā)送出去的數(shù)據(jù)包有所修改,致使“數(shù)據(jù)包分析”的方法失

  效。一些容易泄漏用戶IP的網(wǎng)絡(luò)軟件(QQ、MSN、IE等)都支持使用代理方式連接

  Internet,特別是QQ使用“ ezProxy”等代理軟件連接后, IP版的QQ都無(wú)法顯

  示該IP地址。雖然代理可以有效地隱藏用戶IP,但攻擊者亦可以繞過(guò)代理,查找到

  對(duì)方的真實(shí)IP地址,用戶在何種情況下使用何種方法隱藏IP,也要因情況而論。

  17.未加密登錄請(qǐng)求

  漏洞描述:

  由于Web配置不安全,登陸請(qǐng)求把諸如用戶名和密碼等敏感字段未加密進(jìn)行傳

  輸,攻擊者可以竊聽(tīng)網(wǎng)絡(luò)以劫獲這些敏感信息。

  修復(fù)建議:

  建議進(jìn)行加密后再傳輸。

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書(shū)架
加入書(shū)架
書(shū)頁(yè)
返回書(shū)頁(yè)
指南