新聞中心
java遍歷一個目錄,輸出這個那些最少一個文件的那些目錄的絕對路徑,這道題如何用java代碼解決?
我就不多說了,直接上代碼吧:
清澗ssl適用于網站、小程序/APP、API接口等需要進行數(shù)據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
/**
*?java遍歷一個目錄,輸出這個那些最少一個文件的那些目錄的絕對路徑,這道題如何用java代碼解決?
*
*?@param?args
*/
public?static?void?main(String[]?args)?{
//?設置文件目錄,?設置為user.dir目錄,便于測試
File?folder?=?new?File(System.getProperty("user.dir"));
System.out.println("根目錄:?"?+?folder.getAbsolutePath());
System.out.println("---------------------------------------------------------------------------");
displayAtLeastOneFileFolderPath(folder);
System.out.println("---------------------------------------------------------------------------");
}
/**
*?顯示?有一個文件以上的文件目錄
*?@param?file?文件或目錄
*/
private?static?void?displayAtLeastOneFileFolderPath(File?file)?{
if?(file?!=?null)?{
if?(file.isDirectory())?{???//?只有目錄才處理
File[]?files?=?file.listFiles();
int?fileCount?=?0;?//?文件數(shù)量,即不是文件夾的數(shù)量
if?(null?!=?files??files.length??0)?{
for?(File?subFile?:?files)?{
if?(subFile.isFile())?{
fileCount?++;?//?文件數(shù)目加一
}?else?{
//?繼續(xù)檢查下面的文件夾
displayAtLeastOneFileFolderPath(subFile);
}
}
}
if?(fileCount??0)?{????//?說明有文件,需要顯示文件夾的全路徑
System.out.println(file.getAbsolutePath()?+?":?共有文件?"?+?fileCount?+?"?個!");
}
}
}
}
在我機器上的運行結果為:
Java方面的漏洞有哪些?
java是語言,它的漏洞好像沒有聽說過,我覺得你說的是java開發(fā)的應用,java開發(fā)的web等,這些是無法避免的,因素除人為之外也有很多,不僅僅是java,其它語言也一樣,應該不在語言本身,而在程序員的邏輯、硬件、平臺等諸多因素
jspwiki Edit.jsp路徑遍歷 安全漏洞如何修復?
首先你可以確定一下是否真的存在遍歷漏洞就是雖然返回值是200 有沒有確實的把更深層的目錄內容顯示在網頁上,如果都是空的話那是沒有問題的,如果確實把深層目錄內容顯示出來了那么有幾個方案 第一更新版本,一般來說這種能檢測出來的漏洞都會有相應的補丁和新版本更新,第二就是自己手動更改源碼這個一般是過濾不嚴或者代碼不嚴謹導致的價格過濾或者輸入檢測把..或者/過濾掉,對用戶傳過來的文件名參數(shù)進行硬編碼或統(tǒng)一編碼,對文件類型進行白名單控制,對包含惡意字符或者空字符的參數(shù)進行拒絕
第三自己設置讀寫權限web應用程序可以使用chrooted環(huán)境包含被訪問的web目錄,或者使用絕對路徑+參數(shù)來訪問文件目錄,時使其即使越權也在訪問目錄之內。www目錄就是一個chroot應用。
chroot
chroot是在unix系統(tǒng)的一個操作,針對正在運作的軟件進程和它的子進程,改變它外顯的根目錄。一個運行在這個環(huán)境下,經由chroot設置根目錄的程序,它不能夠對這個指定根目錄之外的文件進行訪問動作,不能讀取,也不能更改它的內容。chroot這一特殊表達可能指chroot(2)系統(tǒng)調用或chroot(8)前端程序。
在java中如何遍歷某個路徑下的所有文件夾和文件
我們要遍歷所有的路徑,需要使用到java.io.File類,該類中有一個方法File[] listFiles();可以返回該文件下面所包含的所有子文件,String getPath();返回文件的全名稱(包括路徑),String getName(); 返回文件名。首先,我們先來遍歷一下D盤根目錄下所有的子文件:public static void fileList() { File file=new File("d:/"); File[] files = file.listFiles(); if (files != null) { for (File f : files) { System.out.println(f.getPath()); } } }對此,我們肯定不滿足,我們需要遍歷D盤下所有的文件和文件夾,而不是根目錄下的文件夾,這個時候我們需要使用到遞歸:public static void fileList(File file) { File[] files = file.listFiles(); if (files != null) { for (File f : files) { System.out.println(f.getPath()); fileList(f); } } }然后在主函數(shù)中調用:public static void main(String[] args) { File file=new File("d:/"); fileList(file); }結果是不是能令你滿意呢?顯然,輸出的都是全路徑,我們可以對我們的遞歸函數(shù)做如下改進: public static void fileList(File file,int node) { node++; File[] files = file.listFiles(); if (files != null) { for (File f : files) { for(int i=0;inode;i++){ if(i==node-1){ System.out.print("├"); } else{ System.out.print(" "); } } System.out.println(f.getName()); fileList(f,node); } } }然后再次在主函數(shù)中調用:public static void main(String[] args) { File file=new File("d:/"); fileList(file,0); }得到的結果是一個類似樹狀的結構,如果你對此還不滿意,可以嘗試給JTree上添加節(jié)點,可以做到和資源管理器中一樣的結構。
web漏洞攻擊有哪些?
一、SQL注入漏洞
SQL注入攻擊(SQL Injection),簡稱注入攻擊、SQL注入,被廣泛用于非法獲取網站控制權,是發(fā)生在應用程序的數(shù)據庫層上的安全漏洞。在設計程序,忽略了對輸入字符串中夾帶的SQL指令的檢查,被數(shù)據庫誤認為是正常的SQL指令而運行,從而使數(shù)據庫受到攻擊,可能導致數(shù)據被竊取、更改、刪除,以及進一步導致網站被嵌入惡意代碼、被植入后門程序等危害。
通常情況下,SQL注入的位置包括:
(1)表單提交,主要是POST請求,也包括GET請求;
(2)URL參數(shù)提交,主要為GET請求參數(shù);
(3)Cookie參數(shù)提交;
(4)HTTP請求頭部的一些可修改的值,比如Referer、User_Agent等;
(5)一些邊緣的輸入點,比如.mp3文件的一些文件信息等。
常見的防范方法
(1)所有的查詢語句都使用數(shù)據庫提供的參數(shù)化查詢接口,參數(shù)化的語句使用參數(shù)而不是將用戶輸入變量嵌入到SQL語句中。當前幾乎所有的數(shù)據庫系統(tǒng)都提供了參數(shù)化SQL語句執(zhí)行接口,使用此接口可以非常有效的防止SQL注入攻擊。
(2)對進入數(shù)據庫的特殊字符(’”*;等)進行轉義處理,或編碼轉換。
(3)確認每種數(shù)據的類型,比如數(shù)字型的數(shù)據就必須是數(shù)字,數(shù)據庫中的存儲字段必須對應為int型。
(4)數(shù)據長度應該嚴格規(guī)定,能在一定程度上防止比較長的SQL注入語句無法正確執(zhí)行。
(5)網站每個數(shù)據層的編碼統(tǒng)一,建議全部使用UTF-8編碼,上下層編碼不一致有可能導致一些過濾模型被繞過。
(6)嚴格限制網站用戶的數(shù)據庫的操作權限,給此用戶提供僅僅能夠滿足其工作的權限,從而最大限度的減少注入攻擊對數(shù)據庫的危害。
(7)避免網站顯示SQL錯誤信息,比如類型錯誤、字段不匹配等,防止攻擊者利用這些錯誤信息進行一些判斷。
(8)在網站發(fā)布之前建議使用一些專業(yè)的SQL注入檢測工具進行檢測,及時修補這些SQL注入漏洞。
二、跨站腳本漏洞
跨站腳本攻擊(Cross-site scripting,通常簡稱為XSS)發(fā)生在客戶端,可被用于進行竊取隱私、釣魚欺騙、竊取密碼、傳播惡意代碼等攻擊。
XSS攻擊使用到的技術主要為HTML和Javascript,也包括VBScript和ActionScript等。XSS攻擊對WEB服務器雖無直接危害,但是它借助網站進行傳播,使網站的使用用戶受到攻擊,導致網站用戶帳號被竊取,從而對網站也產生了較嚴重的危害。
XSS類型包括:
(1)非持久型跨站:即反射型跨站腳本漏洞,是目前最普遍的跨站類型??缯敬a一般存在于鏈接中,請求這樣的鏈接時,跨站代碼經過服務端反射回來,這類跨站的代碼不存儲到服務端(比如數(shù)據庫中)。上面章節(jié)所舉的例子就是這類情況。
(2)持久型跨站:這是危害最直接的跨站類型,跨站代碼存儲于服務端(比如數(shù)據庫中)。常見情況是某用戶在論壇發(fā)貼,如果論壇沒有過濾用戶輸入的Javascript代碼數(shù)據,就會導致其他瀏覽此貼的用戶的瀏覽器會執(zhí)行發(fā)貼人所嵌入的Javascript代碼。
(3)DOM跨站(DOM XSS):是一種發(fā)生在客戶端DOM(Document Object Model文檔對象模型)中的跨站漏洞,很大原因是因為客戶端腳本處理邏輯導致的安全問題。
常用的防止XSS技術包括:
(1)與SQL注入防護的建議一樣,假定所有輸入都是可疑的,必須對所有輸入中的script、iframe等字樣進行嚴格的檢查。這里的輸入不僅僅是用戶可以直接交互的輸入接口,也包括HTTP請求中的Cookie中的變量,HTTP請求頭部中的變量等。
(2)不僅要驗證數(shù)據的類型,還要驗證其格式、長度、范圍和內容。
(3)不要僅僅在客戶端做數(shù)據的驗證與過濾,關鍵的過濾步驟在服務端進行。
(4)對輸出的數(shù)據也要檢查,數(shù)據庫里的值有可能會在一個大網站的多處都有輸出,即使在輸入做了編碼等操作,在各處的輸出點時也要進行安全檢查。
(5)在發(fā)布應用程序之前測試所有已知的威脅。
三、弱口令漏洞
弱口令(weak password) 沒有嚴格和準確的定義,通常認為容易被別人(他們有可能對你很了解)猜測到或被破解工具破解的口令均為弱口令。設置密碼通常遵循以下原則:
(1)不使用空口令或系統(tǒng)缺省的口令,這些口令眾所周之,為典型的弱口令。
(2)口令長度不小于8個字符。
(3)口令不應該為連續(xù)的某個字符(例如:AAAAAAAA)或重復某些字符的組合(例如:tzf.tzf.)。
(4)口令應該為以下四類字符的組合,大寫字母(A-Z)、小寫字母(a-z)、數(shù)字(0-9)和特殊字符。每類字符至少包含一個。如果某類字符只包含一個,那么該字符不應為首字符或尾字符。
(5)口令中不應包含本人、父母、子女和配偶的姓名和出生日期、紀念日期、登錄名、E-mail地址等等與本人有關的信息,以及字典中的單詞。
(6)口令不應該為用數(shù)字或符號代替某些字母的單詞。
(7)口令應該易記且可以快速輸入,防止他人從你身后很容易看到你的輸入。
(8)至少90天內更換一次口令,防止未被發(fā)現(xiàn)的入侵者繼續(xù)使用該口令。
四、HTTP報頭追蹤漏洞
HTTP/1.1(RFC2616)規(guī)范定義了HTTP TRACE方法,主要是用于客戶端通過向Web服務器提交TRACE請求來進行測試或獲得診斷信息。當Web服務器啟用TRACE時,提交的請求頭會在服務器響應的內容(Body)中完整的返回,其中HTTP頭很可能包括Session Token、Cookies或其它認證信息。攻擊者可以利用此漏洞來欺騙合法用戶并得到他們的私人信息。該漏洞往往與其它方式配合來進行有效攻擊,由于HTTP TRACE請求可以通過客戶瀏覽器腳本發(fā)起(如XMLHttpRequest),并可以通過DOM接口來訪問,因此很容易被攻擊者利用。
防御HTTP報頭追蹤漏洞的方法通常禁用HTTP TRACE方法。
五、Struts2遠程命令執(zhí)行漏洞
ApacheStruts是一款建立Java web應用程序的開放源代碼架構。Apache Struts存在一個輸入過濾錯誤,如果遇到轉換錯誤可被利用注入和執(zhí)行任意Java代碼。
網站存在遠程代碼執(zhí)行漏洞的大部分原因是由于網站采用了Apache Struts Xwork作為網站應用框架,由于該軟件存在遠程代碼執(zhí)高危漏洞,導致網站面臨安全風險。CNVD處置過諸多此類漏洞,例如:“GPS車載衛(wèi)星定位系統(tǒng)”網站存在遠程命令執(zhí)行漏洞(CNVD-2012-13934);Aspcms留言本遠程代碼執(zhí)行漏洞(CNVD-2012-11590)等。
修復此類漏洞,只需到Apache官網升級Apache Struts到最新版本:
六、文件上傳漏洞
文件上傳漏洞通常由于網頁代碼中的文件上傳路徑變量過濾不嚴造成的,如果文件上傳功能實現(xiàn)代碼沒有嚴格限制用戶上傳的文件后綴以及文件類型,攻擊者可通過 Web 訪問的目錄上傳任意文件,包括網站后門文件(webshell),進而遠程控制網站服務器。
因此,在開發(fā)網站及應用程序過程中,需嚴格限制和校驗上傳的文件,禁止上傳惡意代碼的文件。同時限制相關目錄的執(zhí)行權限,防范webshell攻擊。
七、私有IP地址泄露漏洞
IP地址是網絡用戶的重要標示,是攻擊者進行攻擊前需要了解的。獲取的方法較多,攻擊者也會因不同的網絡情況采取不同的方法,如:在局域網內使用Ping指令,Ping對方在網絡中的名稱而獲得IP;在Internet上使用IP版的QQ直接顯示。最有效的辦法是截獲并分析對方的網絡數(shù)據包。攻擊者可以找到并直接通過軟件解析截獲后的數(shù)據包的IP包頭信息,再根據這些信息了解具體的IP。
針對最有效的“數(shù)據包分析方法”而言,就可以安裝能夠自動去掉發(fā)送數(shù)據包包頭IP信息的一些軟件。不過使用這些軟件有些缺點,譬如:耗費資源嚴重,降低計算機性能;訪問一些論壇或者網站時會受影響;不適合網吧用戶使用等等?,F(xiàn)在的個人用戶采用最普及隱藏IP的方法應該是使用代理,由于使用代理服務器后,“轉址服務”會對發(fā)送出去的數(shù)據包有所修改,致使“數(shù)據包分析”的方法失效。一些容易泄漏用戶IP的網絡軟件(QQ、MSN、IE等)都支持使用代理方式連接Internet,特別是QQ使用“ezProxy”等代理軟件連接后,IP版的QQ都無法顯示該IP地址。雖然代理可以有效地隱藏用戶IP,但攻擊者亦可以繞過代理,查找到對方的真實IP地址,用戶在何種情況下使用何種方法隱藏IP,也要因情況而論。
八、未加密登錄請求
由于Web配置不安全,登陸請求把諸如用戶名和密碼等敏感字段未加密進行傳輸,攻擊者可以竊聽網絡以劫獲這些敏感信息。建議進行例如SSH等的加密后再傳輸。
九、敏感信息泄露漏洞
SQL注入、XSS、目錄遍歷、弱口令等均可導致敏感信息泄露,攻擊者可以通過漏洞獲得敏感信息。針對不同成因,防御方式不同
十、CSRF
Web應用是指采用B/S架構、通過HTTP/HTTPS協(xié)議提供服務的統(tǒng)稱。隨著互聯(lián)網的廣泛使用,Web應用已經融入到日常生活中的各個方面:網上購物、網絡銀行應用、證券股票交易、政府行政審批等等。在這些Web訪問中,大多數(shù)應用不是靜態(tài)的網頁瀏覽,而是涉及到服務器側的動態(tài)處理。此時,如果Java、PHP、ASP等程序語言的編程人員的安全意識不足,對程序參數(shù)輸入等檢查不嚴格等,會導致Web應用安全問題層出不窮。
本文根據當前Web應用的安全情況,列舉了Web應用程序常見的攻擊原理及危害,并給出如何避免遭受Web攻擊的建議。
Web應用漏洞原理
Web應用攻擊是攻擊者通過瀏覽器或攻擊工具,在URL或者其它輸入區(qū)域(如表單等),向Web服務器發(fā)送特殊請求,從中發(fā)現(xiàn)Web應用程序存在的漏洞,從而進一步操縱和控制網站,查看、修改未授權的信息。
1.1 Web應用的漏洞分類
1、信息泄露漏洞
信息泄露漏洞是由于Web服務器或應用程序沒有正確處理一些特殊請求,泄露Web服務器的一些敏感信息,如用戶名、密碼、源代碼、服務器信息、配置信息等。
造成信息泄露主要有以下三種原因:
–Web服務器配置存在問題,導致一些系統(tǒng)文件或者配置文件暴露在互聯(lián)網中;
–Web服務器本身存在漏洞,在瀏覽器中輸入一些特殊的字符,可以訪問未授權的文件或者動態(tài)腳本文件源碼;
–Web網站的程序編寫存在問題,對用戶提交請求沒有進行適當?shù)倪^濾,直接使用用戶提交上來的數(shù)據。
2、目錄遍歷漏洞
目錄遍歷漏洞是攻擊者向Web服務器發(fā)送請求,通過在URL中或在有特殊意義的目錄中附加“../”、或者附加“../”的一些變形(如“..\”或“..//”甚至其編碼),導致攻擊者能夠訪問未授權的目錄,以及在Web服務器的根目錄以外執(zhí)行命令。
3、命令執(zhí)行漏洞
命令執(zhí)行漏洞是通過URL發(fā)起請求,在Web服務器端執(zhí)行未授權的命令,獲取系統(tǒng)信息,篡改系統(tǒng)配置,控制整個系統(tǒng),使系統(tǒng)癱瘓等。
命令執(zhí)行漏洞主要有兩種情況:
–通過目錄遍歷漏洞,訪問系統(tǒng)文件夾,執(zhí)行指定的系統(tǒng)命令;
–攻擊者提交特殊的字符或者命令,Web程序沒有進行檢測或者繞過Web應用程序過濾,把用戶提交的請求作為指令進行解析,導致執(zhí)行任意命令。
4、文件包含漏洞
文件包含漏洞是由攻擊者向Web服務器發(fā)送請求時,在URL添加非法參數(shù),Web服務器端程序變量過濾不嚴,把非法的文件名作為參數(shù)處理。這些非法的文件名可以是服務器本地的某個文件,也可以是遠端的某個惡意文件。由于這種漏洞是由PHP變量過濾不嚴導致的,所以只有基于PHP開發(fā)的Web應用程序才有可能存在文件包含漏洞。
5、SQL注入漏洞
SQL注入漏洞是由于Web應用程序沒有對用戶輸入數(shù)據的合法性進行判斷,攻擊者通過Web頁面的輸入區(qū)域(如URL、表單等) ,用精心構造的SQL語句插入特殊字符和指令,通過和數(shù)據庫交互獲得私密信息或者篡改數(shù)據庫信息。SQL注入攻擊在Web攻擊中非常流行,攻擊者可以利用SQL注入漏洞獲得管理員權限,在網頁上加掛木馬和各種惡意程序,盜取企業(yè)和用戶敏感信息。
6、跨站腳本漏洞
跨站腳本漏洞是因為Web應用程序時沒有對用戶提交的語句和變量進行過濾或限制,攻擊者通過Web頁面的輸入區(qū)域向數(shù)據庫或HTML頁面中提交惡意代碼,當用戶打開有惡意代碼的鏈接或頁面時,惡意代碼通過瀏覽器自動執(zhí)行,從而達到攻擊的目的。跨站腳本漏洞危害很大,尤其是目前被廣泛使用的網絡銀行,通過跨站腳本漏洞攻擊者可以冒充受害者訪問用戶重要賬戶,盜竊企業(yè)重要信息。
根據前期各個漏洞研究機構的調查顯示,SQL注入漏洞和跨站腳本漏洞的普遍程度排名前兩位,造成的危害也更加巨大。
1.2 SQL注入攻擊原理
SQL注入攻擊是通過構造巧妙的SQL語句,同網頁提交的內容結合起來進行注入攻擊。比較常用的手段有使用注釋符號、恒等式(如1=1)、使用union語句進行聯(lián)合查詢、使用insert或update語句插入或修改數(shù)據等,此外還可以利用一些內置函數(shù)輔助攻擊。
通過SQL注入漏洞攻擊網站的步驟一般如下:
第一步:探測網站是否存在SQL注入漏洞。
第二步:探測后臺數(shù)據庫的類型。
第三步:根據后臺數(shù)據庫的類型,探測系統(tǒng)表的信息。
第四步:探測存在的表信息。
第五步:探測表中存在的列信息。
第六步:探測表中的數(shù)據信息。
1.3 跨站腳本攻擊原理
跨站腳本攻擊的目的是盜走客戶端敏感信息,冒充受害者訪問用戶的重要賬戶??缯灸_本攻擊主要有以下三種形式:
1、本地跨站腳本攻擊
B給A發(fā)送一個惡意構造的Web URL,A點擊查看了這個URL,并將該頁面保存到本地硬盤(或B構造的網頁中存在這樣的功能)。A在本地運行該網頁,網頁中嵌入的惡意腳本可以A電腦上執(zhí)行A持有的權限下的所有命令。
2、反射跨站腳本攻擊
A經常瀏覽某個網站,此網站為B所擁有。A使用用戶名/密碼登錄B網站,B網站存儲下A的敏感信息(如銀行帳戶信息等)。C發(fā)現(xiàn)B的站點包含反射跨站腳本漏洞,編寫一個利用漏洞的URL,域名為B網站,在URL后面嵌入了惡意腳本(如獲取A的cookie文件),并通過郵件或社會工程學等方式欺騙A訪問存在惡意的URL。當A使用C提供的URL訪問B網站時,由于B網站存在反射跨站腳本漏洞,嵌入到URL中的惡意腳本通過Web服務器返回給A,并在A瀏覽器中執(zhí)行,A的敏感信息在完全不知情的情況下將發(fā)送給了C。
3、持久跨站腳本攻擊
B擁有一個Web站點,該站點允許用戶發(fā)布和瀏覽已發(fā)布的信息。C注意到B的站點具有持久跨站腳本漏洞,C發(fā)布一個熱點信息,吸引用戶閱讀。A一旦瀏覽該信息,其會話cookies或者其它信息將被C盜走。持久性跨站腳本攻擊一般出現(xiàn)在論壇、留言簿等網頁,攻擊者通過留言,將攻擊數(shù)據寫入服務器數(shù)據庫中,瀏覽該留言的用戶的信息都會被泄漏。
Web應用漏洞的防御實現(xiàn)
對于以上常見的Web應用漏洞漏洞,可以從如下幾個方面入手進行防御:
1)對 Web應用開發(fā)者而言
大部分Web應用常見漏洞,都是在Web應用開發(fā)中,開發(fā)者沒有對用戶輸入的參數(shù)進行檢測或者檢測不嚴格造成的。所以,Web應用開發(fā)者應該樹立很強的安全意識,開發(fā)中編寫安全代碼;對用戶提交的URL、查詢關鍵字、HTTP頭、POST數(shù)據等進行嚴格的檢測和限制,只接受一定長度范圍內、采用適當格式及編碼的字符,阻塞、過濾或者忽略其它的任何字符。通過編寫安全的Web應用代碼,可以消除絕大部分的Web應用安全問題。
2) 對Web網站管理員而言
作為負責網站日常維護管理工作Web管理員,應該及時跟蹤并安裝最新的、支撐Web網站運行的各種軟件的安全補丁,確保攻擊者無法通過軟件漏洞對網站進行攻擊。
除了軟件本身的漏洞外,Web服務器、數(shù)據庫等不正確的配置也可能導致Web應用安全問題。Web網站管理員應該對網站各種軟件配置進行仔細檢測,降低安全問題的出現(xiàn)可能。
此外,Web管理員還應該定期審計Web服務器日志,檢測是否存在異常訪問,及早發(fā)現(xiàn)潛在的安全問題。
3)使用網絡防攻擊設備
前兩種為事前預防方式,是比較理想化的情況。然而在現(xiàn)實中,Web應用系統(tǒng)的漏洞還是不可避免的存在:部分Web網站已經存在大量的安全漏洞,而Web開發(fā)者和網站管理員并沒有意識到或發(fā)現(xiàn)這些安全漏洞。由于Web應用是采用HTTP協(xié)議,普通的防火墻設備無法對Web類攻擊進行防御,因此可以使用IPS入侵防御設備來實現(xiàn)安全防護。
H3C IPS Web攻擊防御
H3C IPS入侵防御設備有一套完整的Web攻擊防御框架,能夠及時發(fā)現(xiàn)各種已經暴露的和潛在的Web攻擊。下圖為對于Web攻擊的總體防御框架。
圖1:Web攻擊防御框架,參見:
H3C IPS采用基于特征識別的方式識別并阻斷各種攻擊。IPS設備有一個完整的特征庫,并可定期以手工與自動的方式對特征庫進行升級。當網絡流量進入IPS后,IPS首先對報文進行預處理,檢測報文是否正確,即滿足協(xié)議定義要求,沒有錯誤字段;如果報文正確,則進入深度檢測引擎。該引擎是IPS檢測的核心模塊,對通過IPS設備的Web流量進行深層次的分析,并與IPS攻擊庫中的特征進行匹配,檢測Web流量是否存在異常;如果發(fā)現(xiàn)流量匹配了攻擊特征,IPS則阻斷網絡流量并上報日志;否則,網絡流量順利通過。
此Web攻擊防御框架有如下幾個特點:
1) 構造完整的Web攻擊檢測模型,準確識別各種Web攻擊
針對Web攻擊的特點,考慮到各種Web攻擊的原理和形態(tài),在不同漏洞模型之上開發(fā)出通用的、層次化的Web攻擊檢測模型,并融合到特征庫中。這些模型抽象出Web攻擊的一般形態(tài),對主流的攻擊能夠準確識別,使得模型通用化。
2) 檢測方式靈活,可以準確識別變形的Web攻擊
在實際攻擊中,攻擊者為了逃避防攻擊設備的檢測,經常對Web攻擊進行變形,如采用URL編碼技術、修改參數(shù)等。H3C根據Web應用漏洞發(fā)生的原理、攻擊方式和攻擊目標,對攻擊特征進行了擴展。即使攻擊者修改攻擊參數(shù)、格式、語句等內容,相同漏洞原理下各種變形的攻擊同樣能夠被有效阻斷。這使得IPS的防御范圍擴大,防御的靈活性也顯著增強,極大的減少了漏報情況的出現(xiàn)。
3) 確保對最新漏洞及技術的跟蹤,有效阻止最新的攻擊
隨著Web攻擊出現(xiàn)的頻率日益增高,其危害有逐步擴展的趨勢。這對IPS設備在防御的深度和廣度上提出了更高的要求,不僅要能夠防御已有的Web攻擊,更要有效的阻止最新出現(xiàn)的、未公布的攻擊。目前,H3C已經建立起一套完整的攻防試驗環(huán)境,可以及時發(fā)現(xiàn)潛在Web安全漏洞。同時還在繼續(xù)跟蹤最新的Web攻擊技術和工具,及時更新Web攻擊的特征庫,第一時間發(fā)布最新的Web漏洞應對措施,確保用戶的網絡不受到攻擊。
4) 保證正常業(yè)務的高效運行
檢測引擎是IPS整個設備運行的關鍵,該引擎使用了高效、準確的檢測算法,對通過設備的流量進行深層次的分析,并通過和攻擊特征進行匹配,檢測流量是否存在異常。如果流量沒有匹配到攻擊特征,則允許流量通過,不會妨礙正常的網絡業(yè)務,在準確防御的同時保證了正常業(yè)務的高效運行。
結束語
互聯(lián)網和Web技術廣泛使用,使Web應用安全所面臨的挑戰(zhàn)日益嚴峻,Web系統(tǒng)時時刻刻都在遭受各種攻擊的威脅,在這種情況下,需要制定一個完整的Web攻擊防御解決方案,通過安全的Web應用程序、Web服務器軟件、Web防攻擊設備共同配合,確保整個網站的安全。任何一個簡單的漏洞、疏忽都會造成整個網站受到攻擊,造成巨大損失。此外 ,Web攻擊防御是一個長期持續(xù)的工作,隨著Web技術的發(fā)展和更新,Web攻擊手段也不斷發(fā)展,針對這些最新的安全威脅,需要及時調整Web安全防護策略,確保Web攻擊防御的主動性,使Web網站在一個安全的環(huán)境中為企業(yè)和客戶服務。
原文鏈接:
分享題目:java代碼路徑遍歷漏洞,java路徑遍歷缺陷修復
轉載來于:http://www.dlmjj.cn/article/hoechs.html