# 滲透測試實務經驗
### 滲透測試
- 滲透測試就是打報客戶的網站跟主機
- 是一種模擬駭客的的攻擊模式
- 大部分的內容無法自動化,必須以手動執行,而需要更高的專業技術程度。
### 弱點掃描
- 主要是使用自動化工具來針對目標進行封檢與弱點的探測,有時會包含以半自動化或手動方式對工具所發現的弱點進行認證。
### 滲透測試流程
- 用甚麼工具不是重點,主要是用你的知識去思考去怎麼做。


#### 資料收集
- 資料蒐集包含了識別標的使用的技術框架
- Google Hacking,DNS Record,OSINT資訊都算,有分主動被動
#### 列舉/掃描/識別風險
- 包含像是網站路徑列舉,Port Scan,Service and Version Enumeratioin,Scanning
- 對於服務/功能/應用程式的**觀察、分析、思考、測試**

- 可能的注入點?
- 1.透過請求跟回應來去判斷可能的注入點
- 2.透過請求跟回應來找出可能被過去的Pattern,才會知道如何Bypass
- 3.透過觀察整個流程來識別可能存在的商業邏輯或流程漏洞
- 漏洞利用
- 證實該風險存在,或是該漏洞可利用(exploit)
- 後滲透(Post-exploitation)
- 成功利用漏洞入侵系統
- 可執行進一步資訊蒐集或提權、維持控制
- 清除軌跡
- (X) 清除所有伺服器上面的LOG
- (O) 清除滲透測試執行過程中不該被保留的軌跡
### 滲透測試專案
- 開始執行前,一個滲透測試專案,應該至少會包含(舉例)
- 目標: test.bbc.com
- 日期: 2030/07/01 ~ 2030/07/10
### 標的與範圍
- 根據測試的類型,主要可非為三大類: 外網、內網、網站
- 其他也會有像是 Physical、API、Mobile APP、IoT、OT、5G、Wireless...

### 自學途徑

### 執行類型

### 滲透測試報告(舉例)

### 漏洞的分類
- 資訊洩漏 (隱藏葉面 DNS資訊洩漏 Index of, 錯誤頁面 , 後台管理頁面 , 版本資訊洩漏 , API回傳資訊過多)
- 網頁應用程式 (SQL Injection , File upload , XSS , Access Control)
- 設定錯誤 (Unnecessary Port/Services , Debug Mode Enalbe ,Default Password)
- 已知漏洞 (CVE , EternalBlue , ProxyLogon)
### 觀念
- 學習滲透測試 **不等於** 學習網路與網站的攻擊和知識
- Pentester **不等於** Hacker
- (X) 照著滲透測試規範SOP執行測試
- (O) 參考滲透測試規範、標準及框架
- CTF vs Penetration test

### 常見知名的滲透測試框架、標準及規範

### 滲透測試建議與提醒
- 1.注意不要違反合約,保護自己
- 2.留意避免影響服務運作,諾有需要提醒、告知或詢問
- 3.盡可能展現該風險與漏洞可造成的危害程度
- 4.證據與記錄的留存(測試時間、來源IP、掃描與測試的log、截圖、請求與回應的封包
### 哪個漏洞比較嚴重?
- 1.
- 一個Web Application 存在一個SQL Injection利用參數污染的方式 id=payload1&payload2將payload進行unicode編碼,可以成功利用OOB Blind SQL Injection
- 2.
- 網站搜尋功能吋在XSS,輸入alert('XSS')就可以觸發