破關
  • 電子書
Web開發者一定要懂的駭客攻防術 (電子書)
試閱
收藏試閱本 60
人收藏
適合平板

Web開發者一定要懂的駭客攻防術 (電子書)

Web Security for Developers: Real Threats, Practical Defense

  • 定價:420
載入中...

電子書閱讀軟體

支援瀏覽器說明

APP下載:

  • 分享
 

內容簡介

  網頁系統(Web)的生態已讓人難以想像,原以為網際網路是由專家精心設計而成,它所處理的一切事物都充滿理性,事實上,它的發展過程是高速而隨性的,現今,人們在網際網路的所作所為已遠遠超出原創者的預想。 
 
  維護網站安全似乎成了艱鉅任務。網站是一種獨特的應用軟體,能夠即時向數百萬名使用者發布訊息,這些使用者也包括積極活動的駭客們。大公司時常會遭受資安危害,每週都有新的資料外洩事件,面對這種情況,孤獨的Web開發人員要如何保護自己呢?本書會提供開發人員必須知道的重要威脅,並按部就班說明防禦攻擊的實際步驟。 
 
  本書將告訴您駭客是如何攻擊您的網站,同時告訴您如何進行防禦措施。每個安全漏洞都以一個專章進行探討,並以真實世紀的案例作為說明,告訴您如何漏洞所在以及如何進行修補。熟習本書所介紹的攻防手法,可以幫助您開發出更加安全、滴水不漏的系統,成為一位更加優秀的開發人員。 
 
  透過本書,您將可以了解: 
  .如何預防SQL注入攻擊、惡意JavaScript和偽造的跨站請求。 
  .如何利用認證機制以及存取權限的管理更有效地保護帳號。 
  .如何鎖定使用者帳戶,防止依靠猜測密碼、竊取會話或升級權限的攻擊。 
  .加密的實作方法 
  .如何管理古老系統中的漏洞 
  .如何預防訊息洩露造成的漏洞洩漏 
  .如何防堵惡意廣告和拒絕服務之類的攻擊手法 
 

作者介紹

作者簡介
 
Malcolm McDonald
 
  Malcolm McDonald擁有20年以上為金融機構和新創企業撰寫程式的經驗,憑藉領導團隊開發系統的心得,以淺顯易懂的文字,發表有關漏洞利用及安全防範的教學資訊。他所經營的安全程式培訓網站hacksplaining.com,極受Web開發人員歡迎。
 

目錄

第1章:入侵網站 
從本章的說明,讀者應該能體認入侵網站其實沒有想像中困難。真的!就是那麼容易,所以這本書很值得你購買。 

第2章:網際網路的運作原理 
網際網路是依靠網際網路協定(IP)運行,IP是由一系列網路技術組成,讓全球電腦可以無縫通訊,本章會介紹TCP協定、IP位址、網域名稱和HTTP等觀念,並說明資料如何在網路上安全傳輸。 

第3章:瀏覽器的運作原理 
瀏覽器是使用者與網站互動的媒介,而它本身也存在許多安全弱點,本章會說明瀏覽器如何呈現網頁,以及如何在安全模型裡執行JavaScript程式碼。 

第4章:伺服器的運作原理 
為網頁所撰寫的多數程式碼都是在Web伺服器上執行的,Web伺服器是駭客的主要攻擊目標,本章會說明Web伺服器如何供應靜態內容,以及如何透過動態內容(如前面提到的網頁模板檔)合併資料庫及其他系統所提供的資料,也會學到一些用於編寫Web系統的主要語言,以及各語言的安全應用考量。 

第5章:程式設計師如何開發WEB系統 
本章會介紹開發網站應用系統的程式,以及如何養成減少程錯誤和降低安全弱點的良好習慣。 

第6章:注入攻擊 
本章將藉由可能遇到的一種難纏威脅,開始進行網站漏洞調查之旅。這個弱點讓駭客能夠注入程式碼,並被伺服器執行,當網頁應用程式會與SQL資料庫或作業系統互動時,就極可能發生此弱點,攻擊結果也可能在Web伺服器注入遠端程式碼。另外,還會看到駭客如何利用檔案上傳功能注入惡意腳本。 

第7章:跨站腳本攻擊 
本章檢視惡意的JavaScript如何在瀏覽器環境發動攻擊,以及對這些攻擊的防範之道。跨站腳本(XSS)攻擊有三種不同類型:儲存型、反射型和DOM型,本章針對不同類型的XSS提供對應的防制方法。 

