1. 白帽子講Web安全的序言
2012年農歷春節,我回到了浙西的老家,外面白雪皚皚。在這與網路隔離的小鄉村裡,在這可以夜不閉戶的小鄉村裡,過著與網路無關、與安全無關的生活,而我終於可以有時間安安靜靜拜讀吳翰清先生的這本大作了。
認識吳翰清先生源於網路、源於安全,並從網路走向生活,成為朋友。他對於安全技術孜孜不倦的研究,使得他年紀輕輕便成為系統、網路、Web等多方面安全的專家;他對於安全技術的分享,創建了「幻影旅團」組織,培養了一批安全方面的技術人才,並帶動了整個行業的交流氛圍;他和同事在大型互聯網公司對安全方面的不斷實踐,全面保護著阿里巴巴集團的安全;他對於安全的反思和總結並發布在他的博客上,使得我們能夠更為深入地理解安全的意義,處理安全問題的方法論。而今天,很幸運,我們能系統的地看到吳翰清先生多年在大型互聯網公司工作實踐、總結反思所積累的安全觀和Web安全技術。
中國人自己編寫的安全專著不多,而在這為數不多的書中,絕大部分也都是「黑客攻擊」速成手冊。這些書除了在技術上僅立足於零碎的技術點、工具使用手冊、攻擊過程演示,不系統之外,更為關鍵的是,它們不是以建設者的角度去解決安全問題。吳翰清先生是我非常佩服的「白帽子」,他和一群志同道合的朋友,一直以建設更安全的互聯網為己任,系統地研究安全,積極分享知識,為中國的互聯網安全添磚加瓦。而這本書也正是站在白帽子的視角,講述Web安全的方方面面,它剖析攻擊原理,目的是讓互聯網開發者、技術人員了解原理,並通過自身的實踐,告訴大家分析這些問題的方法論、思想以及對應的防範方案。
最讓我共鳴的是「安全運營」的思路,我相信這也是吳翰清先生這么多年在互聯網公司工作的最大收獲之一,因為運營是互聯網公司的最大特色和法寶。安全是一個動態的過程,因為敵方攻擊手段在變,攻擊方法在變,漏洞不斷出現;我方業務在變,軟體在變,人員在變,妄圖通過一個系統、一個方案解決所有的問題是不現實的,也是不可能的,安全需要不斷地運營、持續地優化。
瑞雪兆豐年,一直在下的雪預示著今年的豐收。我想在經歷了2011年中國互聯網最大安全危機之後,如白雪一樣純潔的《白帽子講Web安全》應該會給廣大的從事互聯網技術人員帶來更多的幫助,保障中國互聯網的安全,迎來互聯網的又一個春天。
季昕華 Benjurry
2. 學信息安全需要哪些基礎
一:學網路安全需要的知識:
1、必須精通TCP/IP協議族。
2、學習和了解各種OS 平台,如:linux,UNIX,BSD 等。
3、隨時關注網路安全最新安全動態。
4、熟悉有關網路安全的硬軟體配置方法。尤其交換機和路由的配置。
5、多泡網路安全論壇。
6、終身學習。
二:網路安全必修課程:(後面的教材僅為參考)
1、專業基礎:
1)C/C++:【C++Primer中文版 還有題解c++ primer 需要一定的C++基礎,如果要比較基本的話,錢能的那本不錯,清華大學出版社的。 <<c programming languge>> 全球最經典的C語言教程 中文名字<<c程序設計語言>>】
2)匯編語言 asm
3)操作系統【linux,UNIX,BSD】UBUNTU是linux操作系統 鳥哥的linux私房菜】
4)計算機網路
2、系統編程:(Windows核心及網路編程)
2.1、精通VC/C++編程,熟悉windows網路SOCKET編程開發
1)《Windows網路編程(第二版)》(附光碟),(美)Anthony Jones, Jim Ohlund著;楊合慶譯;清華大學出版社,2002.1
2)《Windows 核心編程(第四版)》(附光碟),(美)Jetfrey Richter著,王建華 等譯;機械工業出版社,2006.9
2.2、逆向工程:
1)《加密與解密(第二版)》(附光碟),段鋼 著,電子工業出版社;2004.5
3、網路協議:
1)《計算機網路實驗教程》(《COMPUTER NETWORKS: INTERNET PROTOCOLS IN ACTION》),(美)JEANNA MATTHEWS著,李毅超 曹躍 王鈺 等譯,人民郵電出版社,2006.1
2)《TCP/IP協議詳解卷一:協議》、《TCP/IP詳解卷2:實現》、《TCP/IP詳解卷3:TCP 事務協議、HTTP、NNTP和UNIX域協議》,美 W.Richard Stevens 著,機械工業出版社,2004.9或《用TCP/IP進行網際互聯第一卷:原理、協議與結構》、《用TCP/IP進行網際互聯第二卷:設計、實現與內核》、《用TCP/IP 進行網際互聯第三卷:客戶-伺服器編程與應用》(第四版)、(美)Douglas E.Comer林瑤 等,電子工業出版社,2001 年5月
4、網路安全專業知識結構:
1)《信息安全原理與應用(第三版)》(《Security in Computing》),(美)CharlesP Pfleeger,Shari Lawrence Pfleeger著;李毅超,蔡洪斌,譚浩 等譯; 電子工業出版社,2004.7
2)《黑客大曝光--網路安全機密與解決方案》(第五版),(美)Stuart McClure,Joel Scambray, George Kurtz;王吉軍 等譯,清華大學出版社,2006年4月
三:英語學好,也是有用的,尤其是考一些比較有用的證。
3. Web安全問題解答
很多新手都覺得自己的電腦web經常被木馬侵襲,所以下面我為大家帶來電腦基礎知識學習之Web安全問題,讓你了解下如何安全的保護好自己的電腦。
1、什麼叫Web應用系統?
答:Web應用系統就是利用各種動態Web技術開發的,基於B/S(瀏覽器/伺服器)模式的事務處理系統。用戶直接面對的是客戶端瀏覽器,使用Web應用系統時,用戶通過瀏覽器發出的請求,其之後的事務邏輯處理和數據的邏輯運算由伺服器與資料庫系統共同完成,對用戶而言是完全透明的。運算後得到的結果再通過網路傳輸給瀏覽器,返回給用戶。比如:ERP系統、CRM系統以及常見的網站系統(如電子政務網站、企業網站等)都是Web應用系統。
2、為什麼Google把我的網站列為惡意網站
答:Google在對網站內容進行搜索時,同時也會檢查是否含有惡意軟體或代碼(這些惡意軟體或代碼可能威脅該網站的訪問者)。如果該網站存在這樣的惡意軟體或代碼,就會在用戶搜索到該網站時,加上一個標記:“該網站可能含有惡意軟體,有可能會危害您的電腦”。這將會使網站信譽受損,並導致潛在的用戶流失。
3、Web威脅為什麼難以防範
答:針對Web的攻擊已經成為全球安全領域最大的挑戰,主要原因有如下兩點:
1. 企業業務迅速更新,需要大量的Web應用快速上線。而由於資金、進度、意識等方面的影響,這些應用沒有進行充分安全評估。
2. 針對Web的攻擊會隱藏在大量正常的業務行為中,而且使用各種變形偽裝手段,會導致傳統的防火牆和基於特徵的入侵防禦系統無法發現和阻止這種攻擊。
4、黑客為什麼要篡改網站頁面
答:當黑客獲取網站的控制許可權後,往往會更改網站頁面,可能的動機有:
1. 宣稱政治主張;
2. 炫耀技術,建立“聲望”;
3. 宣洩情緒;
4. 經濟利益,通過網站釋放木馬,從而獲取經濟利益。
5、黑客實施網站掛馬的目的是什麼
答:網站掛馬的主要目的是控制訪問該網站的用戶的計算機,從而可以進一步獲取用戶的計算機隱私信息而獲利,或者將這些用戶的計算機作為“肉雞”,對 其它 伺服器或網路進行DDos攻擊。
6、為什麼我網站的資料庫表內容被大量替換?
答:如果排除了管理員誤操作的可能性,則可能是網站伺服器被自動化攻擊工具(如sql注入工具等)攻擊的結果。目前已經有自動化的工具對網站進行攻擊,如果網站存在漏洞的話,攻擊工具能夠獲得對網站資料庫訪問的許可權。如果發現這種情況,應該仔細核查網站伺服器和資料庫伺服器日誌,找出更改記錄。
7、在Web威脅防禦中防火牆的優點和不足
答:防火牆可以過濾掉非業務埠的數據,防止非Web服務出現的漏洞,目前市場上可選擇的防火牆品牌也較多。但對於目前大量出現在應用層面上的SQL注入和XSS漏洞,防火牆無法過濾,因而無法保護Web伺服器所面臨的應用層威脅。
8、常見發布系統之IIS
答:IIS 是Internet Information Server的縮寫,是由微軟開發的一種Web伺服器(Web server)產品,用以支持HTTP、FTP和SMTP服務發布。 它主要運行在微軟的 操作系統 之上,是最流行的Web伺服器軟體之一。
9、常見Web伺服器之Apache
答:Apache是Web伺服器軟體。它可以運行在幾乎所有廣泛使用的計算機平台上。Apache源於NCSAhttpd伺服器,經過多次修改,已成為世界上最流行的Web伺服器軟體之一。
10、Apache是不是比IIS要安全
答:早期的IIS在安全性方面存在著很大的問題,如果使用默認設置,黑客可以輕松趁虛而入。不過在IIS6中,微軟公司對其安全方面進行了大幅改進。只要保證操作系統補丁更新及時,就可以將網站安全系數盡可能地提高。
Apache在安全方面一直做得比較好,更主要的原因是很多用戶都是在linux系統下使用Apache。相對於微軟的操作系統,Linux系統被發布的安全按漏洞更少一些。
從技術角度講,兩個Web伺服器的安全性沒有本質區別,一個完整的Web系統的安全性更取決於Web程序的安全性以及Web伺服器配置的正確性。
11、什麼叫應用防火牆
答:應用防火牆的概念在上個世紀九十年代就已經被提出,但在最近幾年才真正走向成熟和應用。應用防火牆的概念與網路防火牆相對,網路防火牆關注網路層的訪問控制,應用防火牆則關注應用層數據的過濾與控制。
12、什麼叫網站防篡改系統
答:網站防篡改系統通過實時監控來保證Web系統的完整性,當監控到Web頁面被異常修改後能夠自動恢復頁面。網站放篡改系統由於其設計理念的限制,對靜態頁面的防護能力比較好,對動態頁面的防護則先天不足。
13、我的Web伺服器被訪問速度變慢,經常出現連接失敗的現象,可能是什麼原因造成的呢?
答:這可能有兩個方面的情況,一種是網路方面的原因,如運營商的線路故障,或帶寬消耗型的DDOS攻擊;另外一種情況是伺服器方面的原因,如感染病毒,或資源消耗型的拒絕服務攻擊。
14、我的Web伺服器部署了木馬查殺軟體,為什麼還被掛了木馬?
答:所謂的網頁被掛馬,很多情況下並不是有木馬程序或代碼被放到了Web伺服器上,而是有一段跳轉代碼(本身不包含攻擊信息)被放在了Web伺服器上網頁中。當遠程用戶訪問帶有跳轉代碼的頁面時,將會執行這段代碼,從另外一個地址下載並執行木馬。所以,即使在Web伺服器上部署了木馬查殺軟體,也會由於木馬本身並不存在於伺服器上,而無法避免網站被掛馬。
15、我的Web伺服器前端部署了入侵防禦產品設備,入侵防禦產品設備中包含了幾百條的SQL注入攻擊防禦特徵庫,為什麼我的Web系統還是被SQL注入攻擊成功了呢?
答:SQL注入是一種沒有固定特徵的攻擊行為,對安全設備來說,就是屬於變種極多的攻擊行為。所以,基於數據特徵的SQL注入檢測 方法 是沒有辦法窮盡所有組合的,會存在大量的誤報、漏報可能。如果採用的入侵防禦產品設備採用的是基於數據特徵的檢測方法,即使包含了數百條SQL注入特徵庫,也會有漏報出現。
16、黑客為什麼喜歡攻擊網站?
答:Web業務已經成為當前互聯網最為流行的業務,大量的在線應用業務都依託於Web服務進行。並且一些大型網站的日訪問量可達百萬之巨,不論是直接攻擊網站(如網路銀行,在線游戲伺服器)還是通過網站掛馬竊取訪問者信息,都可以使黑客獲得直接的經濟利益。另外一方面,網站是機構的網路形象,通過攻擊篡改網站頁面,也可以得到最大范圍的名聲傳播。對於那些企圖出名的黑客,攻擊網站是一項不錯的選擇。
17、如何判斷自己的Web伺服器是否已經成為肉雞?
答:如果發現自己的Web伺服器上開啟了一些奇怪的進程,發現Web伺服器總是有大量從內往外的連接,發現Web伺服器不定時系統緩慢,諸如此類的現象,可使用木馬清除軟體進行檢查和查殺。
細分攻擊形式:
18、目前國內Web應用系統存在哪些最突出的安全問題?
答:Web應用程序的漏洞是很難避免的,系統的安全隱患主要在三方面:
首先是網路運維人員或安全管理人員對Web系統的安全狀況不清楚。哪些頁面存在漏洞,哪些頁面已經被掛馬,他們不能夠清晰的掌握,從而及時採取改正 措施 ;
其次,在安全設備的部署方面,沒有選用專業的、針對Web業務攻擊的防禦產品對網站進行保護,而是寄託於防火牆這種訪問控制類的網關安全設備;
另外,從安全響應來看,Web安全事件發生後的應急與處理也存在欠缺。沒有相應的頁面恢復系統,也沒有處理Web安全事件的專業安全服務團隊。很多單位沒有制定實時監控的網站安全管理制度。
19、什麼叫SQL注入
答:SQL注入就是利用現有應用程序,將惡意的SQL命令注入到網站後台資料庫引擎執行的能力。SQL注入利用的是正常的HTTP服務埠,表面上看來和正常的Web訪問沒有區別,隱蔽性極強,不易被發現。
20、SQL注入有哪些危害
答:SQL注入的主要危害包括:
未經授權狀況下操作資料庫中的數據;
惡意篡改網頁內容;
私自添加系統帳號或者是資料庫使用者帳號;
網頁掛木馬;
21、什麼叫XSS
答:跨站腳本攻擊(XSS)是攻擊者將惡意腳本提交到網站的網頁中,使得原本安全的網頁存在惡意腳本;或者是直接添加有惡意腳本的網頁並誘使用戶打開,用戶訪問網頁後,惡意腳本就會將用戶與網站的會話COOKIE及其它會話信息全部截留發送給攻擊者,攻擊者就可以利用用戶的COOKIE正常訪問網站。攻擊者有時還會將這些惡意腳本以話題的方式提交到論壇中,誘使網站管理員打開這個話題,從而獲得管理員許可權,控制整個網站。跨站腳本漏洞主要是由於沒有對所有用戶的輸入進行有效的驗證所造成的,它影響所有的Web應用程序框架。
22、XSS有哪些危害
答:XSS攻擊的危害包括:
盜取各類用戶帳號,如機器登錄帳號、用戶網銀帳號、各類管理員帳號;
控制企業數據,包括讀取、篡改、添加、刪除企業敏感數據的能力;
盜竊企業重要的具有商業價值的資料;
非法轉賬;
強制發送電子郵件;
網站掛馬;
控制受害者機器向其它網站發起攻擊。
23、什麼叫Shellcode
答:Shellcode實際是一段代碼(也可以是填充數據),可以用來發送到伺服器,利用已存在的特定漏洞造成溢出,通稱“緩沖區溢出攻擊”中植入進程的代碼。這段代碼可以是導致常見的惡作劇目的的彈出一個消息框彈出,也可以用來刪改重要文件、竊取數據、上傳木馬病毒並運行,甚至是出於破壞目的的格式化硬碟等等。
24、什麼叫網站漏洞
答:隨著B/S模式被廣泛的應用,用這種模式編寫Web應用程序的程序員也越來越多。但由於開發人員的水平和 經驗 參差不齊,相當一部分的開發人員在編寫代碼的時候,沒有對用戶的輸入數據或者是頁面中所攜帶的信息(如Cookie)進行必要的合法性判斷,導致了攻擊者可以利用這個編程漏洞來入侵資料庫或者攻擊Web應用程序的使用者,由此獲得一些重要的數據和利益。
25、什麼叫木馬
答:木馬(Trojan)這個名字來源於古希臘 傳說 ,在互聯網時代它通常是指通過一段特定的程序(木馬程序)來控制另一台計算機。木馬通常有兩個可執行程序:一個是客戶端,即控制端,另一個是服務端,即被控制端。木馬的設計者為了防止木馬被發現,而採用多種手段隱藏木馬。木馬的服務一旦運行並被控制端連接,其控制端將享有服務端的大部分操作許可權,例如給計算機增加口令,瀏覽、移動、復制、刪除文件,修改注冊表,更改計算機配置等。
26、什麼叫網站掛馬
答:“掛馬” 就是黑客入侵了一些網站後,將自己編寫的網頁木馬嵌入被黑網站的主頁中。當訪問者瀏覽被掛馬頁面時,自己的計算機將會被植入木馬,黑客便可通過遠程式控制制他們的計算機來實現不可告人的目的。網頁木馬就是將木馬和網頁結合在一起,打開網頁的同時也會運行木馬。最初的網頁木馬原理是利用IE瀏覽器的ActiveX控制項,運行網頁木馬後會彈出一個控制項下載提示,只有點擊確認後才會運行其中的木馬。這種網頁木馬在當時網路安全意識普遍不高的情況下還是有一點威脅的,但是其缺點顯而易見,就是會出現ActiveX控制項下載提示。現在很少會有人去點擊那莫名其妙的ActiveX控制項下載確認窗口了。在這種情況下,新的網頁木馬誕生了。這類網頁木馬通常利用IE瀏覽器的漏洞,在運行的時候沒有絲毫提示,因此隱蔽性極高。
27、什麼叫DOS./DDOS攻擊?
答:DoS即Denial Of Service,拒絕服務的縮寫。DoS是指利用網路協議實現的缺陷來耗盡被攻擊對象的資源,目的是讓目標計算機或網路無法提供正常的服務或資源訪問,使目標系統服務系統停止響應甚至崩潰。在此攻擊中並不包括侵入目標伺服器或目標網路設備。這些被大量消耗的服務資源包括網路帶寬、文件系統空間容量、開放的進程或者允許的連接。這種攻擊會導致資源的匱乏,無論計算機的處理速度多快、內存容量多大、網路帶寬有多高,都無法避免這種攻擊帶來的後果。
DDoS(Distributed Denial Of Service)又把DoS又向前發展了一大步,這種分布式拒絕服務攻擊是黑客利用在已經被侵入並已被控制的、不同的高帶寬主機(可能是數百,甚至成千上萬台)上安裝大量的DoS服務程序,它們等待來自中央攻擊控制中心的命令。中央攻擊控制中心再適時啟動全體受控主機的DoS服務進程,讓它們對一個特定目標發送盡可能多的網路訪問請求,形成一股DoS洪流沖擊目標系統,猛烈地DoS攻擊同一個網站。被攻擊的目標網站會很快失去反應而不能及時處理正常的訪問甚至系統癱瘓崩潰。
28、什麼叫網路釣魚
答:網路釣魚(Phishing,又名釣魚法或釣魚式攻擊)是通過傳播“聲稱來自於銀行或其他知名機構”的欺騙信息,意圖引誘受害者泄漏出敏感信息(如用戶名、口令、帳號 ID 、 ATM PIN 碼或信用卡詳細信息)的一種攻擊方式。最典型的網路釣魚攻擊將受害者引誘到一個與其目標網站非常相似的釣魚網站上,並獲取受害者在此網站上輸入的個人敏感信息。通常這個攻擊過程不會讓受害者警覺。它是“社會工程攻擊”的一種形式。
29、什麼叫網路蠕蟲
答:一般認為:蠕蟲病毒是一種通過網路傳播的惡性病毒,它除具有病毒的一些共性外,同時具有自己的一些特徵。如:不利用文件寄生(有的只存在於內存中)、對網路造成拒絕服務,以及與黑客技術相結合,等等。蠕蟲病毒主要的破壞方式是大量的復制自身,然後在網路中傳播,嚴重佔用有限的網路資源,最終引起整個網路的癱瘓,使用戶不能通過網路進行正常的工作。每一次蠕蟲病毒的爆發都會給全球經濟造成巨大損失,因此它的危害性是十分巨大的。有一些蠕蟲病毒還具有更改用戶文件、將用戶文件自動當附件轉發的功能,更是嚴重的地危害到用戶的 系統安全 。
30、什麼叫僵屍網路
答:僵屍網路(英文名稱叫BotNet),是互聯網上受到黑客集中控制的一群計算機,往往被黑客用來發起大規模的網路攻擊。如:分布式拒絕服務攻擊(DDoS)、海量垃圾郵件等。同時,黑客控制的這些計算機所保存的信息也都可以被黑客隨意“取用”。因此,不論是對網路安全運行還是用戶數據安全的保護,僵屍網路都是極具威脅的隱患。然而,發現一個僵屍網路是非常困難的,因為黑客通常遠程、隱蔽地控制分散在網路上的“僵屍主機”,這些主機的用戶往往並不知情。因此,僵屍網路是目前互聯網上最受黑客青睞的作案工具。
31、什麼是ARP攻擊
答:ARP是地址解析協議,是一種將IP地址轉化為MAC地址的協議。在網路中,當A主機需要向B主機發送報文時,會先查詢本地的ARP緩存表,找到與B主機IP地址對應的MAC地址後,進行數據傳輸。如果未找到,則會發送一個廣播ARP請求報文,請求對應B主機IP的B回應MAC地址。這個廣播包會被整個廣播域中所有主機收到,但只有B主機會發現IP地址對應自己,才會將MAC地址回應給A。此時A收到這個回應並更新自己的ARP緩存,進行下一步的數據傳輸。ARP攻擊應當叫做ARP欺騙,就是冒充網關地址對網路中主機給出ARP查詢回應,使得本來是A->網關的數據走向,變成A->攻擊者->網關。
32、ARP攻擊的危害有哪些?
答:ARP攻擊的危害主要有兩個方面。從ARP攻擊的原理來看,這種攻擊使得受害主機的所有網路數據都將通過攻擊者進行轉發。這樣一來,要竊取信息或控制流量就變得輕而易舉。另一方面,由於ARP緩存會不斷刷新,有的時候,真正的網關會偶爾“清醒”。當真正的網關參與到數據包轉發中來時,由於做了一個切換動作,可能會有頻繁的短暫掉線現象。所以,如果Web伺服器所在網路中發生了ARP攻擊,將導致Web伺服器不可訪問。
細分攻擊介質:
33、WEB應用系統(網站)會面臨來自哪些方面的安全問題
答:網站面臨的安全問題是方方面面的,主要可概括為以下四個方面:
1)操作系統、後台資料庫的安全問題
這里指操作系統和後台資料庫的漏洞,配置不當,如弱口令等等,導致黑客、病毒可以利用這些缺陷對網站進行攻擊。
2)Web發布系統的漏洞
Web業務常用的發布系統(即Web伺服器),如IIS、Apache等,這些系統存在的安全漏洞,會給入侵者可乘之機。
3)Web應用程序的漏洞
主要指Web應用程序的編寫人員,在編程的過程中沒有考慮到安全的因素,使得黑客能夠利用這些漏洞發起對網站的攻擊,比如SQL注入、跨站腳本攻擊等等。
4)自身網路的安全狀況
網站伺服器所處的網路安全狀況也影響著網站的安全,比如網路中存在的DoS攻擊等,也會影響到網站的正常運營。
34、Web程序漏洞是怎麼形成的
答:Web站點之所以存在如此眾多的安全漏洞,是由下列所示的這些原因造成的:
1、 大部分的中小型網站都是使用某個建站模塊建設的,而這些通用的建站模塊不僅本身存在各種安全漏洞,同時一些使用它們的建站人員根本沒有在建站完成後對站點進行安全加固。
2、 Web站點開發人員對安全不夠重視,在編寫網頁時,沒有對用戶的輸入進行驗證,沒有對數據的大小、類型和字元串進行規范,沒有限制API函數對系統資源的使用,以及對Web伺服器沒有進行相應的資源限制,引起拒絕服務攻擊。
3、 管理員對Web伺服器主機系統及Web應用程序本身配置不當,一些中小企業自己管理的Web站點根本沒有足夠的技術人員來管理它們的安全。
4、 當Web站點是託管在某個電信機房時,對它們進行的遠程管理存在安全風險。
5、 Web站點管理員本身技術水平的限制,對各種針對Web站點的安全攻擊不了解,也沒有端正工作態度,沒能對站點進行認真的安全加固,以及進行日常的安全檢查。
6、 Web站點所處網路大環境的安全設計不合理,以及沒有將安全防範工作融入到站點整個生命周期的各個階段。
7、 企業領導不夠重視,在Web站點的安全防範方面投入的資金太少或不合理,沒有制定一個有效的Web站點安全防範策略,明確Web站點日常管理流程,也沒有對Web站點的管理人員和工作人員進行不斷的安全培訓。
35、黑客主要利用哪些方法對網站進行數據竊取和修改
答:黑客需要使用擁有一定許可權的用戶帳戶才能對網站進行數據竊取和修改,所以可能造成用戶許可權泄漏或提升的漏洞,都可以被黑客利用來進行攻擊,如SQL注入,溢出漏洞、暴力猜解等。
36、目前對Web伺服器威脅較大的SQL注入工具有哪些?
答:網上常見的SQL注入工具有“啊D SQL注入工具”、pangolin、NBSI、HDSI、“管中窺豹注入工具”等。
37、目前對Web伺服器威脅較大的XSS攻擊工具有哪些?
答:網上常見的XSS攻擊工具有sessionIE、Webscan、XSS Inject Scanner 等。
38、怎樣應對Web業務安全事件
答:應對Web業務安全事件,從根本上的解決辦法就是對Web應用程序源代碼進行代碼檢查和漏洞修復,但是這會影響正常Web業務運行,而且費用較高。比較有效的解決方案是通過專業的Web業務安全檢查工具或服務來檢查網站安全狀況,部署專業的Web安全產品。比如基於行為檢測的入侵防禦產品。同時在管理上,要求網管人員實時對網站進行監測,一旦發現網頁被篡改等問題立刻進行頁面恢復、刪除惡意腳本等工作。
39、如何防禦SQL注入
答:要想從根本上解決XSS攻擊,就要對Web應用程序源代碼進行檢查,發現安全漏洞進行修改。但是這種方法在實際中給用戶帶來了不便,如:需要花費大量的人力財力、可能無法找到當時的網站開發人員、需要網站下線等。對代碼進行修改後,由於增加了過濾條件和功能,同時也給伺服器帶來了計算壓力。通常的解決方法是在資料庫伺服器前端部署入侵防禦產品。SQL注入攻擊具有變種多、隱蔽性強等特點,傳統的特徵匹配檢測方式不能有效地進行防禦,需要採用“基於攻擊手法的行為監測”的入侵防禦產品才能夠精確地檢測到SQL注入攻擊。
40、如何防禦XSS
答:要想從根本上解決XSS攻擊,就要對Web應用程序源代碼進行檢查,發現安全漏洞進行修改。但是這種方法在實際中給用戶帶來了不便,如:需要花費大量的人力財力;可能無法找到當時的網站開發人員、需要網站下線等。對代碼進行修改後,由於增加了過濾條件和功能,同時也給伺服器帶來了計算壓力。通常的解決方法是在資料庫伺服器前端部署入侵防禦產品。XSS攻擊具有變種多、隱蔽性強等特點,傳統的特徵匹配檢測方式不能有效地進行防禦,需要採用基於攻擊手法的行為監測的入侵防禦產品產品才能夠精確地檢測到XSS攻擊。
41、如何發現網站掛馬
答:伺服器被掛馬,通常情況下,若出現諸如“彈出頁面”,則可以比較容易發現,發現防病毒軟體告警之類,則可以發現伺服器被掛馬;由於漏洞不斷更新,掛馬種類時刻都在變換,通過客戶端的反映來發現伺服器是否被掛馬往往疏漏較大;正確的做法是經常性的檢查伺服器日誌,發現異常信息;經常檢查網站代碼,藉助於專業的檢測工具來發現網頁木馬會大大提高工作效率和准確度。
4. 白帽子講Web安全的前言
在2010年年中的時候,博文視點的張春雨先生找到我,希望我可以寫一本關於雲計算安全的書。當時雲計算的概念正如日中天,但市面上關於雲計算安全應該怎麼做卻缺乏足夠的資料。我由於工作的關系接觸這方面比較多,但考慮到雲計算的未來尚未清晰,以及其他的種種原因,婉拒了張春雨先生的要求,轉而決定寫一本關於Web安全的書。 我對安全的興趣起源於中學時期。當時在盜版市場買到了一本沒有書號的黑客手冊,其中coolfire 的黑客教程令我印象深刻。此後在有限的能接觸到互聯網的機會里,我總會想方設法地尋找一些黑客教程,並以實踐其中記載的方法為樂。
在2000年的時候,我進入了西安交通大學學習。在大學期間,最大的收獲,是學校的計算機實驗室平時會對學生開放。當時上網的資費仍然較貴,父母給我的生活費里,除了留下必要的生活所需費用之外,幾乎全部投入在這里。也是在學校的計算機實驗室里,讓我迅速在這個領域中成長起來。
大學期間,在父母的資助下,我擁有了自己的第一台個人電腦,這加快了我成長的步伐。與此同時,我和一些互聯網上志同道合的朋友,一起建立了一個技術型的安全組織,名字來源於我當時最喜愛的一部動漫:「幻影旅團」。歷經十餘載,「幻影」由於種種原因未能得以延續,但它卻曾以論壇的形式培養出了當今安全行業中非常多的頂尖人才。這也是我在這短短二十餘載人生中的最大成就與自豪。
得益於互聯網的開放性,以及我親手締造的良好技術交流氛圍,我幾乎見證了全部互聯網安全技術的發展過程。在前5年,我投入了大量精力研究滲透測試技術、緩沖區溢出技術、網路攻擊技術等;而在後5年,出於工作需要,我把主要精力放在了對Web安全的研究上。 發生這種專業方向的轉變,是因為在2005年,我在一位摯友的推薦下,加入了阿里巴巴。加入的過程頗具傳奇色彩,在面試的過程中主管要求我展示自己的能力,於是我遠程關閉了阿里巴巴內網上游運營商的一台路由設備,導致阿里巴巴內部網路中斷。事後主管立即要求與運營商重新簽訂可用性協議。
大學時期的興趣愛好,居然可以變成一份正經的職業(當時很多大學都尚未開設網路安全的課程與專業),這使得我的父母很震驚,同時也更堅定了我自己以此作為事業的想法。
在阿里巴巴我很快就嶄露頭角,曾經在內網中通過網路嗅探捕獲到了開發總監的郵箱密碼;也曾經在壓力測試中一瞬間癱瘓了公司的網路;還有好幾次,成功獲取到了域控伺服器的許可權,從而可以以管理員的身份進入任何一位員工的電腦。
但這些工作成果,都遠遠比不上那厚厚的一摞網站安全評估報告讓我更有成就感,因為我知道,網站上的每一個漏洞,都在影響著成千上萬的用戶。能夠為百萬、千萬的互聯網用戶服務,讓我倍感自豪。當時,Web正在逐漸成為互聯網的核心,Web安全技術也正在興起,於是我義無返顧地投入到對Web安全的研究中。
我於2007年以23歲之齡成為了阿里巴巴集團最年輕的技術專家。雖未有官方統計,但可能也是全集團里最年輕的高級技術專家,我於2010年獲此殊榮。在阿里巴巴,我有幸見證了安全部門從無到有的建設過程。同時由於淘寶、支付寶草創,尚未建立自己的安全團隊,因此我有幸參與了淘寶、支付寶的安全建設,為他們奠定了安全開發框架、安全開發流程的基礎。 當時,我隱隱地感覺到了互聯網公司安全,與傳統的網路安全、信息安全技術的區別。就如同開發者會遇到的挑戰一樣,有很多問題,不放到一個海量用戶的環境下,是難以暴露出來的。由於量變引起質變,所以管理10台伺服器,和管理1萬台伺服器的方法肯定會有所區別;同樣的,評估10名工程師的代碼安全,和評估1000名工程師的代碼安全,方法肯定也要有所不同。
互聯網公司安全還有一些鮮明的特色,比如注重用戶體驗、注重性能、注重產品發布時間,因此傳統的安全方案在這樣的環境下可能完全行不通。這對安全工作提出了更高的要求和更大的挑戰。
這些問題,使我感覺到,互聯網公司安全可能會成為一門新的學科,或者說應該把安全技術變得更加工業化。可是我在書店中,卻發現安全類目的書,要麼是極為學術化的(一般人看不懂)教科書,要麼就是極為娛樂化的(比如一些「黑客工具說明書」類型的書)說明書。極少數能夠深入剖析安全技術原理的書,以我的經驗看來,在工業化的環境中也會存在各種各樣的問題。
這些問題,也就促使我萌發了一種寫一本自己的書,分享多年來工作心得的想法。它將是一本闡述安全技術在企業級應用中實踐的書,是一本大型互聯網公司的工程師能夠真正用得上的安全參考書。因此張春雨先生一提到邀請我寫書的想法時,我沒有做過多的思考,就答應了。
Web是互聯網的核心,是未來雲計算和移動互聯網的最佳載體,因此Web安全也是互聯網公司安全業務中最重要的組成部分。我近年來的研究重心也在於此,因此將選題范圍定在了Web安全。但其實本書的很多思路並不局限於Web安全,而是可以放寬到整個互聯網安全的方方面面之中。
掌握了以正確的思路去看待安全問題,在解決它們時,都將無往而不利。我在2007年的時候,意識到了掌握這種正確思維方式的重要性,因此我告知好友:安全工程師的核心競爭力不在於他能擁有多少個0day,掌握多少種安全技術,而是在於他對安全理解的深度,以及由此引申的看待安全問題的角度和高度。我是如此想的,也是如此做的。
因此在本書中,我認為最可貴的不是那一個個工業化的解決方案,而是在解決這些問題時,背後的思考過程。我們不是要做一個能夠解決問題的方案,而是要做一個能夠「漂亮地」解決問題的方案。這是每一名優秀的安全工程師所應有的追求。 然而在當今的互聯網行業中,對安全的重視程度普遍不高。有統計顯示,互聯網公司對安全的投入不足收入的百分之一。
在2011年歲末之際,中國互聯網突然捲入了一場有史以來最大的安全危機。12月21日,國內最大的開發者社區CSDN被黑客在互聯網上公布了600萬注冊用戶的數據。更糟糕的是,CSDN在資料庫中明文保存了用戶的密碼。接下來如同一場盛大的交響樂,黑客隨後陸續公布了網易、人人、天涯、貓撲、多玩等多家大型網站的資料庫,一時間風聲鶴唳,草木皆兵。
這些數據其實在黑客的地下世界中已經輾轉流傳了多年,牽扯到了一條巨大的黑色產業鏈。這次的偶然事件使之浮出水面,公之於眾,也讓用戶清醒地認識到中國互聯網的安全現狀有多麼糟糕。
以往類似的事件我都會在博客上說點什麼,但這次我保持了沉默。因為一來知道此種狀況已經多年,網站只是在為以前的不作為而買單;二來要解決「拖庫」的問題,其實是要解決整個互聯網公司的安全問題,遠非保證一個資料庫的安全這么簡單。這不是通過一段文字、一篇文章就能夠講清楚的。但我想最好的答案,可以在本書中找到。
經歷這場危機之後,希望整個中國互聯網,在安全問題的認識上,能夠有一個新的高度。那這場危機也就物有所值,或許還能藉此契機成就中國互聯網的一場安全啟蒙運動。
這是我的第一本書,也是我堅持自己一個人寫完的書,因此可以在書中盡情地闡述自己的安全世界觀,且對書中的任何錯漏之處以及不成熟的觀點都沒有可以推卸責任的借口。
由於工作繁忙,寫此書只能利用業余時間,交稿時間多次推遲,深感寫書的不易。但最終能成書,則有賴於各位親朋的支持,以及編輯的鼓勵,在此深表感謝。本書中很多地方未能寫得更為深入細致,實乃精力有限所致,尚請多多包涵。 在安全圈子裡,素有「白帽」、「黑帽」一說。
黑帽子是指那些造成破壞的黑客,而白帽子則是研究安全,但不造成破壞的黑客。白帽子均以建設更安全的互聯網為己任。
我於2008年開始在國內互聯網行業中倡導白帽子的理念,並聯合了一些主要互聯網公司的安全工程師,建立了白帽子社區,旨在交流工作中遇到的各種問題,以及經驗心得。
本書名為《白帽子講Web安全》,即是站在白帽子的視角,講述Web安全的方方面面。雖然也剖析攻擊原理,但更重要的是如何防範這些問題。同時也希望「白帽子」這一理念,能夠更加的廣為人知,為中國互聯網所接受。 全書分為4大篇共18章,讀者可以通過瀏覽目錄以進一步了解各篇章的內容。在有的章節末尾,還附上了筆者曾經寫過的一些博客文章,可以作為延伸閱讀以及本書正文的補充。
第一篇 我的安全世界觀是全書的綱領。在此篇中先回顧了安全的歷史,然後闡述了筆者對安全的看法與態度,並提出了一些思考問題的方式以及做事的方法。理解了本篇,就能明白全書中所涉及的解決方案在抉擇時的取捨。
第二篇 客戶端腳本安全就當前比較流行的客戶端腳本攻擊進行了深入闡述。當網站的安全做到一定程度後,黑客可能難以再找到類似注入攻擊、腳本執行等高風險的漏洞,從而可能將注意力轉移到客戶端腳本攻擊上。
客戶端腳本安全與瀏覽器的特性息息相關,因此對瀏覽器的深入理解將有助於做好客戶端腳本安全的解決方案。
如果讀者所要解決的問題比較嚴峻,比如網站的安全是從零開始,則建議跳過此篇,先閱讀下一篇「伺服器端應用安全」,解決優先順序更高的安全問題。
第三篇 伺服器端應用安全就常見的伺服器端應用安全問題進行了闡述。這些問題往往能引起非常嚴重的後果,在網站的安全建設之初需要優先解決這些問題,避免留下任何隱患。
第四篇 互聯網公司安全運營提出了一個大安全運營的思想。安全是一個持續的過程,最終仍然要由安全工程師來保證結果。
在本篇中,首先就互聯網業務安全問題進行了一些討論,這些問題對於互聯網公司來說有時候會比漏洞更為重要。
在接下來的兩章中,首先闡述了安全開發流程的實施過程,以及筆者積累的一些經驗。然後談到了公司安全團隊的職責,以及如何建立一個健康完善的安全體系。
本書也可以當做一本安全參考書,讀者在遇到問題時,可以挑選任何所需要的章節進行閱讀。 感謝我的妻子,她的支持是對我最大的鼓勵。本書最後的成書時日,是陪伴在她的病床邊完成的,我將銘記一生。
感謝我的父母,是他們養育了我,並一直在背後默默地支持我的事業,使我最終能有機會在這里寫下這些話。
感謝我的公司阿里巴巴集團,它營造了良好的技術與實踐氛圍,使我能夠有今天的積累。同時也感謝在工作中一直給予我幫助和鼓勵的同事、上司,他們包括但不限於:魏興國、湯城、劉志生、侯欣傑、林松英、聶萬全、謝雄欽、徐敏、劉坤、李澤洋、肖力、葉怡愷。
感謝季昕華先生為本書作序,他一直是所有安全工作者的楷模與學習的對象。
也感謝博文視點的張春雨先生以及他的團隊,是他們的努力使本書最終能與廣大讀者見面。他們的專業意見給了我很多的幫助。
最後特別感謝我的同事周拓,他對本書提出了很多有建設性的意見。
吳翰清
2012年1月於杭州
5. 白帽子講wed安全的書有效果嗎
在互聯網時代,數據安全與個人隱私受到了前所未有的挑戰,各種新奇的攻擊技術層出不窮。如何才能更好地保護我們的數據?本書將帶你走進web安全的世界,讓你了解web安全的方方面面。黑客不再變得神秘,攻擊技術原來我也可以會,小網站主自己也能找到正確的安全道路。大公司是怎麼做安全的,為什麼要選擇這樣的方案呢?你能在本書中找到答案。詳細的剖析,讓你不僅能「知其然」,更能「知其所以然」。
《白帽子講web安全》是根據作者若干年實際工作中積累下來的豐富經驗而寫成的,在解決方案上具有極強的可操作性,深入分析了各種錯誤的解決方案與誤區,對安全工作者有很好的參考價值。安全開發流程與運營的介紹,對同行業的工作具有指導意義。
編輯推薦
「安全是互聯網公司的生命,也是每一位網民的最基本需求。
一位天天聽到炮聲的白帽子和你分享如何呵護生命,滿足最基本需求。這是一本能聞到硝煙味道的書。」
——阿里巴巴集團首席架構師 阿里雲總裁 王堅
白帽子講web安全 作譯者:
吳翰清,畢業於西安交通大學少年班,從2000年開始研究網路攻防技術。在大學期間創立
了在中國安全圈內極具影響力的組織「幻影」。
2005年加入********,負責網路安全。工作期間,對********的安全開發流程、應用安全建設做出了傑出的貢獻,並多次獲得公司的表彰。曾先後幫助淘寶、支付寶建立了應用安全體系,保障公司業務得以快速而安全地發展。
2009年起,加入********支計算有限公司,負責雲計算安全、反網路欺詐等工作,是********集團最具價值的安全專家。長期專注於安全技術的創新與實踐,多有建樹。同時還是owasp在中國的區域負責人之一,在互聯網安全領域有著極其豐富的經驗。平時樂於分享,個人博客的訪問量迄今超過200萬。多年來活躍在安全社區中,有著巨大的影響力。多次受邀在國內、國際安全會議上演講,是中國安全行業的領軍人物之一。
白帽子講web安全 目錄:
第一篇 世界觀安全
第1章 我的安全世界觀 2
1.1 web安全簡史 2
1.1.1 中國黑客簡史 2
1.1.2 黑客技術的發展歷程 3
1.1.3 web安全的興起 5
1.2 黑帽子,白帽子 6
1.3 返璞歸真,揭秘安全的本質 7
1.4 破除迷信,沒有銀彈 9
1.5 安全三要素 10
1.6 如何實施安全評估 11
1.6.1 資產等級劃分 12
1.6.2 威脅分析 13
1.6.3 風險分析 14
1.6.4 設計安全方案 15
1.7 白帽子兵法 16
1.7.1 secure by default原則 16
1.7.2 縱深防禦原則 18
1.7.3 數據與代碼分離原則 19
.1.7.4 不可預測性原則 21
1.8 小結 22
(附)誰來為漏洞買單? 23
第二篇 客戶端腳本安全
第2章 瀏覽器安全 26
2.1 同源策略 26
2.2 瀏覽器沙箱 30
2.3 惡意網址攔截 33
2.4 高速發展的瀏覽器安全 36
2.5 小結 39
第3章 跨站腳本攻擊(xss) 40
3.1 xss簡介 40
3.2 xss攻擊進階 43
3.2.1 初探xss payload 43
3.2.2 強大的xss payload 46
3.2.3 xss 攻擊平台 62
3.2.4 終極武器:xss worm 64
3.2.5 調試javascript 73
3.2.6 xss構造技巧 76
3.2.7 變廢為寶:mission impossible 82
3.2.8 容易被忽視的角落:flash xss 85
3.2.9 真的高枕無憂嗎:javascript開發框架 87
3.3 xss的防禦 89
3.3.1 四兩撥千斤:httponly 89
3.3.2 輸入檢查 93
3.3.3 輸出檢查 95
3.3.4 正確地防禦xss 99
3.3.5 處理富文本 102
3.3.6 防禦dom based xss 103
3.3.7 換個角度看xss的風險 107
3.4 小結 107
第4章 跨站點請求偽造(csrf) 109
4.1 csrf簡介 109
4.2 csrf進階 111
4.2.1 瀏覽器的cookie策略 111
4.2.2 p3p頭的副作用 113
4.2.3 get? post? 116
4.2.4 flash csrf 118
4.2.5 csrf worm 119
4.3 csrf的防禦 120
4.3.1 驗證碼 120
4.3.2 referer check 120
4.3.3 anti csrf token 121
4.4 小結 124
第5章 點擊劫持(clickjacking) 125
5.1 什麼是點擊劫持 125
5.2 flash點擊劫持 127
5.3 圖片覆蓋攻擊 129
5.4 拖拽劫持與數據竊取 131
5.5 clickjacking 3.0:觸屏劫持 134
5.6 防禦clickjacking 136
5.6.1 frame busting 136
5.6.2 x-frame-options 137
5.7 小結 138
第6章 html 5 安全 139
6.1 html 5新標簽 139
6.1.1 新標簽的xss 139
6.1.2 iframe的sandbox 140
6.1.3 link types: noreferrer 141
6.1.4 canvas的妙用 141
6.2 其他安全問題 144
6.2.1 cross-origin resource sharing 144
6.2.2 postmessage——跨窗口傳遞消息 146
6.2.3 web storage 147
6.3 小結 150
第三篇 伺服器端應用安全
第7章 注入攻擊 152
7.1 sql注入 152
7.1.1 盲注(blind injection) 153
7.1.2 timing attack 155
7.2 資料庫攻擊技巧 157
7.2.1 常見的攻擊技巧 157
7.2.2 命令執行 158
7.2.3 攻擊存儲過程 164
7.2.4 編碼問題 165
7.2.5 sql column truncation 167
7.3 正確地防禦sql注入 170
7.3.1 使用預編譯語句 171
7.3.2 使用存儲過程 172
7.3.3 檢查數據類型 172
7.3.4 使用安全函數 172
7.4 其他注入攻擊 173
7.4.1 xml注入 173
7.4.2 代碼注入 174
7.4.3 crlf注入 176
7.5 小結 179
第8章 文件上傳漏洞 180
8.1 文件上傳漏洞概述 180
8.1.1 從fckeditor文件上傳漏洞談起 181
8.1.2 繞過文件上傳檢查功能 182
8.2 功能還是漏洞 183
8.2.1 apache文件解析問題 184
8.2.2 iis文件解析問題 185
8.2.3 php cgi路徑解析問題 187
8.2.4 利用上傳文件釣魚 189
8.3 設計安全的文件上傳功能 190
8.4 小結 191
第9章 認證與會話管理 192
9.1 who am i? 192
9.2 密碼的那些事兒 193
9.3 多因素認證 195
9.4 session與認證 196
9.5 session fixation攻擊 198
9.6 session保持攻擊 199
9.7 單點登錄(sso) 201
9.8 小結 203
第10章 訪問控制 205
10.1 what can i do? 205
10.2 垂直許可權管理 208
10.3 水平許可權管理 211
10.4 oauth簡介 213
10.5 小結 219
第11章 加密演算法與隨機數 220
11.1 概述 220
11.2 stream cipher attack 222
11.2.1 reused key attack 222
11.2.2 bit-flipping attack 228
11.2.3 弱隨機iv問題 230
11.3 wep破解 232
11.4 ecb模式的缺陷 236
11.5 padding oracle attack 239
11.6 密鑰管理 251
11.7 偽隨機數問題 253
11.7.1 弱偽隨機數的麻煩 253
11.7.2 時間真的隨機嗎 256
11.7.3 破解偽隨機數演算法的種子 257
11.7.4 使用安全的隨機數 265
11.8 小結 265
(附)understanding md5 length extension attack 267
第12章 web框架安全 280
12.1 mvc框架安全 280
12.2 模板引擎與xss防禦 282
12.3 web框架與csrf防禦 285
12.4 http headers管理 287
12.5 數據持久層與sql注入 288
12.6 還能想到什麼 289
12.7 web框架自身安全 289
12.7.1 struts 2命令執行漏洞 290
12.7.2 struts 2的問題補丁 291
12.7.3 spring mvc命令執行漏洞 292
12.7.4 django命令執行漏洞 293
12.8 小結 294
第13章 應用層拒絕服務攻擊 295
13.1 ddos簡介 295
13.2 應用層ddos 297
13.2.1 cc攻擊 297
13.2.2 限制請求頻率 298
13.2.3 道高一尺,魔高一丈 300
13.3 驗證碼的那些事兒 301
13.4 防禦應用層ddos 304
13.5 資源耗盡攻擊 306
13.5.1 slowloris攻擊 306
13.5.2 http post dos 309
13.5.3 server limit dos 310
13.6 一個正則引發的血案:redos 311
13.7 小結 315
第14章 php安全 317
14.1 文件包含漏洞 317
14.1.1 本地文件包含 319
14.1.2 遠程文件包含 323
14.1.3 本地文件包含的利用技巧 323
14.2 變數覆蓋漏洞 331
14.2.1 全局變數覆蓋 331
14.2.2 extract()變數覆蓋 334
14.2.3 遍歷初始化變數 334
14.2.4 import_request_variables變數覆蓋 335
14.2.5 parse_str()變數覆蓋 335
14.3 代碼執行漏洞 336
14.3.1 「危險函數」執行代碼 336
14.3.2 「文件寫入」執行代碼 343
14.3.3 其他執行代碼方式 344
14.4 定製安全的php環境 348
14.5 小結 352
第15章 web server配置安全 353
15.1 apache安全 353
15.2 nginx安全 354
15.3 jboss遠程命令執行 356
15.4 tomcat遠程命令執行 360
15.5 http parameter pollution 363
15.6 小結 364
第四篇 互聯網公司安全運營
第16章 互聯網業務安全 366
16.1 產品需要什麼樣的安全 366
16.1.1 互聯網產品對安全的需求 367
16.1.2 什麼是好的安全方案 368
16.2 業務邏輯安全 370
16.2.1 永遠改不掉的密碼 370
16.2.2 誰是大贏家 371
16.2.3 瞞天過海 372
16.2.4 關於密碼取迴流程 373
16.3 賬戶是如何被盜的 374
16.3.1 賬戶被盜的途徑 374
16.3.2 分析賬戶被盜的原因 376
16.4 互聯網的垃圾 377
16.4.1 垃圾的危害 377
16.4.2 垃圾處理 379
16.5 關於網路釣魚 380
16.5.1 釣魚網站簡介 381
16.5.2 郵件釣魚 383
16.5.3 釣魚網站的防控 385
16.5.4 網購流程釣魚 388
16.6 用戶隱私保護 393
16.6.1 互聯網的用戶隱私挑戰 393
16.6.2 如何保護用戶隱私 394
16.6.3 do-not-track 396
16.7 小結 397
(附)麻煩的終結者 398
第17章 安全開發流程(sdl) 402
17.1 sdl簡介 402
17.2 敏捷sdl 406
17.3 sdl實戰經驗 407
17.4 需求分析與設計階段 409
17.5 開發階段 415
17.5.1 提供安全的函數 415
17.5.2 代碼安全審計工具 417
17.6 測試階段 418
17.7 小結 420
第18章 安全運營 422
18.1 把安全運營起來 422
18.2 漏洞修補流程 423
18.3 安全監控 424
18.4 入侵檢測 425
18.5 緊急響應流程 428
18.6 小結 430
(附)談談互聯網企業安全的發展方向 431
6. 白帽子講Web安全的目錄
《白帽子講web安全》第一篇 世界觀安全第1章 我的安全世界觀 21.1 web安全簡史 21.1.1 中國黑客簡史 21.1.2 黑客技術的發展歷程 31.1.3 web安全的興起 51.2 黑帽子,白帽子 61.3 返璞歸真,揭秘安全的本質 71.4 破除迷信,沒有銀彈 91.5 安全三要素 101.6 如何實施安全評估 111.6.1 資產等級劃分 121.6.2 威脅分析 131.6.3 風險分析 141.6.4 設計安全方案 151.7 白帽子兵法 161.7.1 secure by default原則 161.7.2 縱深防禦原則 181.7.3 數據與代碼分離原則 19.1.7.4 不可預測性原則 211.8 小結 22(附)誰來為漏洞買單? 23第二篇 客戶端腳本安全第2章 瀏覽器安全 262.1 同源策略 262.2 瀏覽器沙箱 302.3 惡意網址攔截 332.4 高速發展的瀏覽器安全 362.5 小結 39第3章 跨站腳本攻擊(xss) 403.1 xss簡介 403.2 xss攻擊進階 433.2.1 初探xss payload 433.2.2 強大的xss payload 463.2.3 xss 攻擊平台 623.2.4 終極武器:xss worm 643.2.5 調試javascript 733.2.6 xss構造技巧 763.2.7 變廢為寶:mission impossible 823.2.8 容易被忽視的角落:flash xss 853.2.9 真的高枕無憂嗎:javascript開發框架 873.3 xss的防禦 893.3.1 四兩撥千斤:httponly 893.3.2 輸入檢查 933.3.3 輸出檢查 953.3.4 正確地防禦xss 993.3.5 處理富文本 1023.3.6 防禦dom based xss 1033.3.7 換個角度看xss的風險 1073.4 小結 107第4章 跨站點請求偽造(csrf) 1094.1 csrf簡介 1094.2 csrf進階 1114.2.1 瀏覽器的cookie策略 1114.2.2 p3p頭的副作用 1134.2.3 get? post? 1164.2.4 flash csrf 1184.2.5 csrf worm 1194.3 csrf的防禦 1204.3.1 驗證碼 1204.3.2 referer check 1204.3.3 anti csrf token 1214.4 小結 124第5章 點擊劫持(clickjacking) 1255.1 什麼是點擊劫持 1255.2 flash點擊劫持 1275.3 圖片覆蓋攻擊 1295.4 拖拽劫持與數據竊取 1315.5 clickjacking 3.0:觸屏劫持 1345.6 防禦clickjacking 1365.6.1 frame busting 1365.6.2 x-frame-options 1375.7 小結 138第6章 html 5 安全 1396.1 html 5新標簽 1396.1.1 新標簽的xss 1396.1.2 iframe的sandbox 1406.1.3 link types: noreferrer 1416.1.4 canvas的妙用 1416.2 其他安全問題 1446.2.1 cross-origin resource sharing 1446.2.2 postmessage——跨窗口傳遞消息 1466.2.3 web storage 1476.3 小結 150第三篇 伺服器端應用安全第7章 注入攻擊 1527.1 sql注入 1527.1.1 盲注(blind injection) 1537.1.2 timing attack 1557.2 資料庫攻擊技巧 1577.2.1 常見的攻擊技巧 1577.2.2 命令執行 1587.2.3 攻擊存儲過程 1647.2.4 編碼問題 1657.2.5 sql column truncation 1677.3 正確地防禦sql注入 1707.3.1 使用預編譯語句 1717.3.2 使用存儲過程 1727.3.3 檢查數據類型 1727.3.4 使用安全函數 1727.4 其他注入攻擊 1737.4.1 xml注入 1737.4.2 代碼注入 1747.4.3 crlf注入 1767.5 小結 179第8章 文件上傳漏洞 1808.1 文件上傳漏洞概述 1808.1.1 從fckeditor文件上傳漏洞談起 1818.1.2 繞過文件上傳檢查功能 1828.2 功能還是漏洞 1838.2.1 apache文件解析問題 1848.2.2 iis文件解析問題 1858.2.3 php cgi路徑解析問題 1878.2.4 利用上傳文件釣魚 1898.3 設計安全的文件上傳功能 1908.4 小結 191第9章 認證與會話管理 1929.1 who am i? 1929.2 密碼的那些事兒 1939.3 多因素認證 1959.4 session與認證 1969.5 session fixation攻擊 1989.6 session保持攻擊 1999.7 單點登錄(sso) 2019.8 小結 203第10章 訪問控制 20510.1 what can i do? 20510.2 垂直許可權管理 20810.3 水平許可權管理 21110.4 oauth簡介 21310.5 小結 219第11章 加密演算法與隨機數 22011.1 概述 22011.2 stream cipher attack 22211.2.1 reused key attack 22211.2.2 bit-flipping attack 22811.2.3 弱隨機iv問題 23011.3 wep破解 23211.4 ecb模式的缺陷 23611.5 padding oracle attack 23911.6 密鑰管理 25111.7 偽隨機數問題 25311.7.1 弱偽隨機數的麻煩 25311.7.2 時間真的隨機嗎 25611.7.3 破解偽隨機數演算法的種子 25711.7.4 使用安全的隨機數 26511.8 小結 265(附)understanding md5 length extension attack 267第12章 web框架安全 28012.1 mvc框架安全 28012.2 模板引擎與xss防禦 28212.3 web框架與csrf防禦 28512.4 http headers管理 28712.5 數據持久層與sql注入 28812.6 還能想到什麼 28912.7 web框架自身安全 28912.7.1 struts 2命令執行漏洞 29012.7.2 struts 2的問題補丁 29112.7.3 spring mvc命令執行漏洞 29212.7.4 django命令執行漏洞 29312.8 小結 294第13章 應用層拒絕服務攻擊 29513.1 ddos簡介 29513.2 應用層ddos 29713.2.1 cc攻擊 29713.2.2 限制請求頻率 29813.2.3 道高一尺,魔高一丈 30013.3 驗證碼的那些事兒 30113.4 防禦應用層ddos 30413.5 資源耗盡攻擊 30613.5.1 slowloris攻擊 30613.5.2 http post dos 30913.5.3 server limit dos 31013.6 一個正則引發的血案:redos 31113.7 小結 315第14章 php安全 31714.1 文件包含漏洞 31714.1.1 本地文件包含 31914.1.2 遠程文件包含 32314.1.3 本地文件包含的利用技巧 32314.2 變數覆蓋漏洞 33114.2.1 全局變數覆蓋 33114.2.2 extract()變數覆蓋 33414.2.3 遍歷初始化變數 33414.2.4 import_request_variables變數覆蓋 33514.2.5 parse_str()變數覆蓋 33514.3 代碼執行漏洞 33614.3.1 「危險函數」執行代碼 33614.3.2 「文件寫入」執行代碼 34314.3.3 其他執行代碼方式 34414.4 定製安全的php環境 34814.5 小結 352第15章 web server配置安全 35315.1 apache安全 35315.2 nginx安全 35415.3 jboss遠程命令執行 35615.4 tomcat遠程命令執行 36015.5 http parameter pollution 36315.6 小結 364第四篇 互聯網公司安全運營第16章 互聯網業務安全 36616.1 產品需要什麼樣的安全 36616.1.1 互聯網產品對安全的需求 36716.1.2 什麼是好的安全方案 36816.2 業務邏輯安全 37016.2.1 永遠改不掉的密碼 37016.2.2 誰是大贏家 37116.2.3 瞞天過海 37216.2.4 關於密碼取迴流程 37316.3 賬戶是如何被盜的 37416.3.1 賬戶被盜的途徑 37416.3.2 分析賬戶被盜的原因 37616.4 互聯網的垃圾 37716.4.1 垃圾的危害 37716.4.2 垃圾處理 37916.5 關於網路釣魚 38016.5.1 釣魚網站簡介 38116.5.2 郵件釣魚 38316.5.3 釣魚網站的防控 38516.5.4 網購流程釣魚 38816.6 用戶隱私保護 39316.6.1 互聯網的用戶隱私挑戰 39316.6.2 如何保護用戶隱私 39416.6.3 do-not-track 39616.7 小結 397(附)麻煩的終結者 398第17章 安全開發流程(sdl) 40217.1 sdl簡介 40217.2 敏捷sdl 40617.3 sdl實戰經驗 40717.4 需求分析與設計階段 40917.5 開發階段 41517.5.1 提供安全的函數 41517.5.2 代碼安全審計工具 41717.6 測試階段 41817.7 小結 420第18章 安全運營 42218.1 把安全運營起來 42218.2 漏洞修補流程 42318.3 安全監控 42418.4 入侵檢測 42518.5 緊急響應流程 42818.6 小結 430(附)談談互聯網企業安全的發展方向 431· · · · · ·
7. 白帽子講Web安全的作者簡介
簡介:吳翰清,人稱道哥,中國年輕一代頂級黑客,阿里雲首席安全科學家。
吳翰清於 2005 年加入阿里,參與創建了阿里巴巴、淘寶、支付寶、阿里雲的應用安全體系。23 歲成為阿里巴巴最年輕的高級技術專家,是阿里安全從無到有、從有到強的親歷者。 安全寶副總裁,前阿里巴巴集團高級安全專家、資深總監。
畢業於西安交通大學少年班,從2000年開始研究網路攻防技術。在大學期間創立了在中國安全圈內極具影響力的組織「幻影」。2005年加入阿里巴巴,負責網路安全。工作期間,對阿里巴巴的安全開發流程、應用安全建設做出了傑出的貢獻,並多次獲得公司的表彰。
曾先後幫助淘寶、支付寶建立了應用安全體系,保障公司業務得以快速而安全地發展。2009年起,加入阿里巴巴雲計算有限公司,負責雲計算安全、反網路欺詐等工作,是阿里巴巴集團最具價值的安全專家。
(7)白帽講web安全解讀擴展閱讀
《白帽子講Web安全》
內容簡介:在互聯網時代,數據安全與個人隱私受到了前所未有的挑戰,各種新奇的攻擊技術層出不窮。如何才能更好地保護我們的數據?本書將帶你走進Web安全的世界,讓你了解Web安全的方方面面。黑客不再變得神秘,攻擊技術原來我也可以會,小網站主自己也能找到正確的安全道路。大公司是怎麼做安全的,為什麼要選擇這樣的方案呢?你能在本書中找到答案。詳細的剖析,讓你不僅能「知其然」,更能「知其所以然」。
8. 想成為白帽子需要學些什麼最近在看《白帽子講web安全》,可是發現自己看不懂,學校有在學web編程
1、學習基本的網路編程語言,比如html
2、學習腳本編程語言,比如python,js
2、學習網路協議,主要是應用層協議http等
3、學習了以上三點之後,繼續學習掌握基本的web攻擊手段和防護原理,可參考刺總的《白帽子講web安全》
4、了解滲透流程,比如踩點、嗅探等
5、熟悉主流web滲透工具,建議可以安裝kali操作系統,裡面都有集成
希望對你有幫助。
9. 《白帽子講Web安全》pdf下載在線閱讀,求百度網盤雲資源
《白帽子講Web安全》(吳翰清)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:https://pan..com/s/1H6cnKOPSE6oeI5CjPceG0g 提取碼:6q7e
書名:白帽子講Web安全
作者:吳翰清
豆瓣評分:8.2
出版社:電子工業出版社
出版年份:2012-3
頁數:432
內容簡介:
《白帽子講Web安全》內容簡介:在互聯網時代,數據安全與個人隱私受到了前所未有的挑戰,各種新奇的攻擊技術層出不窮。如何才能更好地保護我們的數據?《白帽子講Web安全》將帶你走進Web安全的世界,讓你了解Web安全的方方面面。黑客不再變得神秘,攻擊技術原來我也可以會,小網站主自己也能找到正確的安全道路。大公司是怎麼做安全的,為什麼要選擇這樣的方案呢?你能在《白帽子講Web安全》中找到答案。詳細的剖析,讓你不僅能「知其然」,更能「知其所以然」。
作者簡介:
吳翰清,畢業於西安交通大學少年班,從2000年開始研究網路攻防技術。在大學期間創立了在中國安全圈內極具影響力的組織「幻影」。
10. 大一網路工程專業想學習網路安全,如何學習
可以按照以下五部分來一個一個學習,這些知識可以在B站、相應的大學的公開課可以學得到。
第①部分:包括安全導論、安全法律法規、操作系統應用、計算機網路、HTML&JS、PHP編程、Python編程和Docker基礎知識。讓初級入門的人員對網路安全基礎有所了解。
第②部分:關於Web安全。包含Web安全概述、Web安全基礎、Web安全漏洞及防禦和企業Web安全防護策略方面的安全知識。讓初學者入門學習Web安全知識。
第③部分:關於滲透測試。這個階段包括的內容有,滲透測試概述、滲透測試環境搭建、滲透測試工具使用、信息收集與社工技巧、Web滲透、中間件滲透和內網滲透等知識。
第④部分:關於代碼審計。包括了代碼審計概述、PHP代碼審計、Python代碼審計、Java代碼審計、C/C++代碼審計和代碼審計實戰的知識,深入學習各類代碼審計的知識。
第⑤部分:關於安全加固。這個階段的學習,可以深入學習網路協議安全、密碼學及應用、操作系統安全配置等方面的重要知識點。