<style>
.reveal {
font-size: 32px;
}
</style>
# 從 CTF 踏入資安
`HyperSoWeak`
---
## 類型
- Bug Bounty
- Capture the Flag (CTF)
----
## Bug Bounty
[Apple](https://security.apple.com/bounty/categories/)

----
## CTF
- Attack and Defense (A&D)
- King of the Hill (KoH)
- Jeopardy
----
## A&D
- 參賽隊伍各自維護自己的服務
- 阻止其他隊伍攻擊 (patch)
- 攻擊其他隊伍的服務來獲得分數
----
## KoH
- 主辦單位提供數個服務
- 奪下主機控制權,換上自己的Flag
- 看誰程式最短、撐得久、速度快 (?
----
## Jeopardy
`FLAG{1Dk_wh@7_t0_7Yp3_h3r3}`

[picoCTF](https://play.picoctf.org/login)
---
## Jeopardy 分類
- Crypto 密碼學
- Web 網頁
- Forensic 鑑識
- Pwn 滲透
- Reverse 逆向
- Misc 雜項(通靈)
----
## Crypto 密碼學
想辦法利用加密、雜湊演算法的漏洞,從無法辨認的密文破解出原本的明文,很吃數學(?
- ASCII
- Caesar
- Hash (MD5, SHA1)
- RSA
- Base64
`5oiR5pyA5Zac5q2h546p5Y6f56We5LqGCg==`
[Easy Peasy - picoCTF 2021](https://play.picoctf.org/practice/challenge/125?page=2)
----
## Web 網頁
想辦法找到網站中 XSS、SQL Injection 或是舊版本框架的漏洞,進行攻擊後取得 Flag
- SQL injection
- XSS
- DDoS
- Path traversal
[GET aHEAD - picoCTF 2021](https://play.picoctf.org/practice/challenge/132?category=1&page=1)
[caas - picoMini by redpwn](https://play.picoctf.org/practice/challenge/202?originalEvent=67&page=1)
<!--FLAG{h4h4h4_c7f_3v3ryvvh3re}-->
[f12 - ctf sean cat](https://ctf.sean.cat/f12)
[bac - ctf sean cat](https://ctf.sean.cat/bac/)
[filter - ctf sean cat](https://ctf.sean.cat/filter/)
----
## Forensic 鑑識
主辦方會要求參賽者從封包、Log、 Memory Dump、Disk Image、VM image等鑑識出隱藏在之中的金鑰
[tunn3l v1s10n - picoCTF 2021](https://play.picoctf.org/practice/challenge/112?category=4&page=1)
----
## Pwn 滲透
目標通常是一個服務,要想辦法找到該服務的漏洞並注入自己的程式碼,接著就可以拿到 server 的控制權,並到 server 裡面找 Flag
- Buffer overflow
- Command injection
```bash
pip install pwntools
```
[Stonks - picoCTF 2021](https://play.picoctf.org/practice/challenge/105?category=6&page=1)
----
## Reverse 逆向
通常由主辦方給一個或多個Binary,過關所需要的Key通常加密藏在執行檔裡,要將程式逆向分析,從執行檔的組合語言中,找到破解或是繞過驗證的方法,進而取得 Flag
- `xxd`
- `gdb`
- Assembly
- [Ghidra](https://ghidra-sre.org/)
----
## Misc 雜項(通靈)
沒有較明確的分類,像是給個遊戲要想辦法作弊破到幾百萬分、給一個壞掉的 QR code 嘗試修復,或是給張圖片要找出相關的人事物等
- Steganography
- Audio (Spectrogram)
- Picture (LSB steganography)
[Minecraft Cave_14](https://www.youtube.com/watch?v=R06KWWitmcg)
[Cave_14 Spectrogram](https://youtu.be/6ee9dyDGTAI?si=eGtKTh9plCdg1hbj&t=99)
```bash
sudo apt install ruby
gem install zsteg
```
[St3g0 - picoCTF 2022](https://play.picoctf.org/practice/challenge/305?originalEvent=70&page=1)
---
## 練習時間 ( • ̀ω•́ )
```
aHR0cHM6Ly9kcml2ZS5nb29nbGUuY29tL2ZpbGUvZC8xVVdQRWUtUl9sWlF2c0J4VEI3ZldvaFlxQjBKaGtSSGkvdmlldz91c3A9c2hhcmluZwo=
```
There are 3 flags
---
## 噎 我猜你沒發現這簡報還有藏一個flag
{"title":"CTF - slide","slideOptions":"{\"transition\":\"slide\"}","contributors":"[{\"id\":\"023479a5-db5b-4251-8691-69550cf1f264\",\"add\":4374,\"del\":1515}]","description":"HyperSoWeak"}