軟體測試實務:業界成功案例與高效實踐 II《Chapter 9

從駭客的角度,預防常見的 Web 漏洞

駭客正在覬覦你的資料

知己知彼,提升系統安全,降低珍貴資產的損失。”

踏上 Quality Assurance(以下簡稱 QA)職涯之路以前,我在系統整合商擔任開發工程師的角色。在產品提交給客戶使用後,經常遇到有不預期的 Bug,需要額外的成本來重現問題與提供解決方案。那時就很好奇為何在產品開發完成後,還不斷有新 Bug 產生?於是開始踏上 QA 的職涯之路,幫助產品開發做到更好的品質控管,在提交產品給客戶使用前就能預防 Bug 出現的風險。請參考《軟體測試實務 I》中的【第2章 優秀的 QA 工程師,必須對產品做的事情】,來了解 QA 如何與團隊成員一同合作開發卓越的產品,提高產品的核心價值。

提高產品的核心價值,是 QA 職涯中的重要任務,除此之外,交付給客戶的產品,會不會有漏洞呢?駭客可能會利用常見的 Web 漏洞來入侵網站,這些漏洞通常可以透過簡單的技術手段進行利用,從而取得非法的訪問權限,竊取機敏的數據,甚至破壞整個網站。

本章節從駭客的角度探討,如何預防常見的 Web 漏洞,降低珍貴資產的損失。

(1) 首先,介紹高度隱蔽和專業化的 APT 攻擊知識,以及駭客可能如何發起攻擊的方式 。

(2) 其次,介紹三個 Web 常見的攻擊手法 SQL Injection、Cross-Site Scripting 與 Command Injection,了解其原理與預防的方法,進而有效地降低受到 APT 攻擊的風險。

(3) 最後,模擬實戰 XSS 攻擊,取得 Facebook 帳號與密碼。

章節大綱

CH9 從駭客的角度,預防常見的 Web 漏洞

前言:踏上 QA 職涯之路後

9.1 駭客與道德駭客

  9.1.1 駭客 

  9.1.2 道德駭客

  9.1.3 道德駭客和駭客的不同之處

  9.1.4 QA 和道德駭客,都關注著產品的安全性

9.2 什麼是 APT 攻擊

  9.2.1 APT 攻擊方式

  9.2.2 APT 攻擊手法模擬

9.3 SQL Injection 的原理與預防方式

  9.3.1 SQL Injection 是如何發生的

  9.3.2 預防 SQL Injection 的方式

9.4 Cross-Site Scripting 的原理與預防方式

  9.4.1 XSS 是如何發生的 

  9.4.2 預防 XSS 的方式

9.5 Command Injection 的原理與預防方式

  9.5.1 Command Injection 是如何發生的

  9.5.2 預防 Command Injection 的方式

9.6 實戰 XSS 攻擊取得 Facebook 帳號與密碼

  9.6.1 Chrome 環境設定

  9.6.2 雲端筆記本的功能與 XSS 漏洞說明

  9.6.3 安裝 Kali Linux 與 BeEF

  9.6.4 BeEF JavaScript Hook 的方式

  9.6.5 調整 BeEF JavaScript Hook 的執行方式

  9.6.6 從 BeEF 取得受害者的 Facebook 帳號與密碼

9.7 結語

內容預覽

作者簡介

郁家豪

資深軟體工程經理,豐富的 SaaS 產品測試、桌面應用程式和 Web 開發經驗。

任職於 Appier 沛星互動科技股份有限公司,熟稔程式設計和 SaaS 平台技術,持續關注新興技術的發展,結合成熟的問題解決能力,以應對客戶需求和技術創新的挑戰。 

注重 QA 團隊的培養,致力於提升測試效果和團隊的測試賦能。熱衷於與團隊成員攜手合作, 共同開發卓越的產品,實現公司與客戶之間的共贏與價值創造。

作者所屬機構

專章引用

郁家豪,〈從駭客的角度,預防常見的 Web 漏洞〉。《軟體測試實務:業界成功案例與高效實踐 II》,博碩文化,2023年5月,ISBN 978-626-333-486-1。