π Introduction
βHow to Hack a Web Applicationβμ Web κΈ°λ°μ Applicationμ ν μ€ν νλ λ°©λ²μ λλ€. μ λ°μ μΈ ν μ€ν λ©μ»€λμ¦κ³Ό νκ²½ ꡬμ±μ λν λ΄μ©μ μ£Όλ‘ λ€λ£Ήλλ€.
What is Web?
Webμ μλ μμ΄λ μΉ(World Wide Web, WWW, W3)μ μ€μλ§λ‘ μ¬μ©λλ©° μΈν°λ·μ μ°κ²°λ μ¬λ¬κ°μ§ μ»΄ν¨ν°λ₯Ό ν΅ν΄ μ 보λ₯Ό 곡μ ν μ μλ 곡κ°μ μλ―Έν©λλ€. μΈν°λ·μ μ°κ²°λ λλ°μ΄μ€λ€μ μ¬λ¬κ°μ§ νλ‘ν μ½μ ν΅ν΄μ λ°μ΄ν°λ₯Ό κ΅νν©λλ€. μ΄μ€ μΉμμ κ°μ₯ ν΅μ¬μ΄ λλ건 HTTP(HyperText Transfer Protocol)μ λλ€.
HTTP
HTTPλ μΉμμ μ 보λ₯Ό μ£Όκ³ λ°μ μ μλ νλ‘ν μ½μ λλ€. TCPλ₯Ό μ£Όλ‘ μ¬μ©νλ©°, HTTP/3 λΆν΄ UDPλ₯Ό ν΅ν ν΅μ λ μ§μνκ³ μκ³ , κΈ°λ³Έμ μΌλ‘ 80ν¬νΈμ SSLμ΄ μ μ©λ 443 ν¬νΈ(https)λ₯Ό κ°μ₯ λ§μ΄ μ¬μ©ν©λλ€.
κ° λ²μ λ³ νΉμ§μ μλμ κ°μ΅λλ€.
Version | DT | Desc |
---|---|---|
HTTP/0.9 | TCP | μ΄κΈ° HTTP νλ‘ν μ½, λ¨μΌ Line, Only GET Method |
HTTP/1.0 | TCP | Header μ§μ, Content-Type, StatusCode |
HTTP/1.1 | TCP | Persistent Connection, Pipelining |
HTTP/2 | TCP | Multiplexed Streams, Header Compression |
HTTP/3 (QUIC) | UDP | QUIC(Quick UDP Internet Connections) |
μμΈν λ΄μ©μ Cullinan > HTTPλ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ.
π‘ Hack Mechanism
MITM Proxy
MITM(Man In the Middle Attack)μ λ³΄ν΅ μ€κ°μ 곡격μ μλ―Έν©λλ€. μ€μ 곡격μμ μ€λν λ±μΌλ‘ ννλμ§λ§, Webμ ν μ€ν νλ μ μ₯μμ μ΄λ κ² μ€κ°μ κ°μ νλ λꡬλ€μ ν΅ν΄ λΈλΌμ°μ , λͺ¨λ°μΌ λ± λλ°μ΄μ€κ° μλ²λ ν΅μ νλ λ΄μ©λ€μ κ°λ‘μ±κ³ λ³κ²½νμ¬ ν μ€νΈν μ μμ΅λλ€.
Clientμ Server μ¬μ΄μμ λ°μ΄ν°λ₯Ό λ³μ‘°νλ©° ν
μ€νΈν©λλ€.
λνμ μΌλ‘ λ§μ΄ μ¬μ©λλ λꡬλ BurpSuite, ZAP μ λλ€. μ΄μΈμλ λ λ§μ λꡬλ€μ΄ κΆκΈνλ€λ©΄ WHW > mitmproxyλ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ.
Testing Methods
ν μ€ν λ°©λ²λ€μ λͺ ννκΈ° μ μνκΈ΄ μ΄λ ΅κ³ κ°κ°μΈμ κ²½νκ³Ό μ§μ κ·Έλ¦¬κ³ μ€νμΌμ΄ λμ λ κ²°κ³Όμ λλ€. ν μ€ν λ°©λ²μ λν΄μ κ³ λ―Όμ λ€κ² νλ λ§ν¬λ€μ λλ€. νμν λΆλΆμ μ μ λͺ©νλ€λ©΄ λ νΉνκ³ ν¨κ³Όμ μΈ μμ λ§μ ν μ€ν λ°©λ²λ‘ μ λ§λ€μ΄κ° μ μμ΅λλ€.
Testing Resources
ν μ€ν λ°©λ², μ·¨μ½μ , 곡격 λ±μ νλμ λ¬Έμλ‘ νν νκΈ°μλ λ무 λ°©λν©λλ€. μ μλ €μ§ μ·¨μ½μ , 곡격 λ°©λ² λ±μ μλ Resourcesμμ μ°Έκ³ νμ μ ν μ€ν ν μ μμ΅λλ€. (μ 컬리λμ μ μΈν λλ¨Έμ§λ μ λ§ μ°Έκ³ νκΈ° μ’μ 리μμ€μ λλ€ :D)
- Cullinan by Me :D
- HackTricks by carlospolop
- HowToHunt by kathan19
- PayloadAllTheThings by swissky
- Top 10 Web Hacking Techniques by Portswigger
π Environment
Embeded Browser
Burpsuite, ZAP λ± μΌλΆ Proxy λꡬλ€μ μΈμ¦μ μ λ’° μ²λ¦¬κ° μ€μ λ λΈλΌμ°μ λ₯Ό λ΄μ₯νμ¬ μ 곡νκ³ μμ΅λλ€. ν μ€ν μ λ°μν μ μλ μ¬λ¬ λ¬Έμ λ€μ νΌν΄κ° μ μμ΄μ κ°μΈμ μΌλ‘ μ νΈνλ λ°©μμ λλ€.
Common Browser
λ§μ½ Embeded Browserκ° μλ PC λ΄ λΈλΌμ°μ λ₯Ό μ¬μ©νλ κ²½μ° Custom Proxy μ€μ λ° μΈμ¦μ μ λ’° μ€μ μ΄ νμν©λλ€.
Set Custom Proxy
- Firefox:
Settings
>General
>Network Settings
- Chrome:
Settings
>Advanced
>System
>Proxy settings
- Safari: μμ€ν νλ‘μλ₯Ό μ΄μ©ν©λλ€.
μ κ³Όμ μΌλ‘ νλ‘μ μ€μ μ΄ κ°λ₯νλ©°, MM3 ProxySwitch, FoxyProxy λ± Browser Addon λ±μ ν΅ν΄ ν κΈ μ€μ μ΄ κ°λ₯ν©λλ€.
Set CA Certificate
- Firefox:
Settings
>Privacy & Security
>Security
>View Certificates
- Chrome:
Settings
>Privacy & Security
>Security
>Manage certificates
- Safari: Open
Key Chain
>System Root