[資訊安全] 常見編碼方式一覽
本篇整理了我在練習 picoCTF 或資訊安全題目中常見的編碼方式與判斷技巧,
搭配 GPT 一起整理的重點。
如果有遺漏或錯誤,歡迎在下方留言討論 🙌
📋 編碼類型總覽
| 類型 | 範例 | 特徵 | 常見用途 |
|---|---|---|---|
| Base64 | cGljb0NURntzZWNyZXR9 |
僅包含 A–Z a–z 0–9 + /,結尾可能有 = |
傳輸二進位資料、Email 附件、JWT |
| URL Encoding | picoCTF%7Burl_3nc0ded%7D |
%xx 表示特殊字元,如 %20 空格、%3D 等號 |
網址參數、表單資料 |
| Hexadecimal | 7069636f4354467b7d |
僅含 0–9 a–f,每 2 位 = 1 byte |
Shellcode、封包分析 |
| HTML Entity | <script> |
&xxx; 或 &#xNN; |
HTML 轉義、防 XSS |
| Binary | 01110000 01101001 |
僅由 0 與 1 組成,8 位一組 |
位元操作、底層教學 |
| Octal | \123\145\143 |
\ 開頭接 3 位八進位數 |
舊 C 字串 |
| ROT13 | cvpbPGS{arkg_gbb_onq} |
字母位移 13 位(對稱) | 淺層混淆 |
| Morse Code | .--. .. -.-. --- -.-. - ..-. |
由 . 與 - 組成 |
CTF 常見陷阱 |
| Base32 / Base58 / Base85 | MZXW6YTBOI====== |
字元集不同於 Base64 | QR Code、加密貨幣 |
| Unicode Escape | \u0070\u0069\u0063\u006f |
\uXXXX 表示 Unicode |
JSON、多語系處理 |
🔎 補充
Base64 結尾的=是用來填充至長度為 4 的倍數,
並非所有 Base64 字串都一定會出現。
🧠 如何判斷是哪種編碼?
內容特徵對照表
| 特徵 | 推測編碼 |
|---|---|
出現 %20、%3D |
URL Encoding |
出現 <、> |
HTML Entity |
只含 0、1,8 位一組 |
Binary |
| 全為十六進位且長度為偶數 | Hexadecimal |
出現 =,看似亂碼但有規律 |
Base64 |
| 看起來像英文但不通順 | ROT13 / Caesar Cipher |
出現 \uXXXX |
Unicode Escape |
只包含 + - > < [ ] . , |
Brainfuck(惡搞語言) |
🛠️ 常見工具推薦
線上工具
- :contentReference[oaicite:0]{index=0}(強烈推薦,一頁搞定)
- :contentReference[oaicite:1]{index=1}
- Base64 Decode(各種線上解碼站)
🖥️ Linux / macOS 常用指令
1 | # Base64 解碼 |
Python 編碼 / 解碼範例
1 | import base64 |
小結
🧠 先觀察特徵,再嘗試解碼
🛠️ 工具首選:CyberChef
🧩 不熟的編碼可以用
猜 → 測試 → 驗證 → Google 的流程
或是直接詢問你身邊最進化的 GPT-5 好夥伴 也可以 😄
如果你還知道其他冷門編碼(如 Base91、UUEncode、xxEncode),
也非常歡迎留言交流!
本部落格所有文章除特別聲明外,均採用CC BY-NC-SA 4.0 授權協議。轉載請註明來源 YD's 學習筆記!