讀了《白帽子講 Web 安全》
書名:白帽子講 Web 安全
用時:五天
星級:★★★★半
簡評:這是一本入門級別講解 Web 安全的書。
這本書應該是和《黑客攻防技術寶典:瀏覽器實戰篇》相似的,我最初看了黑客寶典的大概 20%,由於內容偏深,就轉來先看白帽子,相比之下,白帽子更適合對 Web 安全不甚瞭解的小白。
第一篇:Web 安全之白帽子兵法
黑名單與白名單原則
設計安全方案時,最基本最重要的原則就是黑名單與白名單原則,要求我們更多的使用白名單原則,比如預防 XSS 攻擊的字串檢查,應該設計為允許使用 a、img等標籤(白名單),而不是禁止使用 script 等標籤(黑名單)。
縱深防禦原則
這個原則是說要在不同層次不同方面綜合實施對應的安全方案,比如網路環境、資料庫、OS 、Web 應用等不同方面,比如使用者輸入、資料展示等不同層次,考慮若已被入侵怎樣最小化損失。
資料與程式碼分離原則
資料與程式碼高耦合,就非常容易產生注入漏洞,XSS、SQL 等都是因為這個原因。SQL 注入是由於 SQL 語句與使用者資料字串拼接造成,若使用 SQL 引數化查詢(預編譯 SQL)則分離了資料與程式碼。
不可預測性原則
攻擊者經常會通過一些規律找到漏洞,比如 id 順次遞增,攻擊者知道了其中一個 id 就可能會對所有 id 發起攻擊。這時可使用 token、隨機、加密等實現不可預測性。
第二篇:客戶端安全
這一篇主要講了 XSS 、CSRF 、點選劫持 等瀏覽器中三種最常見的攻擊(我是看了黑客寶典的這部分感到非常吃力才轉來看白帽子),詳細而直白,對每種攻擊從攻擊原理、簡單的例子,寫到防禦方案,讀起來很順暢。對 HttpOnly 、CSP 、X-frame-options 、Referer 等一些安全相關的 HTTP 頭部 也有了更深的認識。這一篇也是我最想看到的內容,邊讀邊寫程式碼實踐邊查閱相關資料,很有感覺。
第三篇:伺服器安全
作為前端小白,對於伺服器安全,我會更加不瞭解一些。這一篇引用了較多的 PHP 及其他服務端語言程式碼,但是看懂還是可以的。收穫最大的是學習了認證與授權、DDOS 攻擊、注入攻擊。
認證與授權
在認證與授權這裡,結合阮一峰老師的博文《理解OAuth 2.0》搞明白了 openID 和 OAuth 的區別於聯絡:openID 解決的是認證問題,OAuth 解決的是授權問題。比如我們可以使用微博的 OAuth 授權其他網站訪問個人資料或者發微博,而 openID 表明使用者的唯一標識,使用者可以把 openID 告訴第三方網站,以表明自己是通過微博登陸的。
DDOS 攻擊
最難解決也無法根治的安全問題,DDOS 攻擊的本質是利用合理的請求造成資源過載,進而導致服務不可用。一般的解決方法可以有 限制賬戶頻率、限制 IP 頻率、驗證法等。
SYN Blood
想單獨說一下 SYN Blood。因為最近聽到了一個很好玩的關於面試的問題,是說幾年前面試官一般只問 TCP 的三次握手,後來又問了四次揮手,後來我們都會了,就開始問為什麼需要三次握手?為什麼揮手又需要四次?後來我們又會了,面試官又開始問 TCP 這樣設計有什麼缺陷?當然,終極問法是:如果可以,怎樣改進 TCP 可以解決/稍緩現在的麻煩/缺陷?沒有了解過 TCP 的面試者崩潰中...
言歸正傳,SYN Blood 就是由於客戶端向服務端傳送 SYN 包之後不再應答,服務端返回的 SYN/ACK 包找不到終點,服務端就會重試 3~5 次發包並等待一個 SYN Time(30s ~ 2min),如果同時出現大量這種請求,就會消耗服務端非常多的資源來處理這種“半連線”狀態,於是,出現了伺服器拒絕服務。
現在沒有很好的方案可以杜絕 DDOS 攻擊。可以參考博文:
TCP三次握手和四次揮手以及缺陷(詳細): http://blog.csdn.net/hacker00011000/article/details/52319111
第四篇:網際網路公司安全運營
貼目錄:把安全運營起來、漏洞修補流程、安全監控、入侵檢測、緊急響應流程等
這本書的前三篇滿滿的乾貨,非常值得一看。當然感覺有些內容仍然有所過時(大概 8%?)。另一本去年圖靈出版的新書《黑客攻防技術寶典:瀏覽器實戰篇》相較要稍難一點,但是裡面的內容卻也更新更全面,毛主席說得好,一切都是紙老虎,現在可以去看了 :)
相關文章
- 《白帽子講Web安全》 讀書Web
- 讀《白帽子講web安全》 ——筆記Web筆記
- 《白帽子講web安全》讀書筆記Web筆記
- 《白帽子講WEB安全》學習筆記之第12章WEB框架安全Web筆記框架
- 《白帽子講WEB安全》學習筆記之第18章安全運營Web筆記
- 《白帽子講WEB安全》學習筆記之第7章注入攻擊Web筆記
- 《白帽子講WEB安全》學習筆記之第11章加密演算法與隨機數Web筆記加密演算法隨機
- 《白帽子講WEB安全》學習筆記之第13章應用層拒絕服務攻擊Web筆記
- 【十年測試】烏雲安全白帽子聊聊介面測試
- 網路安全誰來負責白帽子行為界定將有法可依
- 白帽子守護網路安全,高薪酬成大學生就業首選!高薪就業
- python灰帽子講的什麼Python
- 白帽子黑客與網路安全工程師教你:如何使用DMitry域名查詢工具技巧?黑客工程師MIT
- 活動| 白帽子雙十一清空購物車的祕籍...
- 如何成為一名白帽子駭客?千鋒網路安全學科教程限時領取
- 白帽子黑客與網路安全工程師教你 : 搭建FTP滲透測試環境技巧黑客工程師FTP
- 白帽子黑客排行榜:這些中國網路安全公司榮獲微軟等巨頭致謝黑客微軟
- 為什麼“白帽子”會是2017年最好的工作
- 白帽子黑客生存環境變好,頂級人才年入千萬黑客
- 攻陷五角大樓:白帽子在美國防禦系統中發現超100個安全漏洞
- 讀了《JavaScript Web 應用開發》JavaScriptWeb
- 《Web安全開發指南》讀後總結Web
- 《Web應用安全權威指南》讀後有感Web
- 終於有人把Web 3.0和元宇宙講明白了Web元宇宙
- 我用白話+案例給你講講機器學習中的決策樹機器學習
- 恆訊科技講解:如何建立更安全的Web伺服器?Web伺服器
- CSS實現文字打字動畫(+1白話講解)CSS動畫
- Web滲透測試怎麼做:安全專家模擬黑客行為講述了滲透測試的原理Web黑客
- web安全Web
- 白話講IT系列:BI專案建設怎麼做?
- Rails與web安全[Web安全大家談]薦AIWeb
- 讀軟體開發安全之道:概念、設計與實施13Web安全Web
- 終於有人把安全知識圖譜技術講明白了(上篇)
- 讀了這篇文章,你將變身web分析大師Web
- 蘋果的帽子戲法蘋果
- 白話講解函式計算中的角色授權函式
- 年輕人不講武德,竟然想白嫖我的開發神器
- CSS人人都能寫自定義Checkbox(+1白話講解)CSS