第8章:跨站請求偽造攻擊 
在本章將看到駭客如何利用偽造的請求,誘騙使用者執行非自主意願的動作,這是網際網路上的常見問題行為,網站擁有者有責任保護你的用戶。 

第9章:攻擊身分驗證機制 
如果使用者登入網站,網站就必須負起保護帳戶安全的責任。本章說明駭客用來突破登入頁面限制的各種手法,從暴力猜測密碼到帳號枚舉等,也會介紹如何安全地將使用者的身分憑據儲存在資料庫中。 

第10章:連線狀態劫持 
本章探討如何劫持已登入系統的帳戶,並學習如何藉由網站組態及Cookie安全來降低這種攻擊的影響。 

第11章:規避權限管理 
本章討論駭客藉由提權(privilege escalation)來存取受管制區域的手段,尤其是透過URL參照檔案的情境,駭客會嘗試透過目錄遍歷來探索網站的檔案系統。當然,筆者也會說明防範這類攻擊的技巧。 

第12章:資訊洩漏 
資訊洩漏可能會暴露出網站裡的漏洞,本章將提供阻止資訊外洩的方法。 

第13章:加解密機制 
本章說明如何正確使用加解密機制,以及此機制對網際網路的重要性,這裡會涉及一些數學原理。 

第14章:第三方元件 
在本章可學到如何管理第三方程式碼的漏洞。我們所執行的程式,有一大部分是由其他人所編寫的,應該要知道如何確保它的安全性! 

第15章:XML攻擊 
如果Web伺服器會解析XML,就可能遭受本章所提及的攻擊手法,幾十年來,XML攻擊一直是受駭客們愛用的攻擊向量,絕對不能掉以輕心! 

第16章:不要成為幫兇 
正如本章所敘述的情況,你可能在無意中成為駭客攻擊他人的幫兇,想要成為優良的網際網路公民,須確保已修補自家系統的安全漏洞。 

第17章:阻斷服務攻擊 
本章介紹如何利用龐大流量讓網站呈現離線狀態,以達成阻斷服務(DoS)的目的。 

第18章:總複習 
最後一章是一份備忘清單,提供快速複習書中所學的安全重點及須牢記的高階安全準則,可做為每日睡前用心背誦的重點筆記。 
 

詳細資料

  • ISBN:9789865027407
  • EISBN:9789865028503
  • 規格:普通級 / 初版
  • 出版地:台灣
  • 檔案格式:EPUB固定版型
  • 建議閱讀裝置:平板
  • TTS語音朗讀功能:無
  • 檔案大小:56.1MB

會員評鑑

5
1人評分
|
1則書評
|
立即評分
user-img
5.0
|
2023/08/07
劇透警告
在工作上一直都是擔任後端應用的職務,即便是目前負責的大數據與推薦引擎,依舊是歸屬在後端運算的範疇。然而在Web/HTTP影響力與日俱增的大環境下,單單開發一個API也擺脫不掉SOAP/REST這樣依附在HTTP協定的軟體架構風格。因此針對Web的安全性議題,是不分前、後端工程師都得認真學習、思考的核心知識。Web開發者一定要懂的駭客攻防術是一本堪稱完美的Web資安入門書,流暢又精確的文字內容,在資訊類型的書中相當罕見(IT類型的書多半文字用詞繞口,也會有一兩個勘誤)。全書分成必要的基礎知識和常見威脅兩部份,很完整又詳細地解說,Web應用程式是什麼?有哪些常見的漏洞?(更重要的是)如何防止哪些漏洞?

雖然駭客攻擊聽起來總是神秘莫測,令人聯想到諜報電影裡相當高上大的設備與工具。但比較落地的實情是,多數讓駭客入侵成功的程式漏洞,總數加起來不會超過手指數量(小提醒,是十)。這些可以一一細數的程式瑕疵,造成這麼多企業、個人的財務損失,起因常常是開發團隊沒有能力處理(知識不足)或低估資安漏洞的嚴重性。藉由研讀Web開發者一定要懂的駭客攻防術,足於讓從業人員認識、理解Web開發時應留意的重點,進而打造出有高防禦力的Web應用。想若所有開發者都被要求要通過此書提及的漏洞攻防國家測驗,才能從事Web程式開發職務(類似駕照考試),網路世界在這群有著資安DNA的工程師們推動之下,相信未來駭客產業將會大受打擊。

