---
# System prepended metadata

title: Web II by che
tags: [2025 NISRA Enlightened]

---

:::info
# Web II
講師：che
時間：8/26 13:30~16:30
課程簡報: https://docs.google.com/presentation/d/1KfJo2yVVGj7q2AMU_wPLUXQn3_bSu8UShKqsf4w_oyw/edit?usp=sharing

---
## **Download & Unzip** DVWA+kali VM: 
https://drive.google.com/drive/folders/1BEc3iNEnhwbFsiP2Ja-zerbWiZhS258F?usp=drive_link
:::

## 聲明
* 本課程攻擊僅針對課程提供的 Lab 或自架 Lab 進行
* 執行攻擊前，必須確保 **有授權**

### 滲透測試基本流程
偵查/資訊蒐集 -> 列舉/掃描/識別漏洞 -> 取得權限/利用漏洞 -> 後滲透(維持權限/提權) -> 清除軌跡 -> 撰寫報告 -> 複測

本次課程著重在:
1. 資訊蒐集 
    - Shodan
2. 弱點掃描
    - Nmap
    - Nikto dirb
    - BurpSuite
3. 弱點利用
    - Exploit db
...

### OWASP TOP 10 (2021)
* **A01 權限控制失效**
    * 允許攻擊者繞過存取控制
  → 例：修改 URL 即可存取其他帳號
* **A02 加密機制失效**
    * 加密演算法配置錯誤以及金鑰管理不安全
  → 使用弱雜湊或未加鹽
* **A03 注入式攻擊**
    * 提供惡意使用錯誤格式的資料可能會被解釋為命令的一部分
  → SQL Injection
* **A04 不安全設計**
    * 儲存和處理敏感資料的應用程式卻沒有設計身份驗證系統
  → 系統設計上未考慮驗證
* **A05 安全設定缺陷**
    * 啟用不必要的應用程式或連接埠，導致向使用者公開過多資訊
  → 預設帳號、未關閉不必要服務
* **A06 危險或過舊元件**
    * 已知漏洞未被修補，導致攻擊者可利用舊漏洞入侵系統
  → 使用含漏洞的舊版套件
* **A07 認證及驗證機制失效**
    * 無法正確驗證身份資訊，導致攻擊者輕易登入系統竊取資料或操作
  → 缺乏 MFA、弱密碼驗證
* **A08 軟體及資料完整性失效**
    * 攻擊者用惡意的版本替換受信任更新檔案，導致應用程式執行到惡意程式碼
  → 未驗證更新完整性
* **A09 資安記錄及監控失效**
    * 未即時監控異常行為，導致發生攻擊時，無法偵測或追蹤來源
  → 缺乏日誌與監控
* **A10 伺服端請求偽造 (SSRF)**
    * 未驗證使用者提供的 URL 是否安全，導致攻擊者可讓伺服器存取內部資源，甚至造成資訊洩漏
  → 允許使用者輸入 URL，未驗證來源

### 攻擊流程
OWASP TOP 10 -> 版本列舉 -> 尋找相關漏洞 -> 尋找已知漏洞 -> 挖掘相關漏洞

## 工具
### Shodan
→ 掃描公開設備
https://www.shodan.io/domain/fju.edu.tw
掃描全世界的 IP ，利用這個危險的搜尋引擎能得到 IP 位址、運行的服務、系統資訊等。
 
### dirb 
→ 網頁目錄暴力猜測
語法: `dirb <ip>`
範例: `dirb http://127.0.0.1/`

### nmap
→ 掃描開放服務與端口

### exploit-db
→ 已知漏洞資料庫

### sqlmap
→ SQL Injection 自動化工具

### nikto
→ 網站漏洞掃描

### Burp Suite
→ 攔截、修改 HTTP 請求
![image](https://hackmd.io/_uploads/Hye2i5JjFel.png)


### DVWA（Damn Vulnerable Web Application）

* 提供一個合法的弱點環境，進行安全測試
* 帳號密碼：`admin / password`
* 難度可調整：`low / medium / high`



---


## 攻擊類型範例

### 1. Brute Force

* 攔截登入封包，送到 Intruder
* 使用字典爆破帳號/密碼
* 成功判斷依據：回應長度不同

### 2. Command Execution

* 注入 OS 指令（`;`、`&&`、`|`）
    *  ;  能夠直接執行第二個命令
    * && 第一個指令成功後執行第二個
    *  | 第一個指令失敗後執行第二個

* Payload 範例：[https://github.com/payloadbox/command-injection-payload-list](https://github.com/payloadbox/command-injection-payload-list)

### 3. CSRF (Cross-Site Request Forgery)

![image](https://hackmd.io/_uploads/rJI4p1iYgg.png)

* 誘導使用者在登入狀態下執行敏感操作
* 防禦：CSRF Token、SameSite Cookie、驗證 Referer/Origin

### 4. LFI (Local File Inclusion)

* 攻擊者透過漏洞讓網站載入伺服器上的任意本地檔案，導致敏感資訊洩漏或代碼執行。
* 載入伺服器上的本地檔案
* 例：`/download.php?path=../../etc/passwd`
* 透過 ```../``` 回到上一層目錄
直到抵達根目錄後，再前往 /etc/passwd 就可以拿到機敏資料
![image](https://hackmd.io/_uploads/rJ_kAksYee.png)

* 防禦：限制路徑輸入、白名單


### 5. File Upload → RCE

![image](https://hackmd.io/_uploads/B1KHRJoKel.png)

* 上傳惡意檔案（例如 `.php`）取得遠端執行權限
* 防禦：檢查檔案 MIME、限制副檔名、權限隔離

### 6. XSS (Cross-Site Scripting)

* **Reflected XSS** → 透過 URL 傳遞 Payload
![image](https://hackmd.io/_uploads/ByMiJljKxl.png)

* **Stored XSS** → Payload 存進資料庫，持續觸發
* ![image](https://hackmd.io/_uploads/SyTIJgitlx.png)
* 更多 XSS stored Payload:
https://github.com/payloadbox/xss-payload-list
* Payload 範例：

  ```html
  <script>alert('XSS')</script>
  <img src=x onerror=alert(1)>
  <svg onload=alert(1)>
  ```

### 7. SQL Injection

* 自動做 SQLi 的工具：`sqlmap`
* 常用參數：

  ```bash
  -u <URL>          # 目標網址
  --cookie="..."    # 模擬登入狀態
  --dbs             # 列出資料庫
  --tamper=xxx      # 使用繞過腳本
  --risk=3 --level=3
  ```






---
###### tags: `2025 NISRA Enlightened`
<style>
.navbar-brand::after { content: " × NISRA"; }
</style>