下列心得就針對第二部份常見威脅的內容,進行概略的重點整理,也方便未來回過頭來查閱。

1.注入攻擊
起因:
 程式中使用SQL語法查詢資料庫;程式中執行作業系統指令。
手法:
 利用外部可以輸入的介面或檔案上傳功能,將攻擊用的字串與檔案(WebShell)傳送到程式主機,並觸發予以攻擊
防止:
 SQL注入:唯一作法是採用參數化語句或是ORM技術。如果無法修改程式,至少要做到最小權限原則,讓程式只擁有最少的必要權限,將傷害減到最低。
 避免傳回暴露過多資訊的傳回值,例如此帳號不存在,而是採用模糊的回應,例如找不到此帳號和密碼。
 命令注入:如果無法避免支援執行作業系統指令的功能,一定要將控制字元轉義,並採用白名單限制可以被執行的命令。
 遠端程式碼執行:不要直接使用未經檢查的序列化/反序列化的資料來當輸入值,並留意伺服器軟體的漏洞,以即時修補。
 檔案上傳漏洞:最好直接將檔案放在CDN雲端服務中,將風險轉移到雲端業者。不然就確保上傳的檔案無法被執行(無執行權),並進行強制的檔案轉製(圖檔/文字檔)。

2.跨腳本攻擊(XSS)
起因:
 程式中有接受外部輸入的進入點,卻沒有將HTML控制字元轉義。
手法:
 儲存型XSS:將惡意JavaScript藉由輸入功能(例如FB、留言板),儲存到系統資料庫中。
 反射型XSS:將惡意JavaScript藉由輸入參數加在電子郵件/網頁的超連結中,誘使受害者點擊。
 DOM型XSS:將惡意JavaScript加在URL中的URI片段中,讓沒有防護JavaScript前端程式(網站本身的程式碼)誤讀並執行惡意功能。
防止:
 一律將外部輸入值進行HTML字元轉義,特別是"&'<>等控制符號。
 使用內容安全原則(CSP)HTTP回應標頭功能,可指定只允許同站台與apis.google.com的JavaScript來源([removed]),不允許內聯(inline)的JavaScript,設定方法如下:
 Content-Security-Policy: script-src 'self' https://apis.google.com
 也可以用HTTP &lt;meta&gt;標題來設定,方法如下:
 &lt;meta http-content="Content-Security-Policy" content="script-src" 'self' https://apis.google.com"&gt;
 DOM型XSS:在使用URL字串時,都要進行控制字元轉義。

3.跨站請求偽造攻擊(CSRF)
起因:
 HTTP的Cookie預設行為,是在任何請求中都會帶回指定URL同一Domain的Cookie值。
手法:
 藉由惡意超連結,讓受害者對未防護的網站執行本人未同意的操作。
防止:
 開發網站程式時要遵守REST原則,HTTP GET只用來讀取資料,不能用來新增、修改和刪除資料。
 啟動網站伺服器或軟體框架裡的防CSRF Cookie功能。
 設定Cookie為SameSite=Strict,確保同Domain的請求才能一併附帶Cookie資料
 Set-Cookie: _xsrf=5978e29d4ef434a1; SameSite=Strict;
 較寬鬆的設定是SameSite=Lax,允許GET請求可以不限定來源Domain,都會附帶Cookie資料(適用於「分享」功能),其它請求一樣限定同Domain。
 Set-Cookie: _xsrf=5978e29d4ef434a1; SameSite=Lax;
 對於敏感操作要求重複登入以驗證身份

4.攻擊身份驗證機制
起因:
 駭客直接以假身份操作網站系統
手法:
 暴力破解或暗網名單
防止:
 使用多因子身份驗證機制(MFA)
 實作安全的登出功能,將session Cookie清除

5.連線狀態劫持
起因:
 利用Cookie來保持連線狀態(session),卻沒有完善保護Cookie。
手法:
 駭客取得使用者的session id或session狀態,藉以偽裝成使用者的身份進行操作。
防止:
 竊取Cookie:將Cookie設定如下。HttpOnly能讓JavaScript無法讀取Cookie,Secure確保只能在HTTPS時傳送Cookie,SameSite=Lax能避免CSRF攻擊。
 Set-Cookie: session_id=278283910977381992837; HttpOnly; Secure; SameSite=Lax
 Session定置:一律不使用「URL改寫」來傳遞session id。
 脆弱Session ID:避免使用流水號式的Session ID設計,並留意Web伺服器在Session ID實作的漏洞公告。

6.規避權限管制
起因:
 系統在權限設計或目錄規劃上有缺失。
手法:
 駭客利用系統的缺失得以執行未經授權的操作或是取得未經授權的檔案。
防止:
 實作嚴謹的以角色為基礎的存取控制,避免任何垂直提權(執行高一級的操作)和水平提權(以他人身份執行操作)的攻擊。
 增加稽核軌跡。
 避免使用任何過於直覺的URL路徑與參數設計。例如/reports/<公司名稱>/<月份-年度,讓駭客能猜測到合法路徑。
 確切設定Web伺服器,不允許顯示目錄內容、不允許利用相對路徑指定父目錄中的檔案。
 不要直接引用檔案,要自行維護一組暗碼代號用以連結到主機上的實體檔案。
 對任何有關指定檔案位置的外部參數,都要進行最嚴格的安全檢查。

7.資訊洩漏
起因:
 因疏失造成系統將機敏資訊呈現給外部使用者。
手法:
 針對系統進行探索式操作,以收集可用來進行後續攻擊的機敏資訊。
防止:
 不使用系統預設的回應標題(像預設的4xx、5xx頁面)。
 使用未帶程式副檔名(.php、jsp、aspx)的簡潔URL。
 Cookie的健值不要用預設值(JESSIONID)。
 不要在正式環境中顯示詳細的錯誤描述。
 壓縮或模糊化JavaScript程式。
 清理前端程式中不必要的註解和程式碼。

8.加解密機制
起因:
 未使用加密通訊協定。
手法:
 竊聽網路封包。
防止:
 一律使用HTTPS。

9.第三方元件
起因:
 使用到不安全的第三方元件。
手法:
 針對已知的元件漏洞攻擊。
防止:
 留意第三方元件安全公告,及時更新。
 保護好第三方服務的系統金鑰。

10.XML攻擊
起因:
 DTD的設計漏洞。
手法:
 藉由內聯的DTD宣告,讓系統主機資源耗盡。
 在DTD宣告外聯以下載惡意檔案。
 利用XML解析失敗時會顯示檔案內容的特性,指定主機上的機敏檔案。
防止:
 關閉DTD內聯功能。
 設定防火牆限制外聯對象。
 盡量不使用XML,非得使用時要再三確保XML解析器的安全設定已就位。
展開

最近瀏覽

 

相關活動

  • 【科普、飲食、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

使用電子書服務即為同意『博客來數位內容服務條款』請詳見客服中心說明。

自備暢通的網際網路連線及符合博客來支援的行動裝置、電腦作為閱讀工具,支援版本如下:

瀏覽器閱讀:無需安裝,即可閱讀。支援Safari (14以上版本)、Chrome (103以上版本) 、Edge瀏覽器 (106以上版本)。

APP閱讀:支援IOS13及Android 7以上系統。

電子書、 電子雜誌因版本屬性因素,恕無法比照紙本書籍提供MP3、DVD實體光碟,亦無提供相關影音檔案下載,請先確認無此需求再行下單購買。

請注意:

博客來電子書服務所使用之軟體程式及其支援行動裝置之可用版本隨時會更新調整,請隨時留意且主動查詢調整之內容。並請定時更新您的行動裝置作業系統版本,以確保本服務運作正常。若因個人裝置因素(如:其他應用程式衝突、裝置記憶體不足、行動裝置支援版本無法升級),無法使用博客來電子書閱讀服務或影響服務效能,需自行進行排除待符合博客來支援項目再行閱讀。

退換貨說明:

電子書購買前請務必先行試閱,不提供10天的猶豫期。

下列商品購買後博客來不提供10天的猶豫期,請務必詳閱商品說明並再次確認確有購買該項商品之需求及意願時始下單購買,有任何疑問並請先聯繫博客來客服詢問:

1.易於腐敗、保存期限較短或解約時即將逾期。
2.客製化之商品。
3.報紙、期刊或雜誌。
4.經消費者拆封之影音商品或電腦軟體。
5.下載版軟體、資訊及電子書、有聲書及影音.課程
6.涉及個人衛生,並經消費者拆封之商品,如:內衣褲、刮鬍刀…等。
7.藝文展覽票券、藝文表演票券。

  • 僧
  • 大谷翔平也在用的曼陀羅思考法
  • 台灣鐵路千公里 完全版