๐
ุงูููู
1 โ HTTP ู
ู ุงูุตูุฑ (ุดุฑุญ ู
ุนู
ุงุฑู ุนู
ูู)
> ุงูููู ุงูุฃูู ููุณ โู ูุฏู ุฉ ุจุณูุทุฉโ.
ูุฐุง ุงูููู ูู ุงูุฃุณุงุณ ุงูุฐู ุณุชูุจูู ุนููู ูู ุงูุซุบุฑุงุช ูุงุญููุง:
XSS
CSRF
SQLi
SSRF
ุญุชู OAuth ูJWT
ูููุง ูู ุงูููุงูุฉ ุชุชุญุฑู ุฏุงุฎู HTTP.
ูุฐูู ุณูููู HTTP ูู ููุฏุณ ูู ุฎุชุฑู ูู ููุณ ุงูููุช.
ุงูุฌุฒุก ุงูุฐู ูุนุชู ุฏ ุนููู ููุง ู ู ุจุฏุงูุฉ Chapter 1 ูุดุฑุญ:
ู ูููู HTTP
ุฎุตุงุฆุตู
ุงูุทูุจุงุช ูุงูุงุณุชุฌุงุจุงุช
ููู ุชูุชูู ุงูุจูุงูุงุช ุจูู Client ูServer
ูู ุงุฐุง HTTP ุตูู ู ุจูุฐู ุงูุทุฑููุฉ ุฃุตููุง
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept)
---
๐น ุฃูููุง: ู ุง ูู HTTP ูุนููุงุ
HTTP ุงุฎุชุตุงุฑ ูู:
> HyperText Transfer Protocol
ููู ูุฐุง ุงูุชุนุฑูู ูุง ูุดุฑุญ ุดูุฆูุง ูุนูููุง.
ูููู HTTP ุจุนู ูุ ูุฌุจ ุฃู ูููู :
> ูู ุงุฐุง ุชู ุงุฎุชุฑุงุนู ุฃุตููุงุ
---
๐น ููู ุจุฏุฃ ุงูููุจ ุชุงุฑูุฎููุงุ
ูู ุงูุจุฏุงูุฉุ ุงูุฅูุชุฑูุช ูู ููู โุชุทุจููุงุชโ ูู ุง ูุนุฑู ุงูููู .
ูู ููู ููุงู:
ุชุณุฌูู ุฏุฎูู
ุญุณุงุจุงุช
ุฌูุณุงุช
APIs
JWT
React
ุจู ูุงู ุงููุฏู ุงูุฃุณุงุณู:
> ู ุดุงุฑูุฉ ู ุณุชูุฏุงุช ุจูู ุงูุฌุงู ุนุงุช ูู ุฑุงูุฒ ุงูุฃุจุญุงุซ.
ูุนูู:
ุดุฎุต ูุทูุจ ู ูู
ุงูุณูุฑูุฑ ูุฑุณู ุงูู ูู
ู ุซู:
GET /paper.html
ุซู ุงูุณูุฑูุฑ:
HTTP/1.1 200 OK
---
๐ฅ ุงูู ุดููุฉ ุงููุจุฑู
HTTP ุตูู ู ุฃุตููุง:
> โูููู ุงูู ุณุชูุฏุงุชโ
ููููุง ุงูููู ูุณุชุฎุฏู ู ูู:
ุงูุจููู
ุงูู ุตุงุฏูุฉ
ุงูู ุฏููุนุงุช
ุงูุฃูุธู ุฉ ุงูุญุณุงุณุฉ
ูููุง ุจุฏุฃุช ุงูู ุดุงูู ุงูุฃู ููุฉ.
---
๐น ูู ุงุฐุงุ
ูุฃู ุงูุชุตู ูู ุงูุฃุตูู ูู HTTP:
ุจุณูุท ุฌุฏูุง
ุนุฏูู ุงูุญุงูุฉ (Stateless)
ูุตู (Text-based)
ูุงุจู ููุชุนุฏูู ุจุงููุงู ู
---
๐น ู ุงุฐุง ูุนูู Text-Basedุ
ูุนูู ุฃู HTTP ููุณ Binary ู ุนูุฏูุง.
ุจู ู ุฌุฑุฏ:
> ูุต ูู ูู ูุฑุงุกุชู ูุชุนุฏููู ุจุณูููุฉ
ู ุซู:
GET / HTTP/1.1
Host: example.com
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุง ุฃู ูููุงุ
ูุฃู ุฃู ุดุฎุต ูุณุชุทูุน:
ูุฑุงุกุฉ ุงูุทูุจ
ุชุนุฏููู
ุฅุนุงุฏุฉ ุฅุฑุณุงูู
ูููุฐุง:
> ุงูููุจ ุจุทุจูุนุชู โุจูุฆุฉ ุบูุฑ ู ูุซููุฉโ
---
๐น ุงูุขู ุฃูู ููุทุฉ ูู ุงูููู ููู
ุงูู ุณุชุฎุฏู ุงูุนุงุฏู ูุฑู:
ุฒุฑ
ุตูุญุฉ
ูู ูุฐุฌ
ููู ุงูุณูุฑูุฑ ูุง ูุฑู ุดูุฆูุง ู ู ุฐูู.
ุงูุณูุฑูุฑ ูุฑู ููุท:
Request Text
---
๐ง ููู ูููุฑ ุงููุงูุฑุ
ุงูู ุณุชุฎุฏู :
> "ุถุบุทุช ุฒุฑ ุชุณุฌูู ุฏุฎูู"
ุงููุงูุฑ:
> "ุชู ุฅุฑุณุงู POST Request"
ุงูู ุณุชุฎุฏู :
> "ูุฐู ุตูุญุฉ ู ููู ุงูุดุฎุตู"
ุงููุงูุฑ:
> "ูุฐุง endpoint ูุณุชูุจู id"
---
๐ฅ ุฅุฐู ู ุง ูู ุงูุงุฎุชุฑุงู ุงูุญููููุ
ูู ุฃุบูุจ ุงุฎุชุฑุงูุงุช ุงูููุจ:
> ุฃูุช ูุง โุชูุณุฑ ุงูู ููุนโ
ุจู:
> ุชุบููุฑ ุทุฑููุฉ ููู ุงูุณูุฑูุฑ ููุทูุจ
---
๐น ู ูููู Stateless (ุนู ูู ุฌุฏูุง)
ุงููุชุงุจ ูุฐูุฑ ุฃู HTTP:
> Stateless Protocol
ููู ู ุง ู ุนูู ุฐูู ูุนูููุงุ
---
๐ง ุงูู ุนูู ุงูุญูููู
ุงูุณูุฑูุฑ:
> ูุง ูุชุฐูุฑ ุฃู ุดูุก ุจูู ุงูุทูุจุงุช
ูู Request ู ุณุชูู ุชู ุงู ูุง.
---
๐ฅ ู ุซุงู ูุงูุนู
ุฅุฐุง ุฃุฑุณูุช:
GET /profile
ุซู ุจุนุฏ ุซุงููุฉ:
GET /settings
ุงูุณูุฑูุฑ ูุง ูุนุฑู ุฃู:
ููุณ ุงูุดุฎุต ุฃุฑุณู ุงูุทูุจูู
ุฅูุง ุฅุฐุง ุชู ุฅุซุจุงุช ุฐูู
---
๐ฅ ููู ุญูููุช ูุฐู ุงูู ุดููุฉุ
ุชู ุงุฎุชุฑุงุน:
Cookies
Sessions
Tokens
ููุฐู ููุณุช ุฌุฒุกูุง ุฃุตูููุง ู ู HTTP.
ุจู:
> ุญููู ุฅุถุงููุฉ ููู ุจุฑูุชูููู ุจุณูุท ูู ููุตู ู ููุญุงูุฉ (State).
---
๐ฅ ูููุง ุชุจุฏุฃ ูู ูุฉ ูุงุฆูุฉ ู ู ุงูุซุบุฑุงุช
ูุฃู:
HTTP ูุง ูุนุฑู ุงูู ุณุชุฎุฏู
ูุญู ูุญุงูู โุฅุฌุจุงุฑูโ ุนูู ุชุฐูุฑ ุงูู ุณุชุฎุฏู
ูู ู ููุง ุธูุฑุช:
Session Hijacking
CSRF
Cookie Attacks
---
๐น ุฎุงุตูุฉ ุฃุฎุฑู ู ูู ุฉ: HTTP ุบูุฑ ู ุดูุฑ
ุงููุชุงุจ ูุฐูุฑ ุฃู HTTP:
> ูุง ูุญุชูู ุชุดููุฑูุง ุฏุงุฎูููุง
---
๐ง ู ุงุฐุง ูุนูู ูุฐุงุ
ุฃู ุฌูุงุฒ ูู ุงูุทุฑูู ูู ููู ุฑุคูุฉ ุงูุจูุงูุงุช:
Router
ISP
Proxy
ุฃู ุดุฎุต ุนูู ุงูุดุจูุฉ
---
๐ฅ ูุฐูู ุธูุฑ HTTPS
HTTPS ููุณ ุจุฑูุชูููููุง ุฌุฏูุฏูุง ุจุงููุงู ู.
ุจู:
> HTTP ุฏุงุฎู ุทุจูุฉ TLS/SSL
ูุนูู:
HTTP + Encryption = HTTPS
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุง ุฃู ูููุงุ
ุจุฏูู HTTPS:
ููู ุงุช ุงูู ุฑูุฑ ู ูุดููุฉ
ุงูููููุฒ ู ูุดููุฉ
ุงูุชูููุงุช ู ูุดููุฉ
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Deep Architecture)
---
๐น ู ุงุฐุง ูุญุฏุซ ุนูุฏู ุง ุชูุชุญ ู ููุนูุงุ
ุนูุฏู ุง ุชูุชุจ:
google.com
ุฃูุช ูุง โุชุฐูุจ ูู ููุนโ.
ุจู ุชุจุฏุฃ ุณูุณูุฉ ู ุนูุฏุฉ ุฌุฏูุง.
---
๐งฉ ุงูู ุฑุญูุฉ 1 โ DNS
ุงูู ุชุตูุญ ูุง ูููู :
google.com
ุจู ูุญุชุงุฌ:
142.250.xxx.xxx
ูุฐูู ูุณุฃู DNS.
---
๐งฉ ุงูู ุฑุญูุฉ 2 โ ุฅูุดุงุก ุงูุงุชุตุงู
ูุจุฏุฃ TCP Handshake.
ูู ุงุฐุงุ ูุฃู HTTP ูุนุชู ุฏ ุนูู TCP.
---
๐ฅ ูู ุงุฐุง TCP ู ูู ุ
ูุฃู TCP:
ูุถู ู ุงูุชุฑุชูุจ
ูู ูุน ููุฏุงู ุงูุจูุงูุงุช
ูุถู ู ูุตูู ุงูุญุฒู
---
๐งฉ ุงูู ุฑุญูุฉ 3 โ ุจูุงุก HTTP Request
ุงูุขู ุงูู ุชุตูุญ ูุจูู ุงูุทูุจ.
---
๐ฌ ุชุญููู ุญูููู ููุทูุจ
ู ู ุงููุชุงุจ:
GET /index.html HTTP/1.1
Host: www.redseclabs.com
User-Agent: Mozilla/5.0
Referer: https://google.com
---
๐ ุงูุณุทุฑ ุงูุฃูู
GET /index.html HTTP/1.1
ูุฐุง ูุณู ู:
> Request Line
---
๐น GET
ููุน ุงูุนู ููุฉ (Method)
---
๐น /index.html
ุงูู ูุฑุฏ ุงูู ุทููุจ
---
๐น HTTP/1.1
ูุณุฎุฉ ุงูุจุฑูุชูููู
---
๐ฅ ููุทุฉ ุงุญุชุฑุงููุฉ
ุงูุณูุฑูุฑ ูุง ูุนุฑู:
ูู ูุฐุง ุฒุฑุ
ูู ูุฐุง ููุฑู ุ
ุจู ูุนุฑู ููุท:
Method + Path
---
๐ Host Header
> ุงูููู ุงูุฃูู ููุณ โู ูุฏู ุฉ ุจุณูุทุฉโ.
ูุฐุง ุงูููู ูู ุงูุฃุณุงุณ ุงูุฐู ุณุชูุจูู ุนููู ูู ุงูุซุบุฑุงุช ูุงุญููุง:
XSS
CSRF
SQLi
SSRF
ุญุชู OAuth ูJWT
ูููุง ูู ุงูููุงูุฉ ุชุชุญุฑู ุฏุงุฎู HTTP.
ูุฐูู ุณูููู HTTP ูู ููุฏุณ ูู ุฎุชุฑู ูู ููุณ ุงูููุช.
ุงูุฌุฒุก ุงูุฐู ูุนุชู ุฏ ุนููู ููุง ู ู ุจุฏุงูุฉ Chapter 1 ูุดุฑุญ:
ู ูููู HTTP
ุฎุตุงุฆุตู
ุงูุทูุจุงุช ูุงูุงุณุชุฌุงุจุงุช
ููู ุชูุชูู ุงูุจูุงูุงุช ุจูู Client ูServer
ูู ุงุฐุง HTTP ุตูู ู ุจูุฐู ุงูุทุฑููุฉ ุฃุตููุง
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept)
---
๐น ุฃูููุง: ู ุง ูู HTTP ูุนููุงุ
HTTP ุงุฎุชุตุงุฑ ูู:
> HyperText Transfer Protocol
ููู ูุฐุง ุงูุชุนุฑูู ูุง ูุดุฑุญ ุดูุฆูุง ูุนูููุง.
ูููู HTTP ุจุนู ูุ ูุฌุจ ุฃู ูููู :
> ูู ุงุฐุง ุชู ุงุฎุชุฑุงุนู ุฃุตููุงุ
---
๐น ููู ุจุฏุฃ ุงูููุจ ุชุงุฑูุฎููุงุ
ูู ุงูุจุฏุงูุฉุ ุงูุฅูุชุฑูุช ูู ููู โุชุทุจููุงุชโ ูู ุง ูุนุฑู ุงูููู .
ูู ููู ููุงู:
ุชุณุฌูู ุฏุฎูู
ุญุณุงุจุงุช
ุฌูุณุงุช
APIs
JWT
React
ุจู ูุงู ุงููุฏู ุงูุฃุณุงุณู:
> ู ุดุงุฑูุฉ ู ุณุชูุฏุงุช ุจูู ุงูุฌุงู ุนุงุช ูู ุฑุงูุฒ ุงูุฃุจุญุงุซ.
ูุนูู:
ุดุฎุต ูุทูุจ ู ูู
ุงูุณูุฑูุฑ ูุฑุณู ุงูู ูู
ู ุซู:
GET /paper.html
ุซู ุงูุณูุฑูุฑ:
HTTP/1.1 200 OK
---
๐ฅ ุงูู ุดููุฉ ุงููุจุฑู
HTTP ุตูู ู ุฃุตููุง:
> โูููู ุงูู ุณุชูุฏุงุชโ
ููููุง ุงูููู ูุณุชุฎุฏู ู ูู:
ุงูุจููู
ุงูู ุตุงุฏูุฉ
ุงูู ุฏููุนุงุช
ุงูุฃูุธู ุฉ ุงูุญุณุงุณุฉ
ูููุง ุจุฏุฃุช ุงูู ุดุงูู ุงูุฃู ููุฉ.
---
๐น ูู ุงุฐุงุ
ูุฃู ุงูุชุตู ูู ุงูุฃุตูู ูู HTTP:
ุจุณูุท ุฌุฏูุง
ุนุฏูู ุงูุญุงูุฉ (Stateless)
ูุตู (Text-based)
ูุงุจู ููุชุนุฏูู ุจุงููุงู ู
---
๐น ู ุงุฐุง ูุนูู Text-Basedุ
ูุนูู ุฃู HTTP ููุณ Binary ู ุนูุฏูุง.
ุจู ู ุฌุฑุฏ:
> ูุต ูู ูู ูุฑุงุกุชู ูุชุนุฏููู ุจุณูููุฉ
ู ุซู:
GET / HTTP/1.1
Host: example.com
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุง ุฃู ูููุงุ
ูุฃู ุฃู ุดุฎุต ูุณุชุทูุน:
ูุฑุงุกุฉ ุงูุทูุจ
ุชุนุฏููู
ุฅุนุงุฏุฉ ุฅุฑุณุงูู
ูููุฐุง:
> ุงูููุจ ุจุทุจูุนุชู โุจูุฆุฉ ุบูุฑ ู ูุซููุฉโ
---
๐น ุงูุขู ุฃูู ููุทุฉ ูู ุงูููู ููู
ุงูู ุณุชุฎุฏู ุงูุนุงุฏู ูุฑู:
ุฒุฑ
ุตูุญุฉ
ูู ูุฐุฌ
ููู ุงูุณูุฑูุฑ ูุง ูุฑู ุดูุฆูุง ู ู ุฐูู.
ุงูุณูุฑูุฑ ูุฑู ููุท:
Request Text
---
๐ง ููู ูููุฑ ุงููุงูุฑุ
ุงูู ุณุชุฎุฏู :
> "ุถุบุทุช ุฒุฑ ุชุณุฌูู ุฏุฎูู"
ุงููุงูุฑ:
> "ุชู ุฅุฑุณุงู POST Request"
ุงูู ุณุชุฎุฏู :
> "ูุฐู ุตูุญุฉ ู ููู ุงูุดุฎุตู"
ุงููุงูุฑ:
> "ูุฐุง endpoint ูุณุชูุจู id"
---
๐ฅ ุฅุฐู ู ุง ูู ุงูุงุฎุชุฑุงู ุงูุญููููุ
ูู ุฃุบูุจ ุงุฎุชุฑุงูุงุช ุงูููุจ:
> ุฃูุช ูุง โุชูุณุฑ ุงูู ููุนโ
ุจู:
> ุชุบููุฑ ุทุฑููุฉ ููู ุงูุณูุฑูุฑ ููุทูุจ
---
๐น ู ูููู Stateless (ุนู ูู ุฌุฏูุง)
ุงููุชุงุจ ูุฐูุฑ ุฃู HTTP:
> Stateless Protocol
ููู ู ุง ู ุนูู ุฐูู ูุนูููุงุ
---
๐ง ุงูู ุนูู ุงูุญูููู
ุงูุณูุฑูุฑ:
> ูุง ูุชุฐูุฑ ุฃู ุดูุก ุจูู ุงูุทูุจุงุช
ูู Request ู ุณุชูู ุชู ุงู ูุง.
---
๐ฅ ู ุซุงู ูุงูุนู
ุฅุฐุง ุฃุฑุณูุช:
GET /profile
ุซู ุจุนุฏ ุซุงููุฉ:
GET /settings
ุงูุณูุฑูุฑ ูุง ูุนุฑู ุฃู:
ููุณ ุงูุดุฎุต ุฃุฑุณู ุงูุทูุจูู
ุฅูุง ุฅุฐุง ุชู ุฅุซุจุงุช ุฐูู
---
๐ฅ ููู ุญูููุช ูุฐู ุงูู ุดููุฉุ
ุชู ุงุฎุชุฑุงุน:
Cookies
Sessions
Tokens
ููุฐู ููุณุช ุฌุฒุกูุง ุฃุตูููุง ู ู HTTP.
ุจู:
> ุญููู ุฅุถุงููุฉ ููู ุจุฑูุชูููู ุจุณูุท ูู ููุตู ู ููุญุงูุฉ (State).
---
๐ฅ ูููุง ุชุจุฏุฃ ูู ูุฉ ูุงุฆูุฉ ู ู ุงูุซุบุฑุงุช
ูุฃู:
HTTP ูุง ูุนุฑู ุงูู ุณุชุฎุฏู
ูุญู ูุญุงูู โุฅุฌุจุงุฑูโ ุนูู ุชุฐูุฑ ุงูู ุณุชุฎุฏู
ูู ู ููุง ุธูุฑุช:
Session Hijacking
CSRF
Cookie Attacks
---
๐น ุฎุงุตูุฉ ุฃุฎุฑู ู ูู ุฉ: HTTP ุบูุฑ ู ุดูุฑ
ุงููุชุงุจ ูุฐูุฑ ุฃู HTTP:
> ูุง ูุญุชูู ุชุดููุฑูุง ุฏุงุฎูููุง
---
๐ง ู ุงุฐุง ูุนูู ูุฐุงุ
ุฃู ุฌูุงุฒ ูู ุงูุทุฑูู ูู ููู ุฑุคูุฉ ุงูุจูุงูุงุช:
Router
ISP
Proxy
ุฃู ุดุฎุต ุนูู ุงูุดุจูุฉ
---
๐ฅ ูุฐูู ุธูุฑ HTTPS
HTTPS ููุณ ุจุฑูุชูููููุง ุฌุฏูุฏูุง ุจุงููุงู ู.
ุจู:
> HTTP ุฏุงุฎู ุทุจูุฉ TLS/SSL
ูุนูู:
HTTP + Encryption = HTTPS
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุง ุฃู ูููุงุ
ุจุฏูู HTTPS:
ููู ุงุช ุงูู ุฑูุฑ ู ูุดููุฉ
ุงูููููุฒ ู ูุดููุฉ
ุงูุชูููุงุช ู ูุดููุฉ
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Deep Architecture)
---
๐น ู ุงุฐุง ูุญุฏุซ ุนูุฏู ุง ุชูุชุญ ู ููุนูุงุ
ุนูุฏู ุง ุชูุชุจ:
google.com
ุฃูุช ูุง โุชุฐูุจ ูู ููุนโ.
ุจู ุชุจุฏุฃ ุณูุณูุฉ ู ุนูุฏุฉ ุฌุฏูุง.
---
๐งฉ ุงูู ุฑุญูุฉ 1 โ DNS
ุงูู ุชุตูุญ ูุง ูููู :
google.com
ุจู ูุญุชุงุฌ:
142.250.xxx.xxx
ูุฐูู ูุณุฃู DNS.
---
๐งฉ ุงูู ุฑุญูุฉ 2 โ ุฅูุดุงุก ุงูุงุชุตุงู
ูุจุฏุฃ TCP Handshake.
ูู ุงุฐุงุ ูุฃู HTTP ูุนุชู ุฏ ุนูู TCP.
---
๐ฅ ูู ุงุฐุง TCP ู ูู ุ
ูุฃู TCP:
ูุถู ู ุงูุชุฑุชูุจ
ูู ูุน ููุฏุงู ุงูุจูุงูุงุช
ูุถู ู ูุตูู ุงูุญุฒู
---
๐งฉ ุงูู ุฑุญูุฉ 3 โ ุจูุงุก HTTP Request
ุงูุขู ุงูู ุชุตูุญ ูุจูู ุงูุทูุจ.
---
๐ฌ ุชุญููู ุญูููู ููุทูุจ
ู ู ุงููุชุงุจ:
GET /index.html HTTP/1.1
Host: www.redseclabs.com
User-Agent: Mozilla/5.0
Referer: https://google.com
---
๐ ุงูุณุทุฑ ุงูุฃูู
GET /index.html HTTP/1.1
ูุฐุง ูุณู ู:
> Request Line
---
๐น GET
ููุน ุงูุนู ููุฉ (Method)
---
๐น /index.html
ุงูู ูุฑุฏ ุงูู ุทููุจ
---
๐น HTTP/1.1
ูุณุฎุฉ ุงูุจุฑูุชูููู
---
๐ฅ ููุทุฉ ุงุญุชุฑุงููุฉ
ุงูุณูุฑูุฑ ูุง ูุนุฑู:
ูู ูุฐุง ุฒุฑุ
ูู ูุฐุง ููุฑู ุ
ุจู ูุนุฑู ููุท:
Method + Path
---
๐ Host Header
Host: www.redseclabs.com
---
๐ง ูู ุงุฐุง ุฃูุถูู Host ุฃุตููุงุ
ูุฏูู ูุง:
ูู IP = ู ููุน ูุงุญุฏ
ููู ูุงุญููุง:
IP ูุงุญุฏ ูุณุชุถูู ุขูุงู ุงูู ูุงูุน
ููู ูู ูุฒ ุงูุณูุฑูุฑุ
ุนุจุฑ:
Host
---
๐ฅ ุงูุขู ุจุฏุฃุช ุงูู ุดุงูู ุงูุฃู ููุฉ
ูุฃู ุงูุณูุฑูุฑ:
> ุจุฏุฃ ูุนุชู ุฏ ุนูู ููู ุฉ ูุฑุณููุง ุงูู ุณุชุฎุฏู
ูู ู ููุง ุธูุฑุช:
Host Header Injection
Password Reset Poisoning
---
๐ User-Agent
User-Agent: Mozilla/5.0
---
๐ง ูู ุงุฐุง ููุฌุฏุ
ูุฃู ุงูู ูุงูุน ุงุญุชุงุฌุช ู ุนุฑูุฉ:
ููุน ุงูู ุชุตูุญ
ุงููุธุงู
ุงูุชูุงูู
---
๐ฅ ููู ุงูู ุดููุฉ
ูู ู ุฌุฑุฏ:
> String ูู ูู ุชุฒููุฑู ุจุงููุงู ู
---
๐ Referer
Referer: https://google.com
---
๐ง ูู ุงุฐุง ููุฌุฏุ
ูุฅุฎุจุงุฑ ุงูุณูุฑูุฑ:
> ู ู ุฃูู ุฌุงุก ุงูู ุณุชุฎุฏู
---
๐ฅ ูู ุงุฐุง ุฃุตุจุญ ุฎุทูุฑูุงุ
ูุฃูู ูุฏ ูุณุฑูุจ:
tokens
sessions
reset links
---
๐งฉ ุงูู ุฑุญูุฉ 4 โ ุงูุณูุฑูุฑ ูุฑุฏ
ู ุซุงู ู ู ุงููุชุงุจ:
HTTP/1.1 200 OK
Server: Apache/2.4.41
Content-Type: text/html
---
๐ฅ ููุง ูุจุฏุฃ ุชูููุฑ ุงููุงูุฑ
Server: Apache/2.4.41
ูุฐู ููุณุช โู ุนููู ุฉ ุจุฑูุฆุฉโ.
ุจู:
> ุจุตู ุฉ ุชูููุฉ (Fingerprint)
---
๐ง ู ุงุฐุง ููุนู ุงููุงูุฑุ
ูุจุญุซ:
ูู ูุฐุง ุงูุฅุตุฏุงุฑ ูุฏูู ุ
ูู ูู CVEุ
ูู ููุฌุฏ Exploitุ
---
3) ๐ฃ ุงูุชุทุจูู (Attack Scenarios โ Real Security Thinking)
---
๐ฅ ุณููุงุฑูู 1 โ ุงูุจูุงูุงุช ูู GET
GET /login?user=admin&pass=123
---
๐ฌ ูู ุงุฐุง ูุฐุง ูุงุฑุซูุ
ูุฃู Query String:
ุชูุฎุฒู
ุชูุณุฌู
ุชูุดุงุฑู
---
๐ฅ ุฃููุ
1๏ธโฃ Browser History
ุงูู ุชุตูุญ ูุญูุธ ุงูุฑุงุจุท ูุงู ููุง.
---
2๏ธโฃ Server Logs
ุงูุณูุฑูุฑ ูุณุฌู ุงูุทูุจ.
---
3๏ธโฃ Referer Leakage
ุฅุฐุง ุฎุฑุฌ ุงูู ุณุชุฎุฏู ูู ููุน ุขุฎุฑ: ูุฏ ููุฑุณู ุงูุฑุงุจุท ูุงู ููุง.
---
๐ฅ ุงูุณููุงุฑูู ุงูุญูููู
ู ููุน:
/reset?token=ABC123
ุซู ุงูู ุณุชุฎุฏู ูุถุบุท ุฅุนูุงู ุฎุงุฑุฌู.
ุงูู ุชุตูุญ ูุฏ ูุฑุณู:
Referer: https://site.com/reset?token=ABC123
๐ฅ ุงูุชูู ุงูุฃู ุฑ.
---
๐ฅ ุณููุงุฑูู 2 โ ุงูุงุนุชู ุงุฏ ุนูู User-Agent
ุชุทุจูู:
if User-Agent == mobile
ุงููุงูุฑ:
User-Agent: iPhone
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 3 โ ู ุนููู ุงุช ุงูุณูุฑูุฑ
Server: Apache/2.4.41
ุงููุงูุฑ:
ูุจุญุซ ุนู ุซุบุฑุงุช ููุฐุง ุงูุฅุตุฏุงุฑ
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Architectural Thinking)
---
๐ 1) Treat Everything as Untrusted
ุฃู ุดูุก ูุฃุชู ู ู:
Request
Header
Parameter
โ ุบูุฑ ู ูุซูู
---
๐ 2) ูุง ุชุถุน Secrets ูู URL
ุฃุจุฏูุง.
---
๐ 3) ุงุณุชุฎุฏู HTTPS ุฏุงุฆู ูุง
ูุฃู HTTP:
> ุบูุฑ ุขู ู ุจุทุจูุนุชู
---
๐ 4) ููู ุงูู ุนููู ุงุช
ูุง ุชุนุฑุถ:
ุงูุฅุตุฏุงุฑุงุช
ุงูุชูุงุตูู ุงูุฏุงุฎููุฉ
---
๐ 5) ุงููู ุฃู ุงููุงุฌูุฉ ููุณุช ุญู ุงูุฉ
JavaScript: โ ููุณ Security Boundary
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (ุงุญุชุฑุงูู)
---
๐งช ุชู ุฑูู 1 โ ุฑุคูุฉ HTTP ุงูุญูููู
ุงูุชุญ:
DevTools
Network
ุฑุงูุจ:
Method
Headers
Response
---
๐งช ุชู ุฑูู 2 โ ุงูุชูููุฑ ููุงูุฑ
ููู Request ุงุณุฃู:
ู ุงุฐุง ูู ุบูุฑุชูุ
ูู ูุชุญูู ุงูุณูุฑูุฑุ
---
๐งช ุชู ุฑูู 3 โ ุชุญููู ู ุนู ุงุฑู
ุฎุฐ ุฃู ู ููุน ูุงุณุฃู:
ุฃูู ุชูุฎุฒู ุงูุจูุงูุงุชุ
ูู ููุงู GET ุญุณุงุณุ
ูู ููุฌุฏ ู ุนููู ุงุช ูู headersุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุฃูู ููุณ ุนู โHTTP ููุทโ.
ุจู ุนู:
> ููู ุตูู ู ุงูููุจ ุฃุตููุงุ ููู ุงุฐุง ุฃุฏู ูุฐุง ุงูุชุตู ูู ุฅูู ุธููุฑ ุงูุซุบุฑุงุช ุงูุญุฏูุซุฉ.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู ููู
> "ู ุนุธู ุงุฎุชุฑุงูุงุช ุงูููุจ ููุณุช ูุณุฑูุง ููุชุดููุฑโฆ ุจู ุงุณุชุบูุงู ูุทุฑููุฉ ููู ุงูุณูุฑูุฑ ููุทูุจุงุช."
---
๐ง ูู ุงุฐุง ุฃูุถูู Host ุฃุตููุงุ
ูุฏูู ูุง:
ูู IP = ู ููุน ูุงุญุฏ
ููู ูุงุญููุง:
IP ูุงุญุฏ ูุณุชุถูู ุขูุงู ุงูู ูุงูุน
ููู ูู ูุฒ ุงูุณูุฑูุฑุ
ุนุจุฑ:
Host
---
๐ฅ ุงูุขู ุจุฏุฃุช ุงูู ุดุงูู ุงูุฃู ููุฉ
ูุฃู ุงูุณูุฑูุฑ:
> ุจุฏุฃ ูุนุชู ุฏ ุนูู ููู ุฉ ูุฑุณููุง ุงูู ุณุชุฎุฏู
ูู ู ููุง ุธูุฑุช:
Host Header Injection
Password Reset Poisoning
---
๐ User-Agent
User-Agent: Mozilla/5.0
---
๐ง ูู ุงุฐุง ููุฌุฏุ
ูุฃู ุงูู ูุงูุน ุงุญุชุงุฌุช ู ุนุฑูุฉ:
ููุน ุงูู ุชุตูุญ
ุงููุธุงู
ุงูุชูุงูู
---
๐ฅ ููู ุงูู ุดููุฉ
ูู ู ุฌุฑุฏ:
> String ูู ูู ุชุฒููุฑู ุจุงููุงู ู
---
๐ Referer
Referer: https://google.com
---
๐ง ูู ุงุฐุง ููุฌุฏุ
ูุฅุฎุจุงุฑ ุงูุณูุฑูุฑ:
> ู ู ุฃูู ุฌุงุก ุงูู ุณุชุฎุฏู
---
๐ฅ ูู ุงุฐุง ุฃุตุจุญ ุฎุทูุฑูุงุ
ูุฃูู ูุฏ ูุณุฑูุจ:
tokens
sessions
reset links
---
๐งฉ ุงูู ุฑุญูุฉ 4 โ ุงูุณูุฑูุฑ ูุฑุฏ
ู ุซุงู ู ู ุงููุชุงุจ:
HTTP/1.1 200 OK
Server: Apache/2.4.41
Content-Type: text/html
---
๐ฅ ููุง ูุจุฏุฃ ุชูููุฑ ุงููุงูุฑ
Server: Apache/2.4.41
ูุฐู ููุณุช โู ุนููู ุฉ ุจุฑูุฆุฉโ.
ุจู:
> ุจุตู ุฉ ุชูููุฉ (Fingerprint)
---
๐ง ู ุงุฐุง ููุนู ุงููุงูุฑุ
ูุจุญุซ:
ูู ูุฐุง ุงูุฅุตุฏุงุฑ ูุฏูู ุ
ูู ูู CVEุ
ูู ููุฌุฏ Exploitุ
---
3) ๐ฃ ุงูุชุทุจูู (Attack Scenarios โ Real Security Thinking)
---
๐ฅ ุณููุงุฑูู 1 โ ุงูุจูุงูุงุช ูู GET
GET /login?user=admin&pass=123
---
๐ฌ ูู ุงุฐุง ูุฐุง ูุงุฑุซูุ
ูุฃู Query String:
ุชูุฎุฒู
ุชูุณุฌู
ุชูุดุงุฑู
---
๐ฅ ุฃููุ
1๏ธโฃ Browser History
ุงูู ุชุตูุญ ูุญูุธ ุงูุฑุงุจุท ูุงู ููุง.
---
2๏ธโฃ Server Logs
ุงูุณูุฑูุฑ ูุณุฌู ุงูุทูุจ.
---
3๏ธโฃ Referer Leakage
ุฅุฐุง ุฎุฑุฌ ุงูู ุณุชุฎุฏู ูู ููุน ุขุฎุฑ: ูุฏ ููุฑุณู ุงูุฑุงุจุท ูุงู ููุง.
---
๐ฅ ุงูุณููุงุฑูู ุงูุญูููู
ู ููุน:
/reset?token=ABC123
ุซู ุงูู ุณุชุฎุฏู ูุถุบุท ุฅุนูุงู ุฎุงุฑุฌู.
ุงูู ุชุตูุญ ูุฏ ูุฑุณู:
Referer: https://site.com/reset?token=ABC123
๐ฅ ุงูุชูู ุงูุฃู ุฑ.
---
๐ฅ ุณููุงุฑูู 2 โ ุงูุงุนุชู ุงุฏ ุนูู User-Agent
ุชุทุจูู:
if User-Agent == mobile
ุงููุงูุฑ:
User-Agent: iPhone
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 3 โ ู ุนููู ุงุช ุงูุณูุฑูุฑ
Server: Apache/2.4.41
ุงููุงูุฑ:
ูุจุญุซ ุนู ุซุบุฑุงุช ููุฐุง ุงูุฅุตุฏุงุฑ
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Architectural Thinking)
---
๐ 1) Treat Everything as Untrusted
ุฃู ุดูุก ูุฃุชู ู ู:
Request
Header
Parameter
โ ุบูุฑ ู ูุซูู
---
๐ 2) ูุง ุชุถุน Secrets ูู URL
ุฃุจุฏูุง.
---
๐ 3) ุงุณุชุฎุฏู HTTPS ุฏุงุฆู ูุง
ูุฃู HTTP:
> ุบูุฑ ุขู ู ุจุทุจูุนุชู
---
๐ 4) ููู ุงูู ุนููู ุงุช
ูุง ุชุนุฑุถ:
ุงูุฅุตุฏุงุฑุงุช
ุงูุชูุงุตูู ุงูุฏุงุฎููุฉ
---
๐ 5) ุงููู ุฃู ุงููุงุฌูุฉ ููุณุช ุญู ุงูุฉ
JavaScript: โ ููุณ Security Boundary
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (ุงุญุชุฑุงูู)
---
๐งช ุชู ุฑูู 1 โ ุฑุคูุฉ HTTP ุงูุญูููู
ุงูุชุญ:
DevTools
Network
ุฑุงูุจ:
Method
Headers
Response
---
๐งช ุชู ุฑูู 2 โ ุงูุชูููุฑ ููุงูุฑ
ููู Request ุงุณุฃู:
ู ุงุฐุง ูู ุบูุฑุชูุ
ูู ูุชุญูู ุงูุณูุฑูุฑุ
---
๐งช ุชู ุฑูู 3 โ ุชุญููู ู ุนู ุงุฑู
ุฎุฐ ุฃู ู ููุน ูุงุณุฃู:
ุฃูู ุชูุฎุฒู ุงูุจูุงูุงุชุ
ูู ููุงู GET ุญุณุงุณุ
ูู ููุฌุฏ ู ุนููู ุงุช ูู headersุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุฃูู ููุณ ุนู โHTTP ููุทโ.
ุจู ุนู:
> ููู ุตูู ู ุงูููุจ ุฃุตููุงุ ููู ุงุฐุง ุฃุฏู ูุฐุง ุงูุชุตู ูู ุฅูู ุธููุฑ ุงูุซุบุฑุงุช ุงูุญุฏูุซุฉ.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู ููู
> "ู ุนุธู ุงุฎุชุฑุงูุงุช ุงูููุจ ููุณุช ูุณุฑูุง ููุชุดููุฑโฆ ุจู ุงุณุชุบูุงู ูุทุฑููุฉ ููู ุงูุณูุฑูุฑ ููุทูุจุงุช."
๐
ุงูููู
2 โ HTTP Methods & Headers (ุดุฑุญ ู
ุนู
ุงุฑู ููุฌูู
ู ุนู
ูู)
> ุงูููู ุงูุฃูู ููู ูุง ููู:
ูู ุงุฐุง HTTP ุตูู ู ุจูุฐู ุงูุทุฑููุฉ
ููู ูุชุญุฑู ุงูุทูุจ
ููู ูุฑู ุงูุณูุฑูุฑ ุงูุนุงูู
ุงูููู ุงูุซุงูู ุณูุฏุฎู ุฅูู: ๐ฅ โุงูุทุจูุฉ ุงูุชู ูุนุชู ุฏ ุนูููุง ุงูุชุทุจูู ูุงุชุฎุงุฐ ุงููุฑุงุฑุงุชโ
ููู:
Methods
Headers
ููุฐุง ุงูููู ู ูู ุฌุฏูุง ูุฃู ูุซูุฑูุง ู ู:
Logic Bugs
Authentication bypasses
Cache Poisoning
Password Reset Poisoning
Access Control flaws
ุชุจุฏุฃ ู ู ุณูุก ููู ูุฐู ุงูุทุจูุฉ.
ุงููุชุงุจ ูู ูุฐุง ุงูุฌุฒุก ูุดุฑุญ:
ุฎุตุงุฆุต HTTP methods
ุงููุฑู ุจูู GET ูPOST
ุฎุทูุฑุฉ ูุถุน ุงูุจูุงูุงุช ุงูุญุณุงุณุฉ ุฏุงุฎู URL
ุงูููุฏุฑุฒ ุงูู ุฎุชููุฉ ู ุซู Host ูReferer ูUser-Agent
ูููู ุชุคุฏู ุฅูู ู ุดุงูู ุฃู ููุฉ ุนูุฏ ุงูุซูุฉ ุจูุง ุจุดูู ุฎุงุทุฆ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept)
---
๐น ุฃูููุง: ู ุง ูู HTTP Methods ูุนููุงุ
ูู ุงูุดุฑุญ ุงูุณุทุญู ูููุงู:
GET = ุฌูุจ ุจูุงูุงุช
POST = ุฅุฑุณุงู ุจูุงูุงุช
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ ุงูููู ุงูุญูููู
HTTP Methods ููุณุช โุชุนููู ุงุช ุจุฑู ุฌูุฉโ.
ุจู:
> โุฅุดุงุฑุงุช Intentโ ูุฎุจุฑ ุจูุง ุงูุนู ูู ุงูุณูุฑูุฑ ู ุงุฐุง ูุฑูุฏ ุฃู ููุนู.
ู ุซููุง:
GET /profile
ุงูู ุนูู ุงูู ูุทูู:
> โุฃุฑูุฏ ูุฑุงุกุฉ profileโ
---
POST /profile
ุงูู ุนูู:
> โุฃุฑูุฏ ุฅุฑุณุงู/ุชุนุฏูู ุจูุงูุงุชโ
---
๐ฅ ููู ููุง ุงูู ุดููุฉ ุงููุจูุฑุฉ
HTTP ููุณู:
> ูุง ููุฑุถ ูุฐู ุงูู ุนุงูู
ูุนูู:
ูู ูู ุฃู ุชุฌุนู GET ูุญุฐู ุจูุงูุงุช
ููู ูู ุฃู ุชุฌุนู POST ููุฑุฃ ููุท
---
๐ง ุฅุฐู ุฃูู ุชุฃุชู ุงูููุงุนุฏุ
ู ู:
ุงูู ุทูุฑ
Framework
Convention
ูููุณ ู ู HTTP ููุณู.
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฃู ูููุงุ
ูุฃู ูุซูุฑูุง ู ู ุงูู ุทูุฑูู ูุฎูุท ุจูู:
> โุงูู ุนูู ุงูู ุชููุนโ ู โุงูุณููู ุงูุญููููโ
---
๐ฅ ู ุซุงู ุฎุทูุฑ ุฌุฏูุง
ุงูู ุทูุฑ ูุนุชูุฏ:
GET = ุขู ู
ููููู ุจูุชุงุจุฉ:
GET /deleteUser?id=5
---
๐ฃ ู ุง ุงูู ุดููุฉุ
ูุฃู GET:
ูู ูู ูุชุญู ุนุจุฑ ุฑุงุจุท
ูู ูู ุนู ู preload ูู
ูู ูู ุฃู ูุฒูุฑู ุงูู ุชุตูุญ ุชููุงุฆููุง
ูู ูู ุชุถู ููู ุฏุงุฎู img/script
---
๐ฅ ุงูุขู ุจุฏุฃุช ู ุดุงูู ู ุซู:
CSRF
Accidental Actions
Unsafe State Changes
---
๐น ุซุงูููุง: ู ุง ูู Headers ู ุนู ุงุฑููุงุ
ุงูุดุฑุญ ุงูุณุทุญู:
> โู ุนููู ุงุช ุฅุถุงููุฉโ
ููู ุงูุญูููุฉ:
Headers ูู:
> ุทุจูุฉ Metadata ุชุชุญูู ุจููููุฉ ุชูุณูุฑ ุงูุทูุจ ูุงูุฑุฏ.
---
๐ง ู ุงุฐุง ูุนูู Metadataุ
ูุนูู:
ู ุนููู ุงุช ุนู ุงูุจูุงูุงุช
ูููุณ ุงูุจูุงูุงุช ููุณูุง
ู ุซู:
ู ู ุฃุฑุณูุ
ู ู ุฃูู ุฌุงุกุ
ู ุงุฐุง ููุจูุ
ู ุง ููุน ุงูู ุญุชููุ
ููู ูุฌุจ ุชูุณูุฑูุ
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุงุ
ูุฃู ุงูุชุทุจูู ูุจุฏุฃ ุจุงูุงุนุชู ุงุฏ ุนูููุง ูุงุชุฎุงุฐ ูุฑุงุฑุงุช.
---
๐ฅ ูููุง ุฃุตู ุงูู ุดููุฉ
Headers:
ุชุจุฏู โุฑุณู ูุฉโ
ููููุง ุชุฃุชู ู ู ุงูู ุณุชุฎุฏู
---
๐ง ุงูุชูุงูุถ ุงูุฎุทูุฑ
ุงูุณูุฑูุฑ ูุชุนุงู ู ู ุนูุง ุฃุญูุงููุง ูุฃููุง:
> Trusted Context
ููููุง ูุนูููุง:
> User Input
---
๐ฅ ููุฐุง ุฃุตู ูู ูุฉ ุถุฎู ุฉ ู ู ุงูุซุบุฑุงุช ุงูุญุฏูุซุฉ.
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Deep Technical Analysis)
---
๐น ุชุญููู GET ุจุนู ู
ู ุซุงู ุงููุชุงุจ:
GET /login.php?username=myusername&password=mypassword HTTP/1.1
---
๐ฌ ู ุงุฐุง ูุญุฏุซ ูุนูููุง ููุงุ
ุงูุจูุงูุงุช ุฃุตุจุญุช ุฌุฒุกูุง ู ู:
URL
---
๐ฅ ูู ุงุฐุง ูุฐุง ุฎุทูุฑ ุฌุฏูุง ู ุนู ุงุฑููุงุ
ูุฃู ุงูููุจ ููู ุจููู ุนูู ุงูุชุฑุงุถ ุฃู:
> URL ูู ุซู โู ูุฑุฏูุงโ ูู ูู:
ุญูุธู
ู ุดุงุฑูุชู
ุชุฎุฒููู
ุนู ู Cache ูู
---
๐ฅ ุฅุฐู ุนูุฏู ุง ุชุถุน Secret ุฏุงุฎู URL:
ุฃูุช ูุนูููุง:
> ุชูุฏุฎู ุงูุณุฑ ุฏุงุฎู ุจููุฉ ุงูููุจ ููุณูุง
---
๐ฌ ุฃูู ููุชุดุฑ ูุฐุง ุงูุณุฑุ
---
1๏ธโฃ Browser History
ุงูู ุชุตูุญ ูุญูุธ:
/login?username=...&password=...
---
2๏ธโฃ Server Logs
Apache/Nginx ุบุงูุจูุง ูุณุฌู ุงูุทูุจ ูุงู ููุง.
---
3๏ธโฃ Reverse Proxies
ู ุซู:
Cloudflare
Nginx
CDN
ูุฏ ุชุณุฌู ุงูุทูุจุงุช.
---
4๏ธโฃ Analytics Platforms
ูุฏ ุชูุฑุฃ URLs.
---
5๏ธโฃ Referer Leakage
ููุฐู ุฃุฎุทุฑ ููุทุฉ ุบุงูุจูุง.
ุฅุฐุง ุฒุงุฑ ุงูู ุณุชุฎุฏู :
/reset?token=ABC
ุซู ุฎุฑุฌ ุฅูู:
facebook.com
ูุฏ ูุฑุณู ุงูู ุชุตูุญ:
Referer: https://site.com/reset?token=ABC
๐ฅ ุงูุขู ุงูุชููู ุฎุฑุฌ ุฎุงุฑุฌ ุงููุธุงู .
---
๐น POST (ุงูููู ุงูุญูููู)
ู ุซุงู:
POST /login.php HTTP/1.1
username=admin&password=123
---
๐ฌ ูู ุงุฐุง POST โุฃูุถูโุ
ููุณ ูุฃูู:
> ุขู ู
ุจู ูุฃู:
> Body ูุง ููุนุงู ู ูุจููุฉ URL
---
๐ฅ ู ุงุฐุง ูุนูู ุฐููุ
ุนุงุฏุฉ:
ูุง ูุฏุฎู history
ูุง ููุณุชุฎุฏู cache key
ูุง ููุฑุณู ูู Referer
---
โ ููู ุงูุชุจู
POST:
ู ุง ุฒุงู ูุงุจููุง ููุงุนุชุฑุงุถ
ู ุง ุฒุงู ูุงุจููุง ููุชุนุฏูู
ู ุง ุฒุงู ูููุฑุฃ ุฏุงุฎู ุงูุณูุฑูุฑ
---
๐ฅ ุฃูู ููุทุฉ
ุงููุฑู ุจูู:
GET
POST
ููุณ:
> Security
ุจู:
> How the web ecosystem treats the data
---
๐น ุชุญููู Headers ุจุนู ู
---
๐ Host Header
Host: example.com
---
๐ง ูู ุงุฐุง ุฃูุถููุ
ูุฏูู ูุง:
IP ูุงุญุฏ = ู ููุน ูุงุญุฏ
ูุงุญููุง:
Virtual Hosting
ูุฃุตุจุญ:
IP ูุงุญุฏ = ุขูุงู ุงูู ูุงูุน
---
๐ฅ ุฅุฐู Host ุฃุตุจุญ:
> ุทุฑููุฉ ุงุฎุชูุงุฑ ุงูุชุทุจูู ุฏุงุฎู ุงูุณูุฑูุฑ
---
๐ฃ ุงูู ุดููุฉ ุงูุฃู ููุฉ
ุงูู ุทูุฑ ุจุฏุฃ ูุณุชุฎุฏู Host ูู:
> ุงูููู ุงูุฃูู ููู ูุง ููู:
ูู ุงุฐุง HTTP ุตูู ู ุจูุฐู ุงูุทุฑููุฉ
ููู ูุชุญุฑู ุงูุทูุจ
ููู ูุฑู ุงูุณูุฑูุฑ ุงูุนุงูู
ุงูููู ุงูุซุงูู ุณูุฏุฎู ุฅูู: ๐ฅ โุงูุทุจูุฉ ุงูุชู ูุนุชู ุฏ ุนูููุง ุงูุชุทุจูู ูุงุชุฎุงุฐ ุงููุฑุงุฑุงุชโ
ููู:
Methods
Headers
ููุฐุง ุงูููู ู ูู ุฌุฏูุง ูุฃู ูุซูุฑูุง ู ู:
Logic Bugs
Authentication bypasses
Cache Poisoning
Password Reset Poisoning
Access Control flaws
ุชุจุฏุฃ ู ู ุณูุก ููู ูุฐู ุงูุทุจูุฉ.
ุงููุชุงุจ ูู ูุฐุง ุงูุฌุฒุก ูุดุฑุญ:
ุฎุตุงุฆุต HTTP methods
ุงููุฑู ุจูู GET ูPOST
ุฎุทูุฑุฉ ูุถุน ุงูุจูุงูุงุช ุงูุญุณุงุณุฉ ุฏุงุฎู URL
ุงูููุฏุฑุฒ ุงูู ุฎุชููุฉ ู ุซู Host ูReferer ูUser-Agent
ูููู ุชุคุฏู ุฅูู ู ุดุงูู ุฃู ููุฉ ุนูุฏ ุงูุซูุฉ ุจูุง ุจุดูู ุฎุงุทุฆ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept)
---
๐น ุฃูููุง: ู ุง ูู HTTP Methods ูุนููุงุ
ูู ุงูุดุฑุญ ุงูุณุทุญู ูููุงู:
GET = ุฌูุจ ุจูุงูุงุช
POST = ุฅุฑุณุงู ุจูุงูุงุช
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ ุงูููู ุงูุญูููู
HTTP Methods ููุณุช โุชุนููู ุงุช ุจุฑู ุฌูุฉโ.
ุจู:
> โุฅุดุงุฑุงุช Intentโ ูุฎุจุฑ ุจูุง ุงูุนู ูู ุงูุณูุฑูุฑ ู ุงุฐุง ูุฑูุฏ ุฃู ููุนู.
ู ุซููุง:
GET /profile
ุงูู ุนูู ุงูู ูุทูู:
> โุฃุฑูุฏ ูุฑุงุกุฉ profileโ
---
POST /profile
ุงูู ุนูู:
> โุฃุฑูุฏ ุฅุฑุณุงู/ุชุนุฏูู ุจูุงูุงุชโ
---
๐ฅ ููู ููุง ุงูู ุดููุฉ ุงููุจูุฑุฉ
HTTP ููุณู:
> ูุง ููุฑุถ ูุฐู ุงูู ุนุงูู
ูุนูู:
ูู ูู ุฃู ุชุฌุนู GET ูุญุฐู ุจูุงูุงุช
ููู ูู ุฃู ุชุฌุนู POST ููุฑุฃ ููุท
---
๐ง ุฅุฐู ุฃูู ุชุฃุชู ุงูููุงุนุฏุ
ู ู:
ุงูู ุทูุฑ
Framework
Convention
ูููุณ ู ู HTTP ููุณู.
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฃู ูููุงุ
ูุฃู ูุซูุฑูุง ู ู ุงูู ุทูุฑูู ูุฎูุท ุจูู:
> โุงูู ุนูู ุงูู ุชููุนโ ู โุงูุณููู ุงูุญููููโ
---
๐ฅ ู ุซุงู ุฎุทูุฑ ุฌุฏูุง
ุงูู ุทูุฑ ูุนุชูุฏ:
GET = ุขู ู
ููููู ุจูุชุงุจุฉ:
GET /deleteUser?id=5
---
๐ฃ ู ุง ุงูู ุดููุฉุ
ูุฃู GET:
ูู ูู ูุชุญู ุนุจุฑ ุฑุงุจุท
ูู ูู ุนู ู preload ูู
ูู ูู ุฃู ูุฒูุฑู ุงูู ุชุตูุญ ุชููุงุฆููุง
ูู ูู ุชุถู ููู ุฏุงุฎู img/script
---
๐ฅ ุงูุขู ุจุฏุฃุช ู ุดุงูู ู ุซู:
CSRF
Accidental Actions
Unsafe State Changes
---
๐น ุซุงูููุง: ู ุง ูู Headers ู ุนู ุงุฑููุงุ
ุงูุดุฑุญ ุงูุณุทุญู:
> โู ุนููู ุงุช ุฅุถุงููุฉโ
ููู ุงูุญูููุฉ:
Headers ูู:
> ุทุจูุฉ Metadata ุชุชุญูู ุจููููุฉ ุชูุณูุฑ ุงูุทูุจ ูุงูุฑุฏ.
---
๐ง ู ุงุฐุง ูุนูู Metadataุ
ูุนูู:
ู ุนููู ุงุช ุนู ุงูุจูุงูุงุช
ูููุณ ุงูุจูุงูุงุช ููุณูุง
ู ุซู:
ู ู ุฃุฑุณูุ
ู ู ุฃูู ุฌุงุกุ
ู ุงุฐุง ููุจูุ
ู ุง ููุน ุงูู ุญุชููุ
ููู ูุฌุจ ุชูุณูุฑูุ
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุงุ
ูุฃู ุงูุชุทุจูู ูุจุฏุฃ ุจุงูุงุนุชู ุงุฏ ุนูููุง ูุงุชุฎุงุฐ ูุฑุงุฑุงุช.
---
๐ฅ ูููุง ุฃุตู ุงูู ุดููุฉ
Headers:
ุชุจุฏู โุฑุณู ูุฉโ
ููููุง ุชุฃุชู ู ู ุงูู ุณุชุฎุฏู
---
๐ง ุงูุชูุงูุถ ุงูุฎุทูุฑ
ุงูุณูุฑูุฑ ูุชุนุงู ู ู ุนูุง ุฃุญูุงููุง ูุฃููุง:
> Trusted Context
ููููุง ูุนูููุง:
> User Input
---
๐ฅ ููุฐุง ุฃุตู ูู ูุฉ ุถุฎู ุฉ ู ู ุงูุซุบุฑุงุช ุงูุญุฏูุซุฉ.
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Deep Technical Analysis)
---
๐น ุชุญููู GET ุจุนู ู
ู ุซุงู ุงููุชุงุจ:
GET /login.php?username=myusername&password=mypassword HTTP/1.1
---
๐ฌ ู ุงุฐุง ูุญุฏุซ ูุนูููุง ููุงุ
ุงูุจูุงูุงุช ุฃุตุจุญุช ุฌุฒุกูุง ู ู:
URL
---
๐ฅ ูู ุงุฐุง ูุฐุง ุฎุทูุฑ ุฌุฏูุง ู ุนู ุงุฑููุงุ
ูุฃู ุงูููุจ ููู ุจููู ุนูู ุงูุชุฑุงุถ ุฃู:
> URL ูู ุซู โู ูุฑุฏูุงโ ูู ูู:
ุญูุธู
ู ุดุงุฑูุชู
ุชุฎุฒููู
ุนู ู Cache ูู
---
๐ฅ ุฅุฐู ุนูุฏู ุง ุชุถุน Secret ุฏุงุฎู URL:
ุฃูุช ูุนูููุง:
> ุชูุฏุฎู ุงูุณุฑ ุฏุงุฎู ุจููุฉ ุงูููุจ ููุณูุง
---
๐ฌ ุฃูู ููุชุดุฑ ูุฐุง ุงูุณุฑุ
---
1๏ธโฃ Browser History
ุงูู ุชุตูุญ ูุญูุธ:
/login?username=...&password=...
---
2๏ธโฃ Server Logs
Apache/Nginx ุบุงูุจูุง ูุณุฌู ุงูุทูุจ ูุงู ููุง.
---
3๏ธโฃ Reverse Proxies
ู ุซู:
Cloudflare
Nginx
CDN
ูุฏ ุชุณุฌู ุงูุทูุจุงุช.
---
4๏ธโฃ Analytics Platforms
ูุฏ ุชูุฑุฃ URLs.
---
5๏ธโฃ Referer Leakage
ููุฐู ุฃุฎุทุฑ ููุทุฉ ุบุงูุจูุง.
ุฅุฐุง ุฒุงุฑ ุงูู ุณุชุฎุฏู :
/reset?token=ABC
ุซู ุฎุฑุฌ ุฅูู:
facebook.com
ูุฏ ูุฑุณู ุงูู ุชุตูุญ:
Referer: https://site.com/reset?token=ABC
๐ฅ ุงูุขู ุงูุชููู ุฎุฑุฌ ุฎุงุฑุฌ ุงููุธุงู .
---
๐น POST (ุงูููู ุงูุญูููู)
ู ุซุงู:
POST /login.php HTTP/1.1
username=admin&password=123
---
๐ฌ ูู ุงุฐุง POST โุฃูุถูโุ
ููุณ ูุฃูู:
> ุขู ู
ุจู ูุฃู:
> Body ูุง ููุนุงู ู ูุจููุฉ URL
---
๐ฅ ู ุงุฐุง ูุนูู ุฐููุ
ุนุงุฏุฉ:
ูุง ูุฏุฎู history
ูุง ููุณุชุฎุฏู cache key
ูุง ููุฑุณู ูู Referer
---
โ ููู ุงูุชุจู
POST:
ู ุง ุฒุงู ูุงุจููุง ููุงุนุชุฑุงุถ
ู ุง ุฒุงู ูุงุจููุง ููุชุนุฏูู
ู ุง ุฒุงู ูููุฑุฃ ุฏุงุฎู ุงูุณูุฑูุฑ
---
๐ฅ ุฃูู ููุทุฉ
ุงููุฑู ุจูู:
GET
POST
ููุณ:
> Security
ุจู:
> How the web ecosystem treats the data
---
๐น ุชุญููู Headers ุจุนู ู
---
๐ Host Header
Host: example.com
---
๐ง ูู ุงุฐุง ุฃูุถููุ
ูุฏูู ูุง:
IP ูุงุญุฏ = ู ููุน ูุงุญุฏ
ูุงุญููุง:
Virtual Hosting
ูุฃุตุจุญ:
IP ูุงุญุฏ = ุขูุงู ุงูู ูุงูุน
---
๐ฅ ุฅุฐู Host ุฃุตุจุญ:
> ุทุฑููุฉ ุงุฎุชูุงุฑ ุงูุชุทุจูู ุฏุงุฎู ุงูุณูุฑูุฑ
---
๐ฃ ุงูู ุดููุฉ ุงูุฃู ููุฉ
ุงูู ุทูุฑ ุจุฏุฃ ูุณุชุฎุฏู Host ูู:
ุจูุงุก ุงูุฑูุงุจุท
redirects
reset links
---
๐ฅ ู ุซุงู ุฎุทูุฑ ุฌุฏูุง
ุงูุชุทุจูู:
resetLink = "https://" + Host + "/reset?token=XYZ"
ุงููุงูุฑ:
Host: evil.com
---
๐ฅ ุงููุชูุฌุฉ
ุงูุฑุงุจุท ูุตุจุญ:
https://evil.com/reset?token=XYZ
---
๐ฅ ุงูุขู:
ุงูุถุญูุฉ ุชุณุชูู ุงูุฑุงุจุท
ุชุถุบุท
ุงูุชููู ูุฐูุจ ููู ูุงุฌู
---
๐ฅ ูุฐุง ูุณู ู:
Password Reset Poisoning
---
๐ User-Agent
User-Agent: Mozilla/5.0
---
๐ง ูู ุงุฐุง ููุฌุฏุ
ููู ูุนุฑู ุงูุณูุฑูุฑ:
ููุน ุงูู ุชุตูุญ
ุงููุธุงู
ุงูุชูุงูู
---
๐ฃ ุงูู ุดููุฉ
ูู ู ุฌุฑุฏ:
String
---
๐ฅ ุฃู ุดุฎุต ูุณุชุทูุน:
User-Agent: iPhone
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ุจุนุถ ุงูุฃูุธู ุฉ:
ุชุนุทู ุตูุงุญูุงุช
ุชุฎูู ุฎุตุงุฆุต
ุชุบูุฑ behavior
ุงุนุชู ุงุฏูุง ุนููู.
---
๐ Referer
Referer: https://google.com
---
๐ง ูู ุงุฐุง ุฃูุถููุ
ูุฅุฎุจุงุฑ ุงูู ููุน:
> ู ู ุฃูู ุฌุงุก ุงูู ุณุชุฎุฏู
---
๐ฅ ุงูู ุดููุฉ
ูู ูู ุฃู ูุญุชูู:
Tokens
Secrets
Session IDs
---
๐ฃ ูุนูุฏ ุงูุงูุชูุงู ูู ููุน ุขุฎุฑ:
ูุฏ ูุชู ุชุณุฑูุจู.
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ GET State Change
GET /deleteAccount
---
๐ฃ ูู ุงุฐุง ุฎุทูุฑุ
ูุฃู:
ุงูู ุชุตูุญ ูุฏ ูุฒูุฑ ุงูุฑุงุจุท ุชููุงุฆููุง
ุตูุฑุฉ ู ุฎููุฉ ูุฏ ุชุณุชุฏุนูู
crawler ูุฏ ููุชุญู
---
๐ฅ ุงููุชูุฌุฉ
ุญุฐู ุงูุญุณุงุจ ุจุฏูู ูุตุฏ.
---
๐ฅ ุณููุงุฑูู 2 โ Host Header Injection
ุงูู ูุงุฌู :
Host: evil.com
ุงูุชุทุจูู:
ูุจูู reset link
---
๐ฅ ุงููุชูุฌุฉ
ุณุฑูุฉ ุญุณุงุจ.
---
๐ฅ ุณููุงุฑูู 3 โ Referer Leakage
ุฑุงุจุท reset ูุญุชูู token.
ุงูู ุณุชุฎุฏู ูุฎุฑุฌ ูู ููุน ุฎุงุฑุฌู.
---
๐ฅ ุงููุชูุฌุฉ
ุงูุชููู ูุชุณุฑุจ.
---
๐ฅ ุณููุงุฑูู 4 โ User-Agent Trust
ุงููุธุงู :
if User-Agent == internal
---
๐ฅ bypass
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Deep Defensive Thinking)
---
๐ 1) Treat Headers as User Input
ุฃู Header: โ ุบูุฑ ู ูุซูู
---
๐ 2) Never Put Secrets in URLs
ุฃุจุฏูุง.
---
๐ 3) Validate Host Header
whitelist
canonical host
---
๐ 4) ุงุณุชุฎุฏู Referrer-Policy
ู ุซู:
Referrer-Policy: strict-origin-when-cross-origin
---
๐ 5) ูุง ุชุนุชู ุฏ ุนูู User-Agent ุฃู ูููุง
---
๐ 6) GET ูุฌุจ ุฃูุง ูุบูุฑ State
ูุฐู ููุทุฉ ู ุนู ุงุฑูุฉ ู ูู ุฉ ุฌุฏูุง.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ ุชุญููู Requests
ุงูุชุญ DevTools:
ุฑุงูุจ Headers
ุฑุงูุจ Methods
---
๐งช ุชู ุฑูู 2 โ Burp Suite
ุบููุฑ:
Host
Referer
User-Agent
ูุฑุงูุจ behavior.
---
๐งช ุชู ุฑูู 3 โ ุชูููุฑ ู ุนู ุงุฑู
ููู Request ุงุณุฃู:
ูู ูุฐู ุงูุจูุงูุงุช ูุฌุจ ุฃู ุชููู ูู URLุ
ูู ููุงู secretุ
ูู ูุนุชู ุฏ ุงูุชุทุจูู ุนูู Headerุ
---
๐งช ุชู ุฑูู 4 โ ุชุญููู State Changes
ุงุจุญุซ:
ูู ููุฌุฏ GET ูุบูุฑ ุจูุงูุงุชุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุซุงูู ููุณ ุนู:
> โู ุง ูู GET ูPOSTโ
ุจู ุนู:
> ููู ุชุชุนุงู ู ุจููุฉ ุงูููุจ ุจุงููุงู ู ู ุน ุงูุจูุงูุงุชุ ูููู ูุคุฏู ุณูุก ููู ูุฐู ุงูุจููุฉ ุฅูู ุธููุฑ ุงูุซุบุฑุงุช.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ุงูุซุบุฑุงุช ูุง ุชุธูุฑ ูุฃู HTTP ุถุนููโฆ ุจู ูุฃู ุงูุชุทุจููุงุช ุชุจูู ุซูุฉ ุฎุงุทุฆุฉ ููู ุจุฑูุชูููู ูุง ููุฑุถ ูุฐู ุงูุซูุฉ."
redirects
reset links
---
๐ฅ ู ุซุงู ุฎุทูุฑ ุฌุฏูุง
ุงูุชุทุจูู:
resetLink = "https://" + Host + "/reset?token=XYZ"
ุงููุงูุฑ:
Host: evil.com
---
๐ฅ ุงููุชูุฌุฉ
ุงูุฑุงุจุท ูุตุจุญ:
https://evil.com/reset?token=XYZ
---
๐ฅ ุงูุขู:
ุงูุถุญูุฉ ุชุณุชูู ุงูุฑุงุจุท
ุชุถุบุท
ุงูุชููู ูุฐูุจ ููู ูุงุฌู
---
๐ฅ ูุฐุง ูุณู ู:
Password Reset Poisoning
---
๐ User-Agent
User-Agent: Mozilla/5.0
---
๐ง ูู ุงุฐุง ููุฌุฏุ
ููู ูุนุฑู ุงูุณูุฑูุฑ:
ููุน ุงูู ุชุตูุญ
ุงููุธุงู
ุงูุชูุงูู
---
๐ฃ ุงูู ุดููุฉ
ูู ู ุฌุฑุฏ:
String
---
๐ฅ ุฃู ุดุฎุต ูุณุชุทูุน:
User-Agent: iPhone
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ุจุนุถ ุงูุฃูุธู ุฉ:
ุชุนุทู ุตูุงุญูุงุช
ุชุฎูู ุฎุตุงุฆุต
ุชุบูุฑ behavior
ุงุนุชู ุงุฏูุง ุนููู.
---
๐ Referer
Referer: https://google.com
---
๐ง ูู ุงุฐุง ุฃูุถููุ
ูุฅุฎุจุงุฑ ุงูู ููุน:
> ู ู ุฃูู ุฌุงุก ุงูู ุณุชุฎุฏู
---
๐ฅ ุงูู ุดููุฉ
ูู ูู ุฃู ูุญุชูู:
Tokens
Secrets
Session IDs
---
๐ฃ ูุนูุฏ ุงูุงูุชูุงู ูู ููุน ุขุฎุฑ:
ูุฏ ูุชู ุชุณุฑูุจู.
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ GET State Change
GET /deleteAccount
---
๐ฃ ูู ุงุฐุง ุฎุทูุฑุ
ูุฃู:
ุงูู ุชุตูุญ ูุฏ ูุฒูุฑ ุงูุฑุงุจุท ุชููุงุฆููุง
ุตูุฑุฉ ู ุฎููุฉ ูุฏ ุชุณุชุฏุนูู
crawler ูุฏ ููุชุญู
---
๐ฅ ุงููุชูุฌุฉ
ุญุฐู ุงูุญุณุงุจ ุจุฏูู ูุตุฏ.
---
๐ฅ ุณููุงุฑูู 2 โ Host Header Injection
ุงูู ูุงุฌู :
Host: evil.com
ุงูุชุทุจูู:
ูุจูู reset link
---
๐ฅ ุงููุชูุฌุฉ
ุณุฑูุฉ ุญุณุงุจ.
---
๐ฅ ุณููุงุฑูู 3 โ Referer Leakage
ุฑุงุจุท reset ูุญุชูู token.
ุงูู ุณุชุฎุฏู ูุฎุฑุฌ ูู ููุน ุฎุงุฑุฌู.
---
๐ฅ ุงููุชูุฌุฉ
ุงูุชููู ูุชุณุฑุจ.
---
๐ฅ ุณููุงุฑูู 4 โ User-Agent Trust
ุงููุธุงู :
if User-Agent == internal
---
๐ฅ bypass
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Deep Defensive Thinking)
---
๐ 1) Treat Headers as User Input
ุฃู Header: โ ุบูุฑ ู ูุซูู
---
๐ 2) Never Put Secrets in URLs
ุฃุจุฏูุง.
---
๐ 3) Validate Host Header
whitelist
canonical host
---
๐ 4) ุงุณุชุฎุฏู Referrer-Policy
ู ุซู:
Referrer-Policy: strict-origin-when-cross-origin
---
๐ 5) ูุง ุชุนุชู ุฏ ุนูู User-Agent ุฃู ูููุง
---
๐ 6) GET ูุฌุจ ุฃูุง ูุบูุฑ State
ูุฐู ููุทุฉ ู ุนู ุงุฑูุฉ ู ูู ุฉ ุฌุฏูุง.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ ุชุญููู Requests
ุงูุชุญ DevTools:
ุฑุงูุจ Headers
ุฑุงูุจ Methods
---
๐งช ุชู ุฑูู 2 โ Burp Suite
ุบููุฑ:
Host
Referer
User-Agent
ูุฑุงูุจ behavior.
---
๐งช ุชู ุฑูู 3 โ ุชูููุฑ ู ุนู ุงุฑู
ููู Request ุงุณุฃู:
ูู ูุฐู ุงูุจูุงูุงุช ูุฌุจ ุฃู ุชููู ูู URLุ
ูู ููุงู secretุ
ูู ูุนุชู ุฏ ุงูุชุทุจูู ุนูู Headerุ
---
๐งช ุชู ุฑูู 4 โ ุชุญููู State Changes
ุงุจุญุซ:
ูู ููุฌุฏ GET ูุบูุฑ ุจูุงูุงุชุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุซุงูู ููุณ ุนู:
> โู ุง ูู GET ูPOSTโ
ุจู ุนู:
> ููู ุชุชุนุงู ู ุจููุฉ ุงูููุจ ุจุงููุงู ู ู ุน ุงูุจูุงูุงุชุ ูููู ูุคุฏู ุณูุก ููู ูุฐู ุงูุจููุฉ ุฅูู ุธููุฑ ุงูุซุบุฑุงุช.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ุงูุซุบุฑุงุช ูุง ุชุธูุฑ ูุฃู HTTP ุถุนููโฆ ุจู ูุฃู ุงูุชุทุจููุงุช ุชุจูู ุซูุฉ ุฎุงุทุฆุฉ ููู ุจุฑูุชูููู ูุง ููุฑุถ ูุฐู ุงูุซูุฉ."
๐
ุงูููู
3 โ Browser Security Model + Same-Origin Policy (SOP) + CSP
(ุดุฑุญ ู ุนู ุงุฑู ุนู ูู ูููู ูููุฑ ุงูู ุชุตูุญ ููู ุงุฐุง ุธูุฑุช ุฃุฎุทุฑ ุซุบุฑุงุช ุงูููุจ)
> ุงูููู ุงูุซุงูุซ ูุนุชุจุฑ ู ู ุฃูู ุงูุฃูุงู ูู ุงูุฑุญูุฉ ูููุง.
ูุฃูู ุงูููู ูู ุชุชุนูู โุซุบุฑุฉโ.
ุจู ุณุชุชุนูู :
๐ฅ ููู ูููุฑ ุงูู ุชุตูุญ ููุณู.
ูุฅุฐุง ููู ุช ูุฐุง ุงูููู ุฌูุฏูุงโฆ ุณุชููู ูุงุญููุง:
XSS
CSRF
CORS
Clickjacking
Token Theft
Session Hijacking
DOM Attacks
ูุฃู ูู ูุฐู ู ุฑุชุจุทุฉ ู ุจุงุดุฑุฉ ุจุทุฑููุฉ ุนู ู ุงูู Browser Security Model.
ุงููุชุงุจ ูู ูุฐุง ุงูุฌุฒุก ูุดุฑุญ:
ู ูููุงุช ุงูู ุชุตูุญ
Same-Origin Policy
Content Security Policy
Iframe sandboxing
Subresource Integrity
HSTS
ูููู ุธูุฑุช ู ุดุงูู ุงูู SOP bypasses ุจุณุจุจ ุงุฎุชูุงู ุชูุณูุฑ ุงูุทุจูุงุช ุงูู ุฎุชููุฉ ุฏุงุฎู ุงูู ุชุตูุญ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ Deep Browser Architecture)
---
๐น ุฃูููุง: ู ุง ูู ุงูู ุชุตูุญ ูุนููุงุ
ุงููุงุณ ุชุชุนุงู ู ู ุน ุงูู ุชุตูุญ ูุฃูู:
> โุจุฑูุงู ุฌ ูุนุฑุถ ู ูุงูุนโ
ููู ูุฐุง ููู ุณุทุญู ุฌุฏูุง.
---
๐ฅ ุงูู ุชุตูุญ ูุนูููุง ูู:
> ูุธุงู ุชุดุบูู ู ุตุบุฑ ููุชุทุจููุงุช ุบูุฑ ุงูู ูุซููุฉ
---
๐ง ู ุงุฐุง ูุนูู ุฐููุ
ุนูุฏู ุง ุชูุชุญ ู ููุนูุงโฆ
ุฃูุช ูุนูููุง ุชุณู ุญ ูููุฏ ุฎุงุฑุฌู ู ู ุงูุฅูุชุฑูุช ุฃู ูุนู ู ุนูู ุฌูุงุฒู:
JavaScript
HTML
CSS
WebAssembly
APIs
---
๐ฅ ุชุฎูู ุฎุทูุฑุฉ ูุฐุง
ุฃู ู ููุน ุชูุชุญู:
> ูู ููู ุชูููุฐ ููุฏ ุฏุงุฎู ุจูุฆุฉ ุงูู ุชุตูุญ
---
๐ฅ ุฅุฐู ุงูุณุคุงู ุงูุชุงุฑูุฎู ุงูู ูู :
ููู ุณู ุญุช ุงูู ุชุตูุญุงุช ุจุชุดุบูู ููุฏ ู ู ุงูุฅูุชุฑูุชโฆ ุจุฏูู ุฃู ุชุฏู ุฑ ุฌูุงุฒ ุงูู ุณุชุฎุฏู ุ
---
๐ฅ ููุง ุธูุฑ:
> Browser Security Model
---
๐น ู ุง ูู Browser Security Modelุ
ูู:
> ู ุฌู ูุนุฉ ุงูููุงููู ุงูุชู ุชู ูุน ุงูู ูุงูุน ู ู ู ูุงุฌู ุฉ ุจุนุถูุง ุฃู ุงููุตูู ูุจูุงูุงุช ุจุนุถูุง.
---
๐ฅ ูู ุงุฐุง ูุฐุง ุถุฑูุฑูุ
ุชุฎูู ุงูุณููุงุฑูู ุงูุชุงูู:
ุฃูุช ูุชุญุช:
Gmail
Facebook
ุจููู
ูู ููุณ ุงูู ุชุตูุญ.
ุซู ูุชุญุช:
evil.com
---
๐ฃ ู ุงุฐุง ุณูุญุฏุซ ุจุฏูู ุญู ุงูุฉุ
evil.com ูู ููู:
ูุฑุงุกุฉ Gmail
ุณุฑูุฉ Session ุงูุจูู
ุฅุฑุณุงู ุฑุณุงุฆู
ูุฑุงุกุฉ ุงูุจูุงูุงุช
---
๐ฅ ุฅุฐู ุงูู ุชุตูุญ ูุญุชุงุฌ:
> โุนุฒูโ ุงูู ูุงูุน ุนู ุจุนุถูุง
ูู ู ููุง ุธูุฑุช:
๐ Same-Origin Policy (SOP)
---
๐น ู ุง ูู SOP ูุนูููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โุณูุงุณุฉ ุชู ูุน ุงูู ูุงูุน ู ู ุงููุตูู ูุจุนุถูุงโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ SOP ูุนูููุง ูู:
> ุงูุฌุฏุงุฑ ุงูุฃู ูู ุงูุฃุณุงุณู ุงูุฐู ูู ูุน JavaScript ู ู ูุณุฑ ุญุฏูุฏ ุงูู ูุงูุน ุงูุฃุฎุฑู.
---
๐ง ู ุงุฐุง ูุนูู Originุ
Origin =
Protocol + Host + Port
---
๐ฌ ู ุซุงู
ูุฐู:
https://example.com
ููุณุช ููุณ:
http://example.com
ููุง ููุณ:
https://admin.example.com
ููุง ููุณ:
https://example.com:8080
---
๐ฅ ูู ุงุฐุง ูู ูุฐุง ู ูู ุ
ูุฃู:
> ุงูู ุชุตูุญ ูุนุฒู ุงูุจูุงูุงุช ุจูุงุกู ุนูู Origin
---
๐ฅ ุฅุฐู ู ุง ุงูุฐู ุชู ูุนู SOPุ
ุฅุฐุง ูุงู ูุฏูู:
evil.com
ูุฅู JavaScript ุจุฏุงุฎูู ูุง ูุณุชุทูุน:
โ ูุฑุงุกุฉ:
gmail.com
bank.com
facebook.com
---
๐ฅ ููุทุฉ ู ูู ุฉ ุฌุฏูุง
SOP ูุง ุชู ูุน:
> ุฅุฑุณุงู ุงูุทูุจุงุช
ุจู ุชู ูุน:
> ูุฑุงุกุฉ ุงูุฑุฏูุฏ
---
๐ง ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ูุนูู:
fetch("https://bank.com")
ูุฏ ููุฑุณู ุงูุทูุจโฆ
ููู: โ JavaScript ูู ูุณุชุทูุน ูุฑุงุกุฉ ุงููุชูุฌุฉ ุบุงูุจูุง.
---
๐ฅ ูู ุงุฐุง ูุฐุง ุงูุชุตู ูู ุ
ูุฃู ุงูููุจ ูุญุชุงุฌ:
ุชุญู ูู ุตูุฑ
ุชุญู ูู scripts
ุชุญู ูู iframes
ู ู ู ูุงูุน ู ุฎุชููุฉ.
---
๐ฅ ุฅุฐู ูู ู ููุน ูู ุดูุก:
> ุงูููุจ ูู ูุนู ู ุฃุตููุง
---
๐ฅ ูุฐูู SOP ูู:
> ุชูุงุฒู ุจูู ุงููุธุงุฆู ูุงูุฃู ุงู
---
๐น ุงูุขู ุงูุณุคุงู ุงูุฎุทูุฑ
ุฅุฐุง ูุงูุช SOP ูููุฉ ุฌุฏูุงโฆ
ููู ุชุธูุฑ:
XSS
Token Theft
Session Hijacking ุ
---
๐ฅ ุงูุฌูุงุจ ุงูู ูู ุฌุฏูุง
ูุฃู:
> SOP ุชุซู ุจุงูููุฏ ุฏุงุฎู ููุณ ุงูู Origin
---
๐ฅ ููุฐู ุฃุฎุทุฑ ููุทุฉ ูู XSS
ุฅุฐุง ุงุณุชุทุนุช ุชุดุบูู JavaScript ุฏุงุฎู:
bank.com
ูุฃูุช ุฃุตุจุญุช:
> โุฏุงุฎู ุงูุญุฏูุฏ ุงูู ูุซููุฉโ
---
๐ฅ ุฅุฐู XSS ููุณ:
> โุชุดุบูู JavaScriptโ
ุจู:
> โุฅููุงุน ุงูู ุชุตูุญ ุฃู ููุฏ ุงูู ูุงุฌู ููุชู ู ูููุณ Originโ
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Deep Internal Mechanics)
---
๐น ููู ูุฑู ุงูู ุชุตูุญ ุงูู ูุงูุน ุฏุงุฎูููุงุ
ุงูู ุชุตูุญ ูุง ูุฑู:
ุตูุญุงุช
ุฃุฒุฑุงุฑ
ุจู ูุฑู:
Origins
Processes
Execution Contexts
---
๐ฅ ูู ุงุฐุงุ
ูุฃู ุงูู ุชุตูุญ ูุดุบูู:
JavaScript
DOM
Rendering
ุฏุงุฎู ุจูุฆุงุช ู ููุตูุฉ.
---
๐น Site Isolation
ุงููุชุงุจ ูุฐูุฑ ู ูููู :
> Site Isolation
---
๐ง ูู ุงุฐุง ุธูุฑุ
ูุฏูู ูุง:
ุนุฏุฉ ู ูุงูุน ูุงูุช ุชุนู ู ุฏุงุฎู ููุณ Process
---
๐ฃ ุงูู ุดููุฉ
ูู ุญุฏุซ:
Memory corruption
Browser bug
ูุฏ ูุชู ุงููุตูู ูุจูุงูุงุช ู ูุงูุน ุฃุฎุฑู.
---
๐ฅ ูุฐูู ุงูู ุชุตูุญุงุช ุงูุญุฏูุซุฉ ุจุฏุฃุช:
> ูุตู ุงูู ูุงูุน ูู Processes ู ุณุชููุฉ
---
๐ฅ ูุฐุง ู ูู ุฌุฏูุง ุถุฏ:
Spectre
Memory leaks
Cross-site attacks
---
๐น ููู ุชุทุจู SOP ูุนูููุงุ
---
๐งฉ ุงูุณููุงุฑูู
ูุฏููุง:
evil.com
ูุญุงูู ุชูููุฐ:
fetch("https://bank.com/account")
---
๐ฅ ู ุงุฐุง ูุญุฏุซ ุฏุงุฎูููุงุ
1๏ธโฃ ุงูู ุชุตูุญ ูุณู ุญ ุจุฅุฑุณุงู ุงูุทูุจ
ูุฃู:
(ุดุฑุญ ู ุนู ุงุฑู ุนู ูู ูููู ูููุฑ ุงูู ุชุตูุญ ููู ุงุฐุง ุธูุฑุช ุฃุฎุทุฑ ุซุบุฑุงุช ุงูููุจ)
> ุงูููู ุงูุซุงูุซ ูุนุชุจุฑ ู ู ุฃูู ุงูุฃูุงู ูู ุงูุฑุญูุฉ ูููุง.
ูุฃูู ุงูููู ูู ุชุชุนูู โุซุบุฑุฉโ.
ุจู ุณุชุชุนูู :
๐ฅ ููู ูููุฑ ุงูู ุชุตูุญ ููุณู.
ูุฅุฐุง ููู ุช ูุฐุง ุงูููู ุฌูุฏูุงโฆ ุณุชููู ูุงุญููุง:
XSS
CSRF
CORS
Clickjacking
Token Theft
Session Hijacking
DOM Attacks
ูุฃู ูู ูุฐู ู ุฑุชุจุทุฉ ู ุจุงุดุฑุฉ ุจุทุฑููุฉ ุนู ู ุงูู Browser Security Model.
ุงููุชุงุจ ูู ูุฐุง ุงูุฌุฒุก ูุดุฑุญ:
ู ูููุงุช ุงูู ุชุตูุญ
Same-Origin Policy
Content Security Policy
Iframe sandboxing
Subresource Integrity
HSTS
ูููู ุธูุฑุช ู ุดุงูู ุงูู SOP bypasses ุจุณุจุจ ุงุฎุชูุงู ุชูุณูุฑ ุงูุทุจูุงุช ุงูู ุฎุชููุฉ ุฏุงุฎู ุงูู ุชุตูุญ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ Deep Browser Architecture)
---
๐น ุฃูููุง: ู ุง ูู ุงูู ุชุตูุญ ูุนููุงุ
ุงููุงุณ ุชุชุนุงู ู ู ุน ุงูู ุชุตูุญ ูุฃูู:
> โุจุฑูุงู ุฌ ูุนุฑุถ ู ูุงูุนโ
ููู ูุฐุง ููู ุณุทุญู ุฌุฏูุง.
---
๐ฅ ุงูู ุชุตูุญ ูุนูููุง ูู:
> ูุธุงู ุชุดุบูู ู ุตุบุฑ ููุชุทุจููุงุช ุบูุฑ ุงูู ูุซููุฉ
---
๐ง ู ุงุฐุง ูุนูู ุฐููุ
ุนูุฏู ุง ุชูุชุญ ู ููุนูุงโฆ
ุฃูุช ูุนูููุง ุชุณู ุญ ูููุฏ ุฎุงุฑุฌู ู ู ุงูุฅูุชุฑูุช ุฃู ูุนู ู ุนูู ุฌูุงุฒู:
JavaScript
HTML
CSS
WebAssembly
APIs
---
๐ฅ ุชุฎูู ุฎุทูุฑุฉ ูุฐุง
ุฃู ู ููุน ุชูุชุญู:
> ูู ููู ุชูููุฐ ููุฏ ุฏุงุฎู ุจูุฆุฉ ุงูู ุชุตูุญ
---
๐ฅ ุฅุฐู ุงูุณุคุงู ุงูุชุงุฑูุฎู ุงูู ูู :
ููู ุณู ุญุช ุงูู ุชุตูุญุงุช ุจุชุดุบูู ููุฏ ู ู ุงูุฅูุชุฑูุชโฆ ุจุฏูู ุฃู ุชุฏู ุฑ ุฌูุงุฒ ุงูู ุณุชุฎุฏู ุ
---
๐ฅ ููุง ุธูุฑ:
> Browser Security Model
---
๐น ู ุง ูู Browser Security Modelุ
ูู:
> ู ุฌู ูุนุฉ ุงูููุงููู ุงูุชู ุชู ูุน ุงูู ูุงูุน ู ู ู ูุงุฌู ุฉ ุจุนุถูุง ุฃู ุงููุตูู ูุจูุงูุงุช ุจุนุถูุง.
---
๐ฅ ูู ุงุฐุง ูุฐุง ุถุฑูุฑูุ
ุชุฎูู ุงูุณููุงุฑูู ุงูุชุงูู:
ุฃูุช ูุชุญุช:
Gmail
ุจููู
ูู ููุณ ุงูู ุชุตูุญ.
ุซู ูุชุญุช:
evil.com
---
๐ฃ ู ุงุฐุง ุณูุญุฏุซ ุจุฏูู ุญู ุงูุฉุ
evil.com ูู ููู:
ูุฑุงุกุฉ Gmail
ุณุฑูุฉ Session ุงูุจูู
ุฅุฑุณุงู ุฑุณุงุฆู
ูุฑุงุกุฉ ุงูุจูุงูุงุช
---
๐ฅ ุฅุฐู ุงูู ุชุตูุญ ูุญุชุงุฌ:
> โุนุฒูโ ุงูู ูุงูุน ุนู ุจุนุถูุง
ูู ู ููุง ุธูุฑุช:
๐ Same-Origin Policy (SOP)
---
๐น ู ุง ูู SOP ูุนูููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โุณูุงุณุฉ ุชู ูุน ุงูู ูุงูุน ู ู ุงููุตูู ูุจุนุถูุงโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ SOP ูุนูููุง ูู:
> ุงูุฌุฏุงุฑ ุงูุฃู ูู ุงูุฃุณุงุณู ุงูุฐู ูู ูุน JavaScript ู ู ูุณุฑ ุญุฏูุฏ ุงูู ูุงูุน ุงูุฃุฎุฑู.
---
๐ง ู ุงุฐุง ูุนูู Originุ
Origin =
Protocol + Host + Port
---
๐ฌ ู ุซุงู
ูุฐู:
https://example.com
ููุณุช ููุณ:
http://example.com
ููุง ููุณ:
https://admin.example.com
ููุง ููุณ:
https://example.com:8080
---
๐ฅ ูู ุงุฐุง ูู ูุฐุง ู ูู ุ
ูุฃู:
> ุงูู ุชุตูุญ ูุนุฒู ุงูุจูุงูุงุช ุจูุงุกู ุนูู Origin
---
๐ฅ ุฅุฐู ู ุง ุงูุฐู ุชู ูุนู SOPุ
ุฅุฐุง ูุงู ูุฏูู:
evil.com
ูุฅู JavaScript ุจุฏุงุฎูู ูุง ูุณุชุทูุน:
โ ูุฑุงุกุฉ:
gmail.com
bank.com
facebook.com
---
๐ฅ ููุทุฉ ู ูู ุฉ ุฌุฏูุง
SOP ูุง ุชู ูุน:
> ุฅุฑุณุงู ุงูุทูุจุงุช
ุจู ุชู ูุน:
> ูุฑุงุกุฉ ุงูุฑุฏูุฏ
---
๐ง ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ูุนูู:
fetch("https://bank.com")
ูุฏ ููุฑุณู ุงูุทูุจโฆ
ููู: โ JavaScript ูู ูุณุชุทูุน ูุฑุงุกุฉ ุงููุชูุฌุฉ ุบุงูุจูุง.
---
๐ฅ ูู ุงุฐุง ูุฐุง ุงูุชุตู ูู ุ
ูุฃู ุงูููุจ ูุญุชุงุฌ:
ุชุญู ูู ุตูุฑ
ุชุญู ูู scripts
ุชุญู ูู iframes
ู ู ู ูุงูุน ู ุฎุชููุฉ.
---
๐ฅ ุฅุฐู ูู ู ููุน ูู ุดูุก:
> ุงูููุจ ูู ูุนู ู ุฃุตููุง
---
๐ฅ ูุฐูู SOP ูู:
> ุชูุงุฒู ุจูู ุงููุธุงุฆู ูุงูุฃู ุงู
---
๐น ุงูุขู ุงูุณุคุงู ุงูุฎุทูุฑ
ุฅุฐุง ูุงูุช SOP ูููุฉ ุฌุฏูุงโฆ
ููู ุชุธูุฑ:
XSS
Token Theft
Session Hijacking ุ
---
๐ฅ ุงูุฌูุงุจ ุงูู ูู ุฌุฏูุง
ูุฃู:
> SOP ุชุซู ุจุงูููุฏ ุฏุงุฎู ููุณ ุงูู Origin
---
๐ฅ ููุฐู ุฃุฎุทุฑ ููุทุฉ ูู XSS
ุฅุฐุง ุงุณุชุทุนุช ุชุดุบูู JavaScript ุฏุงุฎู:
bank.com
ูุฃูุช ุฃุตุจุญุช:
> โุฏุงุฎู ุงูุญุฏูุฏ ุงูู ูุซููุฉโ
---
๐ฅ ุฅุฐู XSS ููุณ:
> โุชุดุบูู JavaScriptโ
ุจู:
> โุฅููุงุน ุงูู ุชุตูุญ ุฃู ููุฏ ุงูู ูุงุฌู ููุชู ู ูููุณ Originโ
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Deep Internal Mechanics)
---
๐น ููู ูุฑู ุงูู ุชุตูุญ ุงูู ูุงูุน ุฏุงุฎูููุงุ
ุงูู ุชุตูุญ ูุง ูุฑู:
ุตูุญุงุช
ุฃุฒุฑุงุฑ
ุจู ูุฑู:
Origins
Processes
Execution Contexts
---
๐ฅ ูู ุงุฐุงุ
ูุฃู ุงูู ุชุตูุญ ูุดุบูู:
JavaScript
DOM
Rendering
ุฏุงุฎู ุจูุฆุงุช ู ููุตูุฉ.
---
๐น Site Isolation
ุงููุชุงุจ ูุฐูุฑ ู ูููู :
> Site Isolation
---
๐ง ูู ุงุฐุง ุธูุฑุ
ูุฏูู ูุง:
ุนุฏุฉ ู ูุงูุน ูุงูุช ุชุนู ู ุฏุงุฎู ููุณ Process
---
๐ฃ ุงูู ุดููุฉ
ูู ุญุฏุซ:
Memory corruption
Browser bug
ูุฏ ูุชู ุงููุตูู ูุจูุงูุงุช ู ูุงูุน ุฃุฎุฑู.
---
๐ฅ ูุฐูู ุงูู ุชุตูุญุงุช ุงูุญุฏูุซุฉ ุจุฏุฃุช:
> ูุตู ุงูู ูุงูุน ูู Processes ู ุณุชููุฉ
---
๐ฅ ูุฐุง ู ูู ุฌุฏูุง ุถุฏ:
Spectre
Memory leaks
Cross-site attacks
---
๐น ููู ุชุทุจู SOP ูุนูููุงุ
---
๐งฉ ุงูุณููุงุฑูู
ูุฏููุง:
evil.com
ูุญุงูู ุชูููุฐ:
fetch("https://bank.com/account")
---
๐ฅ ู ุงุฐุง ูุญุฏุซ ุฏุงุฎูููุงุ
1๏ธโฃ ุงูู ุชุตูุญ ูุณู ุญ ุจุฅุฑุณุงู ุงูุทูุจ
ูุฃู:
ุงูุฅูุชุฑูุช ูุญุชุงุฌ cross-origin requests
---
2๏ธโฃ bank.com ูุฑุฏ
---
3๏ธโฃ ุงูุขู SOP ุชุชุฏุฎู
ุงูู ุชุตูุญ ููุญุต:
Origin(requester) != Origin(target)
---
๐ฅ ุงููุชูุฌุฉ
JavaScript ูุง ูุณุชุทูุน ูุฑุงุกุฉ response.
---
๐ฅ ุฅุฐู SOP ุชุนู ู:
> ุจุนุฏ ูุตูู ุงูุฑุฏ
ููุฐู ููุทุฉ ุฏูููุฉ ุฌุฏูุง.
---
๐น DOM ูSOP
JavaScript ู ู:
evil.com
ูุง ูุณุชุทูุน:
window.frames[0].document
ุฅุฐุง ูุงู iframe ู ู Origin ู ุฎุชูู.
---
๐ฅ ูุฃู DOM ุฃูุถูุง ู ุญู ู ุจู SOP
---
๐น ูู ุงุฐุง ุธูุฑุช SOP bypassesุ
ุงููุชุงุจ ูุฐูุฑ:
> ุงุฎุชูุงู ุชูุณูุฑ ุงูุทุจูุงุช ุงูู ุฎุชููุฉ ุฏุงุฎู ุงูู ุชุตูุญ ูุฏ ูุคุฏู ุฅูู bypasses
---
๐ง ู ุงุฐุง ูุนูู ูุฐุงุ
ุงูู ุดููุฉ ููุณุช ุฏุงุฆู ูุง:
> โูุดู SOPโ
ุจู:
> โุทุจูุฉ ุชููู ุงูุจูุงูุงุช ุจุทุฑููุฉ ุชุฎุชูู ุนู ุทุจูุฉ ุฃุฎุฑูโ
---
๐ฅ ู ุซุงู ู ุนู ุงุฑู ู ูู
ูุฏ:
DNS ูุฑู domain ู ุนูู
DOM ูุฑุงู ู ุฎุชูููุง
Cookie store ููุณุฑู ุจุทุฑููุฉ ุฃุฎุฑู
---
๐ฃ ููุง ุชุจุฏุฃ bypasses
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ ูู ุงุฐุง XSS ูุงุฑุซูุ
ุฅุฐุง ุญูู ุงูู ูุงุฌู JavaScript ุฏุงุฎู:
bank.com
ูุฅู SOP ุชุนุชุจุฑู:
> ู ูุซูููุง
---
๐ฅ ุงููุชูุฌุฉ
ูู ููู:
ูุฑุงุกุฉ DOM
ูุฑุงุกุฉ tokens
ุฅุฑุณุงู requests
ุชูููุฐ actions
---
๐ฅ ุงูุขู ููู ุช:
ูู ุงุฐุง XSS ู ู ุฃุฎุทุฑ ุงูุซุบุฑุงุช.
---
๐ฅ ุณููุงุฑูู 2 โ iframe attacks
evil.com ูุถุน:
<iframe src="https://bank.com">
---
๐ฃ ูู ูุณุชุทูุน ูุฑุงุกุฉ ู ุญุชูุงูุ
โ ูุง
ุจุณุจุจ SOP.
---
๐ฅ ุณููุงุฑูู 3 โ Browser Bug
ูู ุญุฏุซ:
renderer bug
memory corruption
ูุฏ ูุชู ุชุฌุงูุฒ ุงูุนุฒู.
---
๐ฅ ููุฐุง Browser Exploitation ุฎุทูุฑ ุฌุฏูุง.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Browser-Level Security Thinking)
---
๐ 1) SOP
ุฃูู ุฎุท ุฏูุงุน.
---
๐ 2) CSP (Content Security Policy)
ุงููุชุงุจ ูุดุฑุญ CSP ูุขููุฉ:
> ูุชูููุฏ ู ุตุงุฏุฑ ุงูู ุญุชูู ูุงูุณูุฑุจุชุงุช
---
๐ฅ ูู ุงุฐุง ุธูุฑุช CSPุ
ูุฃู:
> SOP ูุญุฏูุง ูุง ุชู ูุน XSS
---
๐ฅ ููู ุชุนู ู CSPุ
ู ุซุงู:
Content-Security-Policy:
script-src trusted.com
---
๐ง ู ุงุฐุง ูุนููุ
ุงูู ุชุตูุญ:
> ูู ูุดุบูู JavaScript ุฅูุง ู ู trusted.com
---
๐ฅ ุฅุฐู CSP ุชุญุงูู:
> ุชูููู ุฃุซุฑ XSS
---
๐ฅ ููููุง ููุณุช ู ุซุงููุฉ
ูุฃู:
misconfigurations
unsafe-inline
bypasses
---
๐ 3) Iframe Sandbox
ูุนุฒู ุงูู ุญุชูู ุฏุงุฎู iframe.
---
๐ 4) Subresource Integrity (SRI)
ุงููุชุงุจ ูุฐูุฑ:
> SRI ูุชุญูู ู ู ุณูุงู ุฉ ุงูู ููุงุช ุงูุฎุงุฑุฌูุฉ
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ุฅุฐุง ุชู ุงุฎุชุฑุงู CDNโฆ
ุงูู ุชุตูุญ ูุฑูุถ ุงูู ูู ุงูู ุนุฏู.
---
๐ 5) HSTS
ูุฅุฌุจุงุฑ HTTPS.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ ู ุฑุงูุจุฉ SOP
ุงูุชุญ Console:
fetch("https://google.com")
ุฑุงูุจ:
ูู ุฃูุฑุณู ุงูุทูุจุ
ูู ุฃู ูู ูุฑุงุกุฉ ุงูุฑุฏุ
---
๐งช ุชู ุฑูู 2 โ iframe isolation
ุฃูุดุฆ:
<iframe src="https://example.com"></iframe>
ุซู ุญุงูู ุงููุตูู ููู DOM.
---
๐งช ุชู ุฑูู 3 โ CSP
ุงูุชุญ ู ููุน ูุณุชุฎุฏู CSP.
ุฑุงูุจ:
Headers
blocked scripts
---
๐งช ุชู ุฑูู 4 โ ุชุญููู Origins
ูุงุฑู:
https://example.com
http://example.com
https://admin.example.com
ูู ุชุนุชุจุฑ ููุณ Originุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุซุงูุซ ููุณ ุนู:
> โุณูุงุณุฉ SOPโ
ุจู ุนู:
> ููู ูุญุงูู ุงูู ุชุตูุญ ุชุดุบูู ููุฏ ุบูุฑ ู ูุซูู ู ู ุงูุฅูุชุฑูุชโฆ ุจุฏูู ุฃู ูุณู ุญ ูู ุจูุณุฑ ุญุฏูุฏ ุงูู ูุงูุน ุงูุฃุฎุฑู.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "XSS ุฎุทูุฑ ููุณ ูุฃูู JavaScriptโฆ ุจู ูุฃูู ูุฌุนู ุงูู ุชุตูุญ ูุซู ุจููุฏ ุงูู ูุงุฌู ูุฃูู ุฌุฒุก ู ู ููุณ ุงูู ููุน."
---
2๏ธโฃ bank.com ูุฑุฏ
---
3๏ธโฃ ุงูุขู SOP ุชุชุฏุฎู
ุงูู ุชุตูุญ ููุญุต:
Origin(requester) != Origin(target)
---
๐ฅ ุงููุชูุฌุฉ
JavaScript ูุง ูุณุชุทูุน ูุฑุงุกุฉ response.
---
๐ฅ ุฅุฐู SOP ุชุนู ู:
> ุจุนุฏ ูุตูู ุงูุฑุฏ
ููุฐู ููุทุฉ ุฏูููุฉ ุฌุฏูุง.
---
๐น DOM ูSOP
JavaScript ู ู:
evil.com
ูุง ูุณุชุทูุน:
window.frames[0].document
ุฅุฐุง ูุงู iframe ู ู Origin ู ุฎุชูู.
---
๐ฅ ูุฃู DOM ุฃูุถูุง ู ุญู ู ุจู SOP
---
๐น ูู ุงุฐุง ุธูุฑุช SOP bypassesุ
ุงููุชุงุจ ูุฐูุฑ:
> ุงุฎุชูุงู ุชูุณูุฑ ุงูุทุจูุงุช ุงูู ุฎุชููุฉ ุฏุงุฎู ุงูู ุชุตูุญ ูุฏ ูุคุฏู ุฅูู bypasses
---
๐ง ู ุงุฐุง ูุนูู ูุฐุงุ
ุงูู ุดููุฉ ููุณุช ุฏุงุฆู ูุง:
> โูุดู SOPโ
ุจู:
> โุทุจูุฉ ุชููู ุงูุจูุงูุงุช ุจุทุฑููุฉ ุชุฎุชูู ุนู ุทุจูุฉ ุฃุฎุฑูโ
---
๐ฅ ู ุซุงู ู ุนู ุงุฑู ู ูู
ูุฏ:
DNS ูุฑู domain ู ุนูู
DOM ูุฑุงู ู ุฎุชูููุง
Cookie store ููุณุฑู ุจุทุฑููุฉ ุฃุฎุฑู
---
๐ฃ ููุง ุชุจุฏุฃ bypasses
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ ูู ุงุฐุง XSS ูุงุฑุซูุ
ุฅุฐุง ุญูู ุงูู ูุงุฌู JavaScript ุฏุงุฎู:
bank.com
ูุฅู SOP ุชุนุชุจุฑู:
> ู ูุซูููุง
---
๐ฅ ุงููุชูุฌุฉ
ูู ููู:
ูุฑุงุกุฉ DOM
ูุฑุงุกุฉ tokens
ุฅุฑุณุงู requests
ุชูููุฐ actions
---
๐ฅ ุงูุขู ููู ุช:
ูู ุงุฐุง XSS ู ู ุฃุฎุทุฑ ุงูุซุบุฑุงุช.
---
๐ฅ ุณููุงุฑูู 2 โ iframe attacks
evil.com ูุถุน:
<iframe src="https://bank.com">
---
๐ฃ ูู ูุณุชุทูุน ูุฑุงุกุฉ ู ุญุชูุงูุ
โ ูุง
ุจุณุจุจ SOP.
---
๐ฅ ุณููุงุฑูู 3 โ Browser Bug
ูู ุญุฏุซ:
renderer bug
memory corruption
ูุฏ ูุชู ุชุฌุงูุฒ ุงูุนุฒู.
---
๐ฅ ููุฐุง Browser Exploitation ุฎุทูุฑ ุฌุฏูุง.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Browser-Level Security Thinking)
---
๐ 1) SOP
ุฃูู ุฎุท ุฏูุงุน.
---
๐ 2) CSP (Content Security Policy)
ุงููุชุงุจ ูุดุฑุญ CSP ูุขููุฉ:
> ูุชูููุฏ ู ุตุงุฏุฑ ุงูู ุญุชูู ูุงูุณูุฑุจุชุงุช
---
๐ฅ ูู ุงุฐุง ุธูุฑุช CSPุ
ูุฃู:
> SOP ูุญุฏูุง ูุง ุชู ูุน XSS
---
๐ฅ ููู ุชุนู ู CSPุ
ู ุซุงู:
Content-Security-Policy:
script-src trusted.com
---
๐ง ู ุงุฐุง ูุนููุ
ุงูู ุชุตูุญ:
> ูู ูุดุบูู JavaScript ุฅูุง ู ู trusted.com
---
๐ฅ ุฅุฐู CSP ุชุญุงูู:
> ุชูููู ุฃุซุฑ XSS
---
๐ฅ ููููุง ููุณุช ู ุซุงููุฉ
ูุฃู:
misconfigurations
unsafe-inline
bypasses
---
๐ 3) Iframe Sandbox
ูุนุฒู ุงูู ุญุชูู ุฏุงุฎู iframe.
---
๐ 4) Subresource Integrity (SRI)
ุงููุชุงุจ ูุฐูุฑ:
> SRI ูุชุญูู ู ู ุณูุงู ุฉ ุงูู ููุงุช ุงูุฎุงุฑุฌูุฉ
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ุฅุฐุง ุชู ุงุฎุชุฑุงู CDNโฆ
ุงูู ุชุตูุญ ูุฑูุถ ุงูู ูู ุงูู ุนุฏู.
---
๐ 5) HSTS
ูุฅุฌุจุงุฑ HTTPS.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ ู ุฑุงูุจุฉ SOP
ุงูุชุญ Console:
fetch("https://google.com")
ุฑุงูุจ:
ูู ุฃูุฑุณู ุงูุทูุจุ
ูู ุฃู ูู ูุฑุงุกุฉ ุงูุฑุฏุ
---
๐งช ุชู ุฑูู 2 โ iframe isolation
ุฃูุดุฆ:
<iframe src="https://example.com"></iframe>
ุซู ุญุงูู ุงููุตูู ููู DOM.
---
๐งช ุชู ุฑูู 3 โ CSP
ุงูุชุญ ู ููุน ูุณุชุฎุฏู CSP.
ุฑุงูุจ:
Headers
blocked scripts
---
๐งช ุชู ุฑูู 4 โ ุชุญููู Origins
ูุงุฑู:
https://example.com
http://example.com
https://admin.example.com
ูู ุชุนุชุจุฑ ููุณ Originุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุซุงูุซ ููุณ ุนู:
> โุณูุงุณุฉ SOPโ
ุจู ุนู:
> ููู ูุญุงูู ุงูู ุชุตูุญ ุชุดุบูู ููุฏ ุบูุฑ ู ูุซูู ู ู ุงูุฅูุชุฑูุชโฆ ุจุฏูู ุฃู ูุณู ุญ ูู ุจูุณุฑ ุญุฏูุฏ ุงูู ูุงูุน ุงูุฃุฎุฑู.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "XSS ุฎุทูุฑ ููุณ ูุฃูู JavaScriptโฆ ุจู ูุฃูู ูุฌุนู ุงูู ุชุตูุญ ูุซู ุจููุฏ ุงูู ูุงุฌู ูุฃูู ุฌุฒุก ู ู ููุณ ุงูู ููุน."
๐
ุงูููู
4 โ Cookies + Sessions + State Management
(ููู ูุญุงูู ุงูููุจ โุชุฐูุฑโ ุงูู ุณุชุฎุฏู โฆ ููู ุงุฐุง ุฃุฏู ุฐูู ุฅูู ุธููุฑ ุฃุฎุทุฑ ุงููุฌู ุงุช)
> ุงูููู ุงูุฑุงุจุน ูุนุชุจุฑ ููุทุฉ ุชุญูู ู ูู ุฉ ุฌุฏูุง.
ูุฃูู ุงูููู ุณุชููู :
๐ฅ ููู ูุนุฑู ุงูู ููุน ุฃูู โุฃูุชโ
ููุฐุง ูููุฏ ู ุจุงุดุฑุฉ ูููู :
Session Hijacking
CSRF
Cookie Attacks
Authentication Bypass
Token Theft
ูุฃู ูู ูุฐู ุชุนุชู ุฏ ุนูู:
ุฅุฏุงุฑุฉ ุงูุญุงูุฉ (State Management)
ุงููุชุงุจ ูู ูุฐุง ุงูุฌุฒุก ูุดุฑุญ:
Cookies
Domain & Path scoping
Secure / HttpOnly / SameSite
ููู ุชูุฎุฒู ุงูุฌูุณุงุช
ููู ุงุฐุง ูุคุฏู ุณูุก ุชุตู ูู ูุง ุฅูู ู ุดุงูู ุฃู ููุฉ ุฎุทูุฑุฉ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ ูู ุงุฐุง ุธูุฑุช Cookies ุฃุตููุงุ)
---
๐น ุงูู ุดููุฉ ุงูุฃุณุงุณูุฉ ูู HTTP
ูู ุงูููู ุงูุฃูู ููู ูุง ุฃู HTTP:
> Stateless
ูุนูู:
ูู Request ู ุณุชูู
ุงูุณูุฑูุฑ ูุง โูุชุฐูุฑโ ุงูู ุณุชุฎุฏู
---
๐ฅ ููู ุงูุชุทุจููุงุช ุงูุญุฏูุซุฉ ุชุญุชุงุฌ ุญุงูุฉ (State)
ู ุซููุง:
ุจุนุฏ ุชุณุฌูู ุงูุฏุฎูู
ูุฌุจ ุฃู ูุนุฑู ุงูู ููุน ุฃูู ููุณ ุงูุดุฎุต
---
๐ฅ ุฅุฐู ููู ุญูููุช ุงูู ุดููุฉุ
ุชู ุงุฎุชุฑุงุน:
๐ช Cookies
---
๐น ู ุง ูู Cookie ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โู ูู ุตุบูุฑ ููุฎุฒู ูู ุงูู ุชุตูุญโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ ุงูููู ุงูุญูููู
Cookie ูู:
> ุขููุฉ ุฑุจุท ุจูู ุนุฏุฉ Requests ู ุณุชููุฉ ูุชุจุฏู ูุฃููุง ุฌูุณุฉ ูุงุญุฏุฉ.
---
๐ง ู ุงุฐุง ูุนูู ุฐููุ
ุจุฏู ุฃู ูููู ูู Request ู ููุตููุง:
ูููู ุงูุณูุฑูุฑ ุจุฅุนุทุงุก ุงูู ุชุตูุญ:
> ู ุนุฑู Session
ุซู ูุนูุฏู ุงูู ุชุตูุญ ู ุน ูู Request.
---
๐ฅ ุฅุฐู ุงูุณูุฑูุฑ ูุง โูุชุฐูุฑโ ุงูู ุณุชุฎุฏู ูุนูููุง
ุจู:
> ุงูู ุณุชุฎุฏู ูุญู ู ู ุนู โุฏููู ูููุชูโ ููุฑุณูู ูู ู ุฑุฉ.
---
๐ฅ ููุฐู ููุฑุฉ ุฎุทูุฑุฉ ุฌุฏูุง ุฃู ูููุง
ูุฃู:
> ุฅุฐุง ุณุฑู ุดุฎุต ูุฐุง ุงูุฏูููโฆ ูุตุจุญ ูู ุงูู ุณุชุฎุฏู .
---
๐น ููู ุชุนู ู ุงูุฌูุณุงุช ู ุนู ุงุฑููุงุ
---
๐งฉ ุงูุณููุงุฑูู ุงููุงู ู
1๏ธโฃ ุงูู ุณุชุฎุฏู ูุณุฌู ุงูุฏุฎูู
POST /login
---
2๏ธโฃ ุงูุณูุฑูุฑ ูุชุญูู ู ู ููู ุฉ ุงูู ุฑูุฑ
---
3๏ธโฃ ุงูุณูุฑูุฑ ููุดุฆ Session
ูู ูุงุนุฏุฉ ุงูุจูุงูุงุช ู ุซููุง:
Session ID User
abc123 admin
---
4๏ธโฃ ุงูุณูุฑูุฑ ูุฑุณู Cookie
Set-Cookie: session=abc123
---
5๏ธโฃ ุงูู ุชุตูุญ ูุฎุฒููุง
---
6๏ธโฃ ู ุน ูู Request ูุงุญู
ุงูู ุชุตูุญ ูุฑุณู:
Cookie: session=abc123
---
๐ฅ ุงูุขู ููู ุช ุดูุฆูุง ู ูู ูุง ุฌุฏูุง
ุงูู ููุน ูุง ูุนุฑูู ู ู:
IP
ุงุณู ู
ุฌูุงุฒู
ุจู ูุนุฑูู ู ู:
Session Token
---
๐ฅ ุฅุฐู ุฃุฎุทุฑ ุดูุก ูู ุญุณุงุจู ุบุงูุจูุง ููุณ ููู ุฉ ุงูู ุฑูุฑโฆ
ุจู:
> Session Cookie
---
๐น ูู ุงุฐุง Cookies ุฎุทูุฑุฉ ุฌุฏูุงุ
ูุฃููุง:
ุชูุฑุณู ุชููุงุฆููุง
ู ุน ูู Request
ุจุฏูู ุชุฏุฎู ุงูู ุณุชุฎุฏู
---
๐ฅ ููุฐู ุงูููุทุฉ ูู ุฃุณุงุณ:
CSRF
(ุณูููู ูุง ูุงุญููุง ุจุนู ู)
---
๐น ููู ูุญุฏุฏ ุงูู ุชุตูุญ ุฃูู ูุฑุณู Cookieุ
ุงููุชุงุจ ูุดุฑุญ:
Domain
Path
SameSite
Secure
HttpOnly
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู Cookie ููุณุช:
> โุนุงูู ูุฉโ
ุจู ู ุฑุชุจุทุฉ ุจุณูุงู ู ุนูู.
---
๐น Domain Scoping
ู ุซุงู:
Set-Cookie: session=abc;
Domain=.example.com
---
๐ง ู ุงุฐุง ูุนููุ
ูู:
app.example.com
admin.example.com
ุณูุญุตููู ุนูู ููุณ Cookie.
---
๐ฃ ูู ุงุฐุง ูุฐุง ุฎุทูุฑุ
ุฅุฐุง ูุงู ุฃุญุฏ ุงูู subdomains ุถุนูููุงโฆ
ูุฏ ูุณุฑู:
> Session ุงูู ููุน ุงูุฑุฆูุณู.
---
๐ฅ ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุถุนู:
blog.example.com
ูุฏ ูุคุฏู ูุงุฎุชุฑุงู:
bank.example.com
ุฅุฐุง ูุงูุช ุงูู Cookie ู ุดุชุฑูุฉ.
---
๐น Path Scoping
Path=/admin
---
๐ง ู ุงุฐุง ูุนููุ
Cookie ุชูุฑุณู ููุท ูู ุณุงุฑุงุช:
/admin
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุชูููู:
exposure
accidental leakage
---
๐น Secure Flag
Secure
---
๐ง ู ุงุฐุง ููุนูุ
Cookie: โ ูุง ุชูุฑุณู ุนุจุฑ HTTP
โ ููุท HTTPS
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุงุ
ุจุฏูููุง:
ุฃู downgrade ูู HTTP
ูุฏ ูุณุฑูุจ ุงูุฌูุณุฉ
---
๐น HttpOnly Flag
HttpOnly
---
๐ง ู ุงุฐุง ููุนูุ
JavaScript: โ ูุง ูุณุชุทูุน ูุฑุงุกุฉ Cookie
---
๐ฅ ูู ุงุฐุง ุฃูุถููุ
ูุฃู:
> XSS ูุงู ูุณุฑู Cookies ุจุณูููุฉ
---
๐ฅ ููู ููุทุฉ ู ูู ุฉ ุฌุฏูุง
HttpOnly: โ ูุง ูู ูุน XSS
ุจู: โ ูููู ุฃุซุฑู
---
๐น SameSite (ู ูู ุฌุฏูุง)
ุงููุชุงุจ ูุดุฑุญ SameSite ูุขููุฉ ูุชูููู ุฅุฑุณุงู Cookies ุนุจุฑ Cross-Site Requests
---
๐ฅ ูู ุงุฐุง ุธูุฑุช SameSiteุ
ูุฃู:
Cookies ุชูุฑุณู ุชููุงุฆููุง
ุญุชู ูู requests ุงููุงุฏู ุฉ ู ู ู ูุงูุน ุฃุฎุฑู
---
๐ฃ ููุฐุง ุฃุตู:
CSRF
---
๐ฅ ู ุซุงู ุฎุทูุฑ
ุฃูุช ู ุณุฌู ุฏุฎูู ูู:
bank.com
ุซู ุชุฒูุฑ:
evil.com
evil.com ููุดุฆ:
<img src="https://bank.com/transfer?amount=1000">
---
๐ฅ ุงูู ุชุตูุญ ูุฏ ูุฑุณู Cookie ุงูุจูู ุชููุงุฆููุง
---
๐ฅ ุงููุชูุฌุฉ
ุงูุณูุฑูุฑ ูุธู:
> โุงูุทูุจ ู ู ุงูู ุณุชุฎุฏู ุงูุญููููโ
---
๐ฅ ูุฐูู ุธูุฑ SameSite
---
๐น SameSite=Lax
ูููู ุจุนุถ Cross-site requests.
---
๐น SameSite=Strict
ูุง ูุฑุณู Cookie ุชูุฑูุจูุง ูู Cross-site context.
---
๐ฅ ููู:
ูุฏ ูุคุซุฑ ุนูู usability.
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Internal Mechanics)
---
๐น ููู ูุฎุฒู ุงูู ุชุตูุญ Cookiesุ
ุงูู ุชุตูุญ ูู ูู:
(ููู ูุญุงูู ุงูููุจ โุชุฐูุฑโ ุงูู ุณุชุฎุฏู โฆ ููู ุงุฐุง ุฃุฏู ุฐูู ุฅูู ุธููุฑ ุฃุฎุทุฑ ุงููุฌู ุงุช)
> ุงูููู ุงูุฑุงุจุน ูุนุชุจุฑ ููุทุฉ ุชุญูู ู ูู ุฉ ุฌุฏูุง.
ูุฃูู ุงูููู ุณุชููู :
๐ฅ ููู ูุนุฑู ุงูู ููุน ุฃูู โุฃูุชโ
ููุฐุง ูููุฏ ู ุจุงุดุฑุฉ ูููู :
Session Hijacking
CSRF
Cookie Attacks
Authentication Bypass
Token Theft
ูุฃู ูู ูุฐู ุชุนุชู ุฏ ุนูู:
ุฅุฏุงุฑุฉ ุงูุญุงูุฉ (State Management)
ุงููุชุงุจ ูู ูุฐุง ุงูุฌุฒุก ูุดุฑุญ:
Cookies
Domain & Path scoping
Secure / HttpOnly / SameSite
ููู ุชูุฎุฒู ุงูุฌูุณุงุช
ููู ุงุฐุง ูุคุฏู ุณูุก ุชุตู ูู ูุง ุฅูู ู ุดุงูู ุฃู ููุฉ ุฎุทูุฑุฉ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ ูู ุงุฐุง ุธูุฑุช Cookies ุฃุตููุงุ)
---
๐น ุงูู ุดููุฉ ุงูุฃุณุงุณูุฉ ูู HTTP
ูู ุงูููู ุงูุฃูู ููู ูุง ุฃู HTTP:
> Stateless
ูุนูู:
ูู Request ู ุณุชูู
ุงูุณูุฑูุฑ ูุง โูุชุฐูุฑโ ุงูู ุณุชุฎุฏู
---
๐ฅ ููู ุงูุชุทุจููุงุช ุงูุญุฏูุซุฉ ุชุญุชุงุฌ ุญุงูุฉ (State)
ู ุซููุง:
ุจุนุฏ ุชุณุฌูู ุงูุฏุฎูู
ูุฌุจ ุฃู ูุนุฑู ุงูู ููุน ุฃูู ููุณ ุงูุดุฎุต
---
๐ฅ ุฅุฐู ููู ุญูููุช ุงูู ุดููุฉุ
ุชู ุงุฎุชุฑุงุน:
๐ช Cookies
---
๐น ู ุง ูู Cookie ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โู ูู ุตุบูุฑ ููุฎุฒู ูู ุงูู ุชุตูุญโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ ุงูููู ุงูุญูููู
Cookie ูู:
> ุขููุฉ ุฑุจุท ุจูู ุนุฏุฉ Requests ู ุณุชููุฉ ูุชุจุฏู ูุฃููุง ุฌูุณุฉ ูุงุญุฏุฉ.
---
๐ง ู ุงุฐุง ูุนูู ุฐููุ
ุจุฏู ุฃู ูููู ูู Request ู ููุตููุง:
ูููู ุงูุณูุฑูุฑ ุจุฅุนุทุงุก ุงูู ุชุตูุญ:
> ู ุนุฑู Session
ุซู ูุนูุฏู ุงูู ุชุตูุญ ู ุน ูู Request.
---
๐ฅ ุฅุฐู ุงูุณูุฑูุฑ ูุง โูุชุฐูุฑโ ุงูู ุณุชุฎุฏู ูุนูููุง
ุจู:
> ุงูู ุณุชุฎุฏู ูุญู ู ู ุนู โุฏููู ูููุชูโ ููุฑุณูู ูู ู ุฑุฉ.
---
๐ฅ ููุฐู ููุฑุฉ ุฎุทูุฑุฉ ุฌุฏูุง ุฃู ูููุง
ูุฃู:
> ุฅุฐุง ุณุฑู ุดุฎุต ูุฐุง ุงูุฏูููโฆ ูุตุจุญ ูู ุงูู ุณุชุฎุฏู .
---
๐น ููู ุชุนู ู ุงูุฌูุณุงุช ู ุนู ุงุฑููุงุ
---
๐งฉ ุงูุณููุงุฑูู ุงููุงู ู
1๏ธโฃ ุงูู ุณุชุฎุฏู ูุณุฌู ุงูุฏุฎูู
POST /login
---
2๏ธโฃ ุงูุณูุฑูุฑ ูุชุญูู ู ู ููู ุฉ ุงูู ุฑูุฑ
---
3๏ธโฃ ุงูุณูุฑูุฑ ููุดุฆ Session
ูู ูุงุนุฏุฉ ุงูุจูุงูุงุช ู ุซููุง:
Session ID User
abc123 admin
---
4๏ธโฃ ุงูุณูุฑูุฑ ูุฑุณู Cookie
Set-Cookie: session=abc123
---
5๏ธโฃ ุงูู ุชุตูุญ ูุฎุฒููุง
---
6๏ธโฃ ู ุน ูู Request ูุงุญู
ุงูู ุชุตูุญ ูุฑุณู:
Cookie: session=abc123
---
๐ฅ ุงูุขู ููู ุช ุดูุฆูุง ู ูู ูุง ุฌุฏูุง
ุงูู ููุน ูุง ูุนุฑูู ู ู:
IP
ุงุณู ู
ุฌูุงุฒู
ุจู ูุนุฑูู ู ู:
Session Token
---
๐ฅ ุฅุฐู ุฃุฎุทุฑ ุดูุก ูู ุญุณุงุจู ุบุงูุจูุง ููุณ ููู ุฉ ุงูู ุฑูุฑโฆ
ุจู:
> Session Cookie
---
๐น ูู ุงุฐุง Cookies ุฎุทูุฑุฉ ุฌุฏูุงุ
ูุฃููุง:
ุชูุฑุณู ุชููุงุฆููุง
ู ุน ูู Request
ุจุฏูู ุชุฏุฎู ุงูู ุณุชุฎุฏู
---
๐ฅ ููุฐู ุงูููุทุฉ ูู ุฃุณุงุณ:
CSRF
(ุณูููู ูุง ูุงุญููุง ุจุนู ู)
---
๐น ููู ูุญุฏุฏ ุงูู ุชุตูุญ ุฃูู ูุฑุณู Cookieุ
ุงููุชุงุจ ูุดุฑุญ:
Domain
Path
SameSite
Secure
HttpOnly
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู Cookie ููุณุช:
> โุนุงูู ูุฉโ
ุจู ู ุฑุชุจุทุฉ ุจุณูุงู ู ุนูู.
---
๐น Domain Scoping
ู ุซุงู:
Set-Cookie: session=abc;
Domain=.example.com
---
๐ง ู ุงุฐุง ูุนููุ
ูู:
app.example.com
admin.example.com
ุณูุญุตููู ุนูู ููุณ Cookie.
---
๐ฃ ูู ุงุฐุง ูุฐุง ุฎุทูุฑุ
ุฅุฐุง ูุงู ุฃุญุฏ ุงูู subdomains ุถุนูููุงโฆ
ูุฏ ูุณุฑู:
> Session ุงูู ููุน ุงูุฑุฆูุณู.
---
๐ฅ ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุถุนู:
blog.example.com
ูุฏ ูุคุฏู ูุงุฎุชุฑุงู:
bank.example.com
ุฅุฐุง ูุงูุช ุงูู Cookie ู ุดุชุฑูุฉ.
---
๐น Path Scoping
Path=/admin
---
๐ง ู ุงุฐุง ูุนููุ
Cookie ุชูุฑุณู ููุท ูู ุณุงุฑุงุช:
/admin
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุชูููู:
exposure
accidental leakage
---
๐น Secure Flag
Secure
---
๐ง ู ุงุฐุง ููุนูุ
Cookie: โ ูุง ุชูุฑุณู ุนุจุฑ HTTP
โ ููุท HTTPS
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุงุ
ุจุฏูููุง:
ุฃู downgrade ูู HTTP
ูุฏ ูุณุฑูุจ ุงูุฌูุณุฉ
---
๐น HttpOnly Flag
HttpOnly
---
๐ง ู ุงุฐุง ููุนูุ
JavaScript: โ ูุง ูุณุชุทูุน ูุฑุงุกุฉ Cookie
---
๐ฅ ูู ุงุฐุง ุฃูุถููุ
ูุฃู:
> XSS ูุงู ูุณุฑู Cookies ุจุณูููุฉ
---
๐ฅ ููู ููุทุฉ ู ูู ุฉ ุฌุฏูุง
HttpOnly: โ ูุง ูู ูุน XSS
ุจู: โ ูููู ุฃุซุฑู
---
๐น SameSite (ู ูู ุฌุฏูุง)
ุงููุชุงุจ ูุดุฑุญ SameSite ูุขููุฉ ูุชูููู ุฅุฑุณุงู Cookies ุนุจุฑ Cross-Site Requests
---
๐ฅ ูู ุงุฐุง ุธูุฑุช SameSiteุ
ูุฃู:
Cookies ุชูุฑุณู ุชููุงุฆููุง
ุญุชู ูู requests ุงููุงุฏู ุฉ ู ู ู ูุงูุน ุฃุฎุฑู
---
๐ฃ ููุฐุง ุฃุตู:
CSRF
---
๐ฅ ู ุซุงู ุฎุทูุฑ
ุฃูุช ู ุณุฌู ุฏุฎูู ูู:
bank.com
ุซู ุชุฒูุฑ:
evil.com
evil.com ููุดุฆ:
<img src="https://bank.com/transfer?amount=1000">
---
๐ฅ ุงูู ุชุตูุญ ูุฏ ูุฑุณู Cookie ุงูุจูู ุชููุงุฆููุง
---
๐ฅ ุงููุชูุฌุฉ
ุงูุณูุฑูุฑ ูุธู:
> โุงูุทูุจ ู ู ุงูู ุณุชุฎุฏู ุงูุญููููโ
---
๐ฅ ูุฐูู ุธูุฑ SameSite
---
๐น SameSite=Lax
ูููู ุจุนุถ Cross-site requests.
---
๐น SameSite=Strict
ูุง ูุฑุณู Cookie ุชูุฑูุจูุง ูู Cross-site context.
---
๐ฅ ููู:
ูุฏ ูุคุซุฑ ุนูู usability.
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Internal Mechanics)
---
๐น ููู ูุฎุฒู ุงูู ุชุตูุญ Cookiesุ
ุงูู ุชุตูุญ ูู ูู:
> Cookie Store
---
๐ง ู ุงุฐุง ูุญุชููุ
ููู Cookie:
name
value
domain
path
expiry
flags
---
๐ฅ ุนูุฏ ูู Request
ุงูู ุชุตูุญ:
1. ููุญุต ุงูู URL
2. ูุญุฏุฏ ุงูู domain
3. ูุญุฏุฏ ุงูู path
4. ููุฑุฑ ุฃู Cookies ุชูุฑุณู
---
๐ฅ ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงูู ุทูุฑ:
> ูุง โูุฑุณูโ Cookies ูุฏูููุง ุบุงูุจูุง
ุงูู ุชุตูุญ:
> ููุนู ุฐูู ุชููุงุฆููุง
---
๐ฅ ููุฐุง ุณุจุจ ุฎุทูุฑุฉ CSRF
---
๐น Cookie Tossing
ุงููุชุงุจ ููู ูุญ ูู ุดุงูู cookie scope ูุณูุก ุถุจุท ุงูู domain
---
๐ง ู ุง ุงูููุฑุฉุ
ุฅุฐุง ุงุณุชุทุงุน attacker ุถุจุท:
Set-Cookie
ุนูู subdomainโฆ
ูุฏ ูุญูู Cookie ุชุคุซุฑ ุนูู ุงูู ููุน ุงูุฑุฆูุณู.
---
๐ฃ ููุฐุง ูุฏ ูุคุฏู ุฅูู:
session confusion
auth bypass
overwriting cookies
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Session Hijacking
ุงูู ูุงุฌู ูุณุฑู:
session=abc123
---
๐ฅ ุงููุชูุฌุฉ
ุงูุณูุฑูุฑ ูุธูู:
> ุงูู ุณุชุฎุฏู ุงูุญูููู
---
๐ฅ ุฅุฐู:
> ุงูุฌูุณุฉ = ุงููููุฉ
---
๐ฅ ุณููุงุฑูู 2 โ XSS + Cookie Theft
ุจุฏูู HttpOnly:
document.cookie
---
๐ฅ ุงูู ูุงุฌู :
ูุฑุณู Cookie ูููุณู
ูุฎุทู ุงูุฌูุณุฉ
---
๐ฅ ุณููุงุฑูู 3 โ CSRF
evil.com ูุฌุนู ุงูู ุชุตูุญ ูุฑุณู:
Cookies
ุชููุงุฆููุง
ููุจูู
---
๐ฅ ุงูุณูุฑูุฑ ูุซู ุจุงูุฌูุณุฉ
---
๐ฅ ุณููุงุฑูู 4 โ Shared Domain Risk
Domain=.example.com
---
๐ฃ ุงุฎุชุฑุงู:
blog.example.com
ูุฏ ูุคุฏู ูุงุฎุชุฑุงู:
admin.example.com
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Deep Defensive Thinking)
---
๐ 1) ุงุณุชุฎุฏู Secure ุฏุงุฆู ูุง
---
๐ 2) ุงุณุชุฎุฏู HttpOnly
ูุชูููู ุณุฑูุฉ Cookies ุนุจุฑ XSS.
---
๐ 3) ุงุณุชุฎุฏู SameSite
ุฎุตูุตูุง ุถุฏ CSRF.
---
๐ 4) ูุง ุชุดุงุฑู Cookies ุจูู subdomains ุจูุง ุฏุงุนู
---
๐ 5) ุงุฌุนู Sessions ูุตูุฑุฉ
---
๐ 6) Rotate Session IDs
ุฎุตูุตูุง ุจุนุฏ login.
---
๐ 7) ูุง ุชุถุน ู ุนููู ุงุช ุญุณุงุณุฉ ุฏุงุฎู Cookie ููุณูุง
---
๐ 8) ุงุฑุจุท ุงูุฌูุณุฉ ุจุณูุงู ู ูุทูู
ู ุซู:
device
IP heuristics
behavior
ููู ุจุญุฐุฑ.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ ุฑุคูุฉ Cookies
ุงูุชุญ DevTools:
Application
Cookies
ุฑุงูุจ:
Domain
Path
Secure
HttpOnly
SameSite
---
๐งช ุชู ุฑูู 2 โ ุชุญููู Session Flow
ุณุฌู ุฏุฎูู ูุฃู ู ููุน ุชุฌุฑูุจู.
ุฑุงูุจ:
ู ุชู ุชููุดุฃ Cookie
ู ุชู ุชูุฑุณู
---
๐งช ุชู ุฑูู 3 โ ุญุฐู Cookie
ุงุญุฐู Session Cookie.
ู ุงุฐุง ูุญุฏุซุ
---
๐งช ุชู ุฑูู 4 โ ุชุญููู SameSite
ุฑุงูุจ Requests:
ูู Cookie ุชูุฑุณู Cross-siteุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุฑุงุจุน ููุณ ุนู:
> โู ุง ูู Cookiesโ
ุจู ุนู:
> ููู ูุญุงูู ุงูููุจ ุจูุงุก ู ูููู โุงููููุฉ ูุงูุฌูุณุฉโ ููู ุจุฑูุชูููู Statelessโฆ ููู ุงุฐุง ูุคุฏู ูุฐุง ุงูุชุตู ูู ุฅูู ูู ูุฉ ูุงุฆูุฉ ู ู ุงููุฌู ุงุช.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ูู ุฃุบูุจ ุชุทุจููุงุช ุงูููุจโฆ ู ู ูู ูู Session Cookie ูู ูู ูููุฉ ุงูู ุณุชุฎุฏู ."
---
๐ง ู ุงุฐุง ูุญุชููุ
ููู Cookie:
name
value
domain
path
expiry
flags
---
๐ฅ ุนูุฏ ูู Request
ุงูู ุชุตูุญ:
1. ููุญุต ุงูู URL
2. ูุญุฏุฏ ุงูู domain
3. ูุญุฏุฏ ุงูู path
4. ููุฑุฑ ุฃู Cookies ุชูุฑุณู
---
๐ฅ ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงูู ุทูุฑ:
> ูุง โูุฑุณูโ Cookies ูุฏูููุง ุบุงูุจูุง
ุงูู ุชุตูุญ:
> ููุนู ุฐูู ุชููุงุฆููุง
---
๐ฅ ููุฐุง ุณุจุจ ุฎุทูุฑุฉ CSRF
---
๐น Cookie Tossing
ุงููุชุงุจ ููู ูุญ ูู ุดุงูู cookie scope ูุณูุก ุถุจุท ุงูู domain
---
๐ง ู ุง ุงูููุฑุฉุ
ุฅุฐุง ุงุณุชุทุงุน attacker ุถุจุท:
Set-Cookie
ุนูู subdomainโฆ
ูุฏ ูุญูู Cookie ุชุคุซุฑ ุนูู ุงูู ููุน ุงูุฑุฆูุณู.
---
๐ฃ ููุฐุง ูุฏ ูุคุฏู ุฅูู:
session confusion
auth bypass
overwriting cookies
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Session Hijacking
ุงูู ูุงุฌู ูุณุฑู:
session=abc123
---
๐ฅ ุงููุชูุฌุฉ
ุงูุณูุฑูุฑ ูุธูู:
> ุงูู ุณุชุฎุฏู ุงูุญูููู
---
๐ฅ ุฅุฐู:
> ุงูุฌูุณุฉ = ุงููููุฉ
---
๐ฅ ุณููุงุฑูู 2 โ XSS + Cookie Theft
ุจุฏูู HttpOnly:
document.cookie
---
๐ฅ ุงูู ูุงุฌู :
ูุฑุณู Cookie ูููุณู
ูุฎุทู ุงูุฌูุณุฉ
---
๐ฅ ุณููุงุฑูู 3 โ CSRF
evil.com ูุฌุนู ุงูู ุชุตูุญ ูุฑุณู:
Cookies
ุชููุงุฆููุง
ููุจูู
---
๐ฅ ุงูุณูุฑูุฑ ูุซู ุจุงูุฌูุณุฉ
---
๐ฅ ุณููุงุฑูู 4 โ Shared Domain Risk
Domain=.example.com
---
๐ฃ ุงุฎุชุฑุงู:
blog.example.com
ูุฏ ูุคุฏู ูุงุฎุชุฑุงู:
admin.example.com
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Deep Defensive Thinking)
---
๐ 1) ุงุณุชุฎุฏู Secure ุฏุงุฆู ูุง
---
๐ 2) ุงุณุชุฎุฏู HttpOnly
ูุชูููู ุณุฑูุฉ Cookies ุนุจุฑ XSS.
---
๐ 3) ุงุณุชุฎุฏู SameSite
ุฎุตูุตูุง ุถุฏ CSRF.
---
๐ 4) ูุง ุชุดุงุฑู Cookies ุจูู subdomains ุจูุง ุฏุงุนู
---
๐ 5) ุงุฌุนู Sessions ูุตูุฑุฉ
---
๐ 6) Rotate Session IDs
ุฎุตูุตูุง ุจุนุฏ login.
---
๐ 7) ูุง ุชุถุน ู ุนููู ุงุช ุญุณุงุณุฉ ุฏุงุฎู Cookie ููุณูุง
---
๐ 8) ุงุฑุจุท ุงูุฌูุณุฉ ุจุณูุงู ู ูุทูู
ู ุซู:
device
IP heuristics
behavior
ููู ุจุญุฐุฑ.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ ุฑุคูุฉ Cookies
ุงูุชุญ DevTools:
Application
Cookies
ุฑุงูุจ:
Domain
Path
Secure
HttpOnly
SameSite
---
๐งช ุชู ุฑูู 2 โ ุชุญููู Session Flow
ุณุฌู ุฏุฎูู ูุฃู ู ููุน ุชุฌุฑูุจู.
ุฑุงูุจ:
ู ุชู ุชููุดุฃ Cookie
ู ุชู ุชูุฑุณู
---
๐งช ุชู ุฑูู 3 โ ุญุฐู Cookie
ุงุญุฐู Session Cookie.
ู ุงุฐุง ูุญุฏุซุ
---
๐งช ุชู ุฑูู 4 โ ุชุญููู SameSite
ุฑุงูุจ Requests:
ูู Cookie ุชูุฑุณู Cross-siteุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุฑุงุจุน ููุณ ุนู:
> โู ุง ูู Cookiesโ
ุจู ุนู:
> ููู ูุญุงูู ุงูููุจ ุจูุงุก ู ูููู โุงููููุฉ ูุงูุฌูุณุฉโ ููู ุจุฑูุชูููู Statelessโฆ ููู ุงุฐุง ูุคุฏู ูุฐุง ุงูุชุตู ูู ุฅูู ูู ูุฉ ูุงุฆูุฉ ู ู ุงููุฌู ุงุช.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ูู ุฃุบูุจ ุชุทุจููุงุช ุงูููุจโฆ ู ู ูู ูู Session Cookie ูู ูู ูููุฉ ุงูู ุณุชุฎุฏู ."
๐
ุงูููู
5 โ Encoding, Canonicalization & Parsing Confusion
(ููู ุชุชุญูู ุทุฑููุฉ โุชูุณูุฑ ุงูุจูุงูุงุชโ ุฅูู ุซุบุฑุงุช ุฎุทูุฑุฉ)
> ุงูููู ุงูุฎุงู ุณ ู ู ุฃุฎุทุฑ ุงูุฃูุงู ููุฑููุง.
ูุฃูู ุงูููู ุณุชููู :
๐ฅ ูู ุงุฐุง ูุง ุชุฃุชู ูุซูุฑ ู ู ุงูุซุบุฑุงุช ู ู โุงูุจูุงูุงุช ููุณูุงโโฆ
ุจู ู ู:
ุงุฎุชูุงู ุชูุณูุฑ ุงูุจูุงูุงุช ุจูู ุงูุทุจูุงุช ุงูู ุฎุชููุฉ
ููุฐุง ุงูููู ูู ุงูุฃุณุงุณ ุงูุญูููู ูููู :
Filter Bypass
WAF Bypass
Path Traversal
XSS Bypass
Double Encoding
Unicode Confusion
Request Smuggling
Canonicalization Bugs
ูุฃู ูู ูุฐู ุชุนุชู ุฏ ุนูู:
๐ฅ โู ู ุงูุฐู ููุณุฑ ุงูุจูุงูุงุชุ ูู ุชูุ ููููุโ
ุงููุชุงุจ ูู ูุฐุง ุงูุฌุฒุก ูุดุฑุญ:
URL Encoding
Double Encoding
HTML Encoding
Base64
Unicode
ููู ุงุฐุง ุชุคุฏู ุนู ููุงุช ูู ุงูุชุฑู ูุฒ ุงูู ุชุนุฏุฏุฉ ุฃู ุงุฎุชูุงู ุชูุณูุฑ ุงูุทุจูุงุช ุฅูู ู ุดุงูู ุฃู ููุฉ ุฎุทูุฑุฉ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ Deep Parsing Architecture)
---
๐น ุฃูููุง: ู ุง ูู Encoding ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โุชุญููู ุงูุจูุงูุงุช ูุตูุบุฉ ุฃุฎุฑูโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ ุงูููู ุงูุญูููู
Encoding ูู:
> ุทุฑููุฉ ูุชู ุซูู ุงูุจูุงูุงุช ุจุญูุซ ูู ูู ููููุง ุฃู ุชูุณูุฑูุง ุฏุงุฎู ูุธุงู ู ุนูู.
---
๐ง ูู ุงุฐุง ูุญุชุงุฌ Encoding ุฃุตููุงุ
ูุฃู ุงูุฅูุชุฑูุช ูู ููุตู ู ููู ุฃููุงุน ุงูุจูุงูุงุช.
HTTP ูุงูู URLs ุตูู ู ุช ุชุงุฑูุฎููุง ููุชุนุงู ู ู ุน:
ุญุฑูู ู ุนููุฉ
ุฑู ูุฒ ู ุนููุฉ
ููู ู ุงุฐุง ูู ุฃุฑุฏูุง:
ู ุณุงูุงุชุ
Unicodeุ
ุฑู ูุฒ HTMLุ
ุจูุงูุงุช Binaryุ
---
๐ฅ ููุง ุธูุฑ Encoding
---
๐น ู ุซุงู ุจุณูุท
ุงูู ุณุงูุฉ:
Hello World
ูู URL ุชุตุจุญ:
Hello%20World
---
๐ฅ ูู ุงุฐุงุ
ูุฃู:
Space
ูู ู ุนูู ุฎุงุต ุฏุงุฎู URLs.
---
๐ฅ ุฅุฐู Encoding ููุณ โุฃู ุงูโ
ุจู:
> Translation Layer
---
๐น ุงูุขู ุงูููุทุฉ ุงูุฃุฎุทุฑ
ูู ุทุจูุฉ ูู ุงูููุจ ูุฏ:
ุชูู ุงูุชุฑู ูุฒ
ุฃู ุชูุณุฑู
ุฃู ุชุนูุฏ ุชุฑู ูุฒู
ุจุทุฑููุฉ ู ุฎุชููุฉ.
---
๐ฅ ูููุง ุชุจุฏุฃ ุงูููุงุฑุซ ุงูุฃู ููุฉ
---
๐ฅ ุงูููุฑุฉ ุงูุฌููุฑูุฉ ููููู ููู
ุงูุซุบุฑุงุช ูุซูุฑูุง ู ุง ุชุธูุฑ ูุฃู:
> ุทุจูุฉ A ุชุฑู ุงูุจูุงูุงุช ุจุดูู
ูุทุจูุฉ B ุชุฑุงูุง ุจุดูู ู ุฎุชูู.
---
๐ฅ ููุฐุง ูุณู ู:
Parsing Ambiguity
ุฃู:
Canonicalization Problems
---
๐น ู ุง ู ุนูู Canonicalizationุ
ูุนูู:
> ุชุญููู ุงูุจูุงูุงุช ุฅูู โุงูุตูุบุฉ ุงูููุงุฆูุฉ ุงูุญููููุฉโ ูุจู ู ุนุงูุฌุชูุง.
---
๐ฅ ุงูู ุดููุฉ
ุฅุฐุง:
ุงูู Filter ูุฑู ููู ุฉ
ููู ุงูุณูุฑูุฑ ุจุนุฏ decoding ูุฑู ููู ุฉ ู ุฎุชููุฉ
๐ฃ ุงูุชูู ุงูุฃู ุฑ.
---
๐ฅ ู ุซุงู ู ูู ุฌุฏูุง
ุงูููุงุชุฑ ุชู ูุน:
../
ููู ุงูู ูุงุฌู ูุฑุณู:
%2e%2e%2f
---
๐ฅ ู ุงุฐุง ูุญุฏุซุ
ุงูู ุฑุญูุฉ ุงูุฃููู
ุงูููุชุฑ ูุฑู:
%2e%2e%2f
ููุง ููุชุดู:
../
---
ุงูู ุฑุญูุฉ ุงูุซุงููุฉ
ุงูุณูุฑูุฑ ููู ุงูุชุฑู ูุฒ:
../
---
๐ฅ ุงููุชูุฌุฉ
Path Traversal bypass.
---
๐ฅ ุฅุฐู ุงูู ุดููุฉ ููุณุช:
> โEncodingโ
ุจู:
> โู ุชู ุชู ูู ุงูุชุฑู ูุฒุ ูู ู ุงูุฐู ูุณุฑูุโ
---
๐น ููู ูููุฑ ุงููุงูุฑ ููุงุ
ูุง ูุณุฃู:
> โู ุง ูู ุงูููู ุฉุโ
ุจู:
> โููู ุชุฑุงูุง ูู ุทุจูุฉุโ
---
๐ฅ ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงููุงูุฑ ูููุฑ:
ููู ููุณุฑูุง Browserุ
ููู ููุณุฑูุง Proxyุ
ููู ููุณุฑูุง WAFุ
ููู ููุณุฑูุง Frameworkุ
ููู ููุณุฑูุง Backendุ
---
๐ฅ ูุฅุฐุง ูุฌุฏ ุงุฎุชูุงููุง:
> ุชุจุฏุฃ bypasses
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Deep Parsing Mechanics)
---
๐น URL Encoding
ุงููุชุงุจ ูุดุฑุญ:
> URL Encoding ูุญูู ุงูุฃุญุฑู ุงูุฎุงุตุฉ ุฅูู ุชู ุซูู %HEX
---
๐ฌ ู ุซุงู
<
ุชุตุจุญ:
%3C
---
๐ฅ ู ุงุฐุง ูุญุฏุซ ุฏุงุฎูููุงุ
1๏ธโฃ ุงูู ุชุตูุญ ูุฑุณู:
%3C
---
2๏ธโฃ ุงูุณูุฑูุฑ ููู ุงูุชุฑู ูุฒ:
<
---
๐ฅ ุงูุขู ุชุฎูู:
ุงูููุชุฑ ูุนู ู:
ูุจู decoding
ููู ุงูุชูููุฐ:
ุจุนุฏ decoding
---
๐ฅ bypass
---
๐น Double Encoding
ุงููุชุงุจ ูุดุฑุญ:
> ูู ูู ุชุฑู ูุฒ ุงูุจูุงูุงุช ุฃูุซุฑ ู ู ู ุฑุฉ
---
๐ฌ ู ุซุงู
<
---
ุงูุชุฑู ูุฒ ุงูุฃูู
%3C
---
ุงูุชุฑู ูุฒ ุงูุซุงูู
%253C
ูุฃู:
%
ุชุตุจุญ:
%25
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุงุ
ุฅุฐุง:
WAF ููู ู ุฑุฉ ูุงุญุฏุฉ
ุงูุณูุฑูุฑ ููู ู ุฑุชูู
---
๐ฅ ุงููุชูุฌุฉ
ุงูู WAF ูุฑู:
%3C
ููู ุงูุชุทุจูู ูุฑู:
<
---
๐ฅ ููุฐุง ุฃุณุงุณ ูู ูุฉ ูุงุฆูุฉ ู ู bypasses
---
๐น Unicode Encoding
ุงููุชุงุจ ูุดุฑุญ Unicode ูุขููุฉ ูุชู ุซูู ูุบุงุช ู ุชุนุฏุฏุฉ
---
๐ฅ ุงูู ุดููุฉ ุงูุฃู ููุฉ
ุจุนุถ ุงูุญุฑูู:
ุชุจุฏู ู ุชุดุงุจูุฉ
ููู ููู ุชูุง ู ุฎุชููุฉ
---
๐ฌ ู ุซุงู
ุญุฑู:
/
ูุฏ ููุฌุฏ Unicode ูุดุจูู.
---
๐ฅ ุงููุชูุฌุฉ
ุงูููุชุฑ ูุง ูุชุนุฑู ุนููู
parser ุขุฎุฑ ููุณุฑู ูู slash
---
๐ฅ bypass
---
๐น HTML Encoding
< โ <
---
๐ง ูู ุงุฐุง ููุณุชุฎุฏู ุ
ูู ูุน:
HTML injection
XSS
---
๐ฅ ููู ุงูู ุดููุฉ
ุฅุฐุง:
ุชู ูู ุงูุชุฑู ูุฒ ูุงุญููุง
ุฃู ุชู ุฅุฏุฎุงูู ุฏุงุฎู Context ู ุฎุชูู
---
๐ฅ ูุฏ ูุนูุฏ XSS.
---
๐น Base64
ุงููุชุงุจ ููุถุญ:
> Base64 Encoding ููุณ ุชุดููุฑูุง
---
๐ฅ ูุฐู ููุทุฉ ู ูู ุฉ ุฌุฏูุง
Base64: โ ูุง ูุญู ู ุงูุจูุงูุงุช
ุจู: โ ููุท ูุบูุฑ ุดูููุง
---
๐ฅ ูุซูุฑ ู ู ุงูู ุทูุฑูู ูุฎุทุฆูู ููุง
ููุนุชูุฏูู:
Base64 == Security
---
๐ฃ ูุงุฑุซุฉ ุดุงุฆุนุฉ ุฌุฏูุง
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ WAF Bypass
(ููู ุชุชุญูู ุทุฑููุฉ โุชูุณูุฑ ุงูุจูุงูุงุชโ ุฅูู ุซุบุฑุงุช ุฎุทูุฑุฉ)
> ุงูููู ุงูุฎุงู ุณ ู ู ุฃุฎุทุฑ ุงูุฃูุงู ููุฑููุง.
ูุฃูู ุงูููู ุณุชููู :
๐ฅ ูู ุงุฐุง ูุง ุชุฃุชู ูุซูุฑ ู ู ุงูุซุบุฑุงุช ู ู โุงูุจูุงูุงุช ููุณูุงโโฆ
ุจู ู ู:
ุงุฎุชูุงู ุชูุณูุฑ ุงูุจูุงูุงุช ุจูู ุงูุทุจูุงุช ุงูู ุฎุชููุฉ
ููุฐุง ุงูููู ูู ุงูุฃุณุงุณ ุงูุญูููู ูููู :
Filter Bypass
WAF Bypass
Path Traversal
XSS Bypass
Double Encoding
Unicode Confusion
Request Smuggling
Canonicalization Bugs
ูุฃู ูู ูุฐู ุชุนุชู ุฏ ุนูู:
๐ฅ โู ู ุงูุฐู ููุณุฑ ุงูุจูุงูุงุชุ ูู ุชูุ ููููุโ
ุงููุชุงุจ ูู ูุฐุง ุงูุฌุฒุก ูุดุฑุญ:
URL Encoding
Double Encoding
HTML Encoding
Base64
Unicode
ููู ุงุฐุง ุชุคุฏู ุนู ููุงุช ูู ุงูุชุฑู ูุฒ ุงูู ุชุนุฏุฏุฉ ุฃู ุงุฎุชูุงู ุชูุณูุฑ ุงูุทุจูุงุช ุฅูู ู ุดุงูู ุฃู ููุฉ ุฎุทูุฑุฉ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ Deep Parsing Architecture)
---
๐น ุฃูููุง: ู ุง ูู Encoding ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โุชุญููู ุงูุจูุงูุงุช ูุตูุบุฉ ุฃุฎุฑูโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ ุงูููู ุงูุญูููู
Encoding ูู:
> ุทุฑููุฉ ูุชู ุซูู ุงูุจูุงูุงุช ุจุญูุซ ูู ูู ููููุง ุฃู ุชูุณูุฑูุง ุฏุงุฎู ูุธุงู ู ุนูู.
---
๐ง ูู ุงุฐุง ูุญุชุงุฌ Encoding ุฃุตููุงุ
ูุฃู ุงูุฅูุชุฑูุช ูู ููุตู ู ููู ุฃููุงุน ุงูุจูุงูุงุช.
HTTP ูุงูู URLs ุตูู ู ุช ุชุงุฑูุฎููุง ููุชุนุงู ู ู ุน:
ุญุฑูู ู ุนููุฉ
ุฑู ูุฒ ู ุนููุฉ
ููู ู ุงุฐุง ูู ุฃุฑุฏูุง:
ู ุณุงูุงุชุ
Unicodeุ
ุฑู ูุฒ HTMLุ
ุจูุงูุงุช Binaryุ
---
๐ฅ ููุง ุธูุฑ Encoding
---
๐น ู ุซุงู ุจุณูุท
ุงูู ุณุงูุฉ:
Hello World
ูู URL ุชุตุจุญ:
Hello%20World
---
๐ฅ ูู ุงุฐุงุ
ูุฃู:
Space
ูู ู ุนูู ุฎุงุต ุฏุงุฎู URLs.
---
๐ฅ ุฅุฐู Encoding ููุณ โุฃู ุงูโ
ุจู:
> Translation Layer
---
๐น ุงูุขู ุงูููุทุฉ ุงูุฃุฎุทุฑ
ูู ุทุจูุฉ ูู ุงูููุจ ูุฏ:
ุชูู ุงูุชุฑู ูุฒ
ุฃู ุชูุณุฑู
ุฃู ุชุนูุฏ ุชุฑู ูุฒู
ุจุทุฑููุฉ ู ุฎุชููุฉ.
---
๐ฅ ูููุง ุชุจุฏุฃ ุงูููุงุฑุซ ุงูุฃู ููุฉ
---
๐ฅ ุงูููุฑุฉ ุงูุฌููุฑูุฉ ููููู ููู
ุงูุซุบุฑุงุช ูุซูุฑูุง ู ุง ุชุธูุฑ ูุฃู:
> ุทุจูุฉ A ุชุฑู ุงูุจูุงูุงุช ุจุดูู
ูุทุจูุฉ B ุชุฑุงูุง ุจุดูู ู ุฎุชูู.
---
๐ฅ ููุฐุง ูุณู ู:
Parsing Ambiguity
ุฃู:
Canonicalization Problems
---
๐น ู ุง ู ุนูู Canonicalizationุ
ูุนูู:
> ุชุญููู ุงูุจูุงูุงุช ุฅูู โุงูุตูุบุฉ ุงูููุงุฆูุฉ ุงูุญููููุฉโ ูุจู ู ุนุงูุฌุชูุง.
---
๐ฅ ุงูู ุดููุฉ
ุฅุฐุง:
ุงูู Filter ูุฑู ููู ุฉ
ููู ุงูุณูุฑูุฑ ุจุนุฏ decoding ูุฑู ููู ุฉ ู ุฎุชููุฉ
๐ฃ ุงูุชูู ุงูุฃู ุฑ.
---
๐ฅ ู ุซุงู ู ูู ุฌุฏูุง
ุงูููุงุชุฑ ุชู ูุน:
../
ููู ุงูู ูุงุฌู ูุฑุณู:
%2e%2e%2f
---
๐ฅ ู ุงุฐุง ูุญุฏุซุ
ุงูู ุฑุญูุฉ ุงูุฃููู
ุงูููุชุฑ ูุฑู:
%2e%2e%2f
ููุง ููุชุดู:
../
---
ุงูู ุฑุญูุฉ ุงูุซุงููุฉ
ุงูุณูุฑูุฑ ููู ุงูุชุฑู ูุฒ:
../
---
๐ฅ ุงููุชูุฌุฉ
Path Traversal bypass.
---
๐ฅ ุฅุฐู ุงูู ุดููุฉ ููุณุช:
> โEncodingโ
ุจู:
> โู ุชู ุชู ูู ุงูุชุฑู ูุฒุ ูู ู ุงูุฐู ูุณุฑูุโ
---
๐น ููู ูููุฑ ุงููุงูุฑ ููุงุ
ูุง ูุณุฃู:
> โู ุง ูู ุงูููู ุฉุโ
ุจู:
> โููู ุชุฑุงูุง ูู ุทุจูุฉุโ
---
๐ฅ ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงููุงูุฑ ูููุฑ:
ููู ููุณุฑูุง Browserุ
ููู ููุณุฑูุง Proxyุ
ููู ููุณุฑูุง WAFุ
ููู ููุณุฑูุง Frameworkุ
ููู ููุณุฑูุง Backendุ
---
๐ฅ ูุฅุฐุง ูุฌุฏ ุงุฎุชูุงููุง:
> ุชุจุฏุฃ bypasses
---
2) โ๏ธ ุงูุขููุฉ (How it works โ Deep Parsing Mechanics)
---
๐น URL Encoding
ุงููุชุงุจ ูุดุฑุญ:
> URL Encoding ูุญูู ุงูุฃุญุฑู ุงูุฎุงุตุฉ ุฅูู ุชู ุซูู %HEX
---
๐ฌ ู ุซุงู
<
ุชุตุจุญ:
%3C
---
๐ฅ ู ุงุฐุง ูุญุฏุซ ุฏุงุฎูููุงุ
1๏ธโฃ ุงูู ุชุตูุญ ูุฑุณู:
%3C
---
2๏ธโฃ ุงูุณูุฑูุฑ ููู ุงูุชุฑู ูุฒ:
<
---
๐ฅ ุงูุขู ุชุฎูู:
ุงูููุชุฑ ูุนู ู:
ูุจู decoding
ููู ุงูุชูููุฐ:
ุจุนุฏ decoding
---
๐ฅ bypass
---
๐น Double Encoding
ุงููุชุงุจ ูุดุฑุญ:
> ูู ูู ุชุฑู ูุฒ ุงูุจูุงูุงุช ุฃูุซุฑ ู ู ู ุฑุฉ
---
๐ฌ ู ุซุงู
<
---
ุงูุชุฑู ูุฒ ุงูุฃูู
%3C
---
ุงูุชุฑู ูุฒ ุงูุซุงูู
%253C
ูุฃู:
%
ุชุตุจุญ:
%25
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุงุ
ุฅุฐุง:
WAF ููู ู ุฑุฉ ูุงุญุฏุฉ
ุงูุณูุฑูุฑ ููู ู ุฑุชูู
---
๐ฅ ุงููุชูุฌุฉ
ุงูู WAF ูุฑู:
%3C
ููู ุงูุชุทุจูู ูุฑู:
<
---
๐ฅ ููุฐุง ุฃุณุงุณ ูู ูุฉ ูุงุฆูุฉ ู ู bypasses
---
๐น Unicode Encoding
ุงููุชุงุจ ูุดุฑุญ Unicode ูุขููุฉ ูุชู ุซูู ูุบุงุช ู ุชุนุฏุฏุฉ
---
๐ฅ ุงูู ุดููุฉ ุงูุฃู ููุฉ
ุจุนุถ ุงูุญุฑูู:
ุชุจุฏู ู ุชุดุงุจูุฉ
ููู ููู ุชูุง ู ุฎุชููุฉ
---
๐ฌ ู ุซุงู
ุญุฑู:
/
ูุฏ ููุฌุฏ Unicode ูุดุจูู.
---
๐ฅ ุงููุชูุฌุฉ
ุงูููุชุฑ ูุง ูุชุนุฑู ุนููู
parser ุขุฎุฑ ููุณุฑู ูู slash
---
๐ฅ bypass
---
๐น HTML Encoding
< โ <
---
๐ง ูู ุงุฐุง ููุณุชุฎุฏู ุ
ูู ูุน:
HTML injection
XSS
---
๐ฅ ููู ุงูู ุดููุฉ
ุฅุฐุง:
ุชู ูู ุงูุชุฑู ูุฒ ูุงุญููุง
ุฃู ุชู ุฅุฏุฎุงูู ุฏุงุฎู Context ู ุฎุชูู
---
๐ฅ ูุฏ ูุนูุฏ XSS.
---
๐น Base64
ุงููุชุงุจ ููุถุญ:
> Base64 Encoding ููุณ ุชุดููุฑูุง
---
๐ฅ ูุฐู ููุทุฉ ู ูู ุฉ ุฌุฏูุง
Base64: โ ูุง ูุญู ู ุงูุจูุงูุงุช
ุจู: โ ููุท ูุบูุฑ ุดูููุง
---
๐ฅ ูุซูุฑ ู ู ุงูู ุทูุฑูู ูุฎุทุฆูู ููุง
ููุนุชูุฏูู:
Base64 == Security
---
๐ฃ ูุงุฑุซุฉ ุดุงุฆุนุฉ ุฌุฏูุง
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ WAF Bypass
ุงูููุชุฑ ูู
ูุน:
<script>
---
๐ฅ ุงูู ูุงุฌู ูุฑุณู:
%3Cscript%3E
ุฃู:
%253Cscript%253E
---
๐ฅ ุฅุฐุง ุงุฎุชูู decoding:
bypass
---
๐ฅ ุณููุงุฑูู 2 โ Path Traversal
ุงูุชุทุจูู ูู ูุน:
../
ุงูู ูุงุฌู :
%2e%2e%2f
---
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 3 โ Unicode Confusion
ุงูููุชุฑ:
ูุง ูุฑู slash ุงูุญูููู
ููู parser:
ูุญููู ูู ุณุงุฑ ูุนูู
---
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 4 โ Base64 Misuse
ุงูู ุทูุฑ:
Base64(password)
ููุนุชูุฏ ุฃูู:
> โุขู ูโ
---
๐ฅ ุฃู ุดุฎุต ูุณุชุทูุน decode.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Canonicalization Security Thinking)
---
๐ 1) Canonicalize Before Validation
ูุฐู ุฃูู ูุงุนุฏุฉ ุงูููู .
---
๐ฅ ูุนูู:
โ ูู ุงูุชุฑู ูุฒ ุฃูููุง
โ Normalize
โ ุซู ุงูุญุต
---
๐ 2) Decode Once
ูุง ุชุฌุนู:
ุทุจูุงุช ู ุฎุชููุฉ
ุชูู ุจุทุฑู ู ุฎุชููุฉ
---
๐ 3) ุงุณุชุฎุฏู ู ูุชุจุงุช ู ูุซููุฉ
ูุง ุชูุชุจ parsers ุจููุณู.
---
๐ 4) ูุง ุชุนุชู ุฏ ุนูู Blacklists
ุฎุตูุตูุง ูุจู canonicalization.
---
๐ 5) ุงููู Context
Encoding ูุนุชู ุฏ ุนูู:
HTML context
URL context
JS context
---
๐ฅ ููุฐุง ู ูู ุฌุฏูุง ูุงุญููุง ูู XSS.
---
๐ 6) Base64 โ Encryption
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ URL Encoding
ุญููู:
../
ุฅูู URL encoded.
---
๐งช ุชู ุฑูู 2 โ Double Encoding
ุญููู:
<
ุฅูู:
encoded ู ุฑุฉ
encoded ู ุฑุชูู
---
๐งช ุชู ุฑูู 3 โ ุชุญููู Parsing
ุงุณุฃู:
ู ู ููู ุงูุชุฑู ูุฒ ุฃูููุงุ
ูู ููุงู WAFุ
ูู ุงูู proxy ูุฎุชูู ุนู backendุ
---
๐งช ุชู ุฑูู 4 โ Base64
ุฌุฑูุจ:
encode
decode
ูุงููู ุฃูู: โ ููุณ ุญู ุงูุฉ.
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุฎุงู ุณ ููุณ ุนู:
> โุฃููุงุน ุงูุชุฑู ูุฒโ
ุจู ุนู:
> ููู ุชุคุฏู ุงุฎุชูุงูุงุช ุชูุณูุฑ ุงูุจูุงูุงุช ุจูู ุงูุทุจูุงุช ุงูู ุฎุชููุฉ ุฅูู ุธููุฑ bypasses ูุซุบุฑุงุช ุฎุทูุฑุฉ.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ูุซูุฑ ู ู ุงูุซุบุฑุงุช ููุณุช ูุฃู ุงูุจูุงูุงุช ุฎุจูุซุฉโฆ ุจู ูุฃู ุงูุฃูุธู ุฉ ุงูู ุฎุชููุฉ ุชูุณุฑ ููุณ ุงูุจูุงูุงุช ุจุทุฑู ู ุฎุชููุฉ."
<script>
---
๐ฅ ุงูู ูุงุฌู ูุฑุณู:
%3Cscript%3E
ุฃู:
%253Cscript%253E
---
๐ฅ ุฅุฐุง ุงุฎุชูู decoding:
bypass
---
๐ฅ ุณููุงุฑูู 2 โ Path Traversal
ุงูุชุทุจูู ูู ูุน:
../
ุงูู ูุงุฌู :
%2e%2e%2f
---
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 3 โ Unicode Confusion
ุงูููุชุฑ:
ูุง ูุฑู slash ุงูุญูููู
ููู parser:
ูุญููู ูู ุณุงุฑ ูุนูู
---
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 4 โ Base64 Misuse
ุงูู ุทูุฑ:
Base64(password)
ููุนุชูุฏ ุฃูู:
> โุขู ูโ
---
๐ฅ ุฃู ุดุฎุต ูุณุชุทูุน decode.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Canonicalization Security Thinking)
---
๐ 1) Canonicalize Before Validation
ูุฐู ุฃูู ูุงุนุฏุฉ ุงูููู .
---
๐ฅ ูุนูู:
โ ูู ุงูุชุฑู ูุฒ ุฃูููุง
โ Normalize
โ ุซู ุงูุญุต
---
๐ 2) Decode Once
ูุง ุชุฌุนู:
ุทุจูุงุช ู ุฎุชููุฉ
ุชูู ุจุทุฑู ู ุฎุชููุฉ
---
๐ 3) ุงุณุชุฎุฏู ู ูุชุจุงุช ู ูุซููุฉ
ูุง ุชูุชุจ parsers ุจููุณู.
---
๐ 4) ูุง ุชุนุชู ุฏ ุนูู Blacklists
ุฎุตูุตูุง ูุจู canonicalization.
---
๐ 5) ุงููู Context
Encoding ูุนุชู ุฏ ุนูู:
HTML context
URL context
JS context
---
๐ฅ ููุฐุง ู ูู ุฌุฏูุง ูุงุญููุง ูู XSS.
---
๐ 6) Base64 โ Encryption
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ URL Encoding
ุญููู:
../
ุฅูู URL encoded.
---
๐งช ุชู ุฑูู 2 โ Double Encoding
ุญููู:
<
ุฅูู:
encoded ู ุฑุฉ
encoded ู ุฑุชูู
---
๐งช ุชู ุฑูู 3 โ ุชุญููู Parsing
ุงุณุฃู:
ู ู ููู ุงูุชุฑู ูุฒ ุฃูููุงุ
ูู ููุงู WAFุ
ูู ุงูู proxy ูุฎุชูู ุนู backendุ
---
๐งช ุชู ุฑูู 4 โ Base64
ุฌุฑูุจ:
encode
decode
ูุงููู ุฃูู: โ ููุณ ุญู ุงูุฉ.
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุฎุงู ุณ ููุณ ุนู:
> โุฃููุงุน ุงูุชุฑู ูุฒโ
ุจู ุนู:
> ููู ุชุคุฏู ุงุฎุชูุงูุงุช ุชูุณูุฑ ุงูุจูุงูุงุช ุจูู ุงูุทุจูุงุช ุงูู ุฎุชููุฉ ุฅูู ุธููุฑ bypasses ูุซุบุฑุงุช ุฎุทูุฑุฉ.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ูุซูุฑ ู ู ุงูุซุบุฑุงุช ููุณุช ูุฃู ุงูุจูุงูุงุช ุฎุจูุซุฉโฆ ุจู ูุฃู ุงูุฃูุธู ุฉ ุงูู ุฎุชููุฉ ุชูุณุฑ ููุณ ุงูุจูุงูุงุช ุจุทุฑู ู ุฎุชููุฉ."
๐
ุงูููู
6 โ Recon Fundamentals + Subdomain Enumeration + Attack Surface Mapping
(ููู ูููุฑ ุงูู ูุงุฌู ูุจู ุฃู ุงุณุชุบูุงูโฆ ูููู ูุชุญูู โุฌู ุน ุงูู ุนููู ุงุชโ ุฅูู ุฃุฎุทุฑ ู ุฑุญูุฉ ูู ุงูุงุฎุชุจุงุฑ)
> ูุซูุฑ ู ู ุงูู ุจุชุฏุฆูู ูุนุชูุฏูู ุฃู ุงูุงุฎุชุฑุงู ูุจุฏุฃ ู ู:
SQL Injection
XSS
RCE
ููู ุงูู ุญุชุฑููู ูุนุฑููู ุฃู:
๐ฅ ุงูุงุฎุชุฑุงู ุงูุญูููู ูุจุฏุฃ ูุจู ุฐูู ุจูุซูุฑ.
ูุจุฏุฃ ู ู:
ุงูููู ุงููุงู ู ูููุฏู
ููุฐุง ุงูููู ูู ุจุฏุงูุฉ:
Recon
Enumeration
Attack Surface Discovery
ููู ุงูู ุฑุญูุฉ ุงูุชู ูุนุชู ุฏ ุนูููุง:
Bug Bounty Hunters
Red Teams
Advanced Pentesters
ูุฃู:
> โุงูุซุบุฑุฉ ุงูุชู ูุง ุชุฑุงูุงโฆ ูุง ูู ููู ุงุณุชุบูุงููุง.โ
ุงููุชุงุจ ูู ูุณู Recon ูุดุฑุญ:
ุฌู ุน ุงูู ุนููู ุงุช
Enumerating IPs ูASN
ุงูุชุดุงู ุงูุฎุฏู ุงุช
Subdomain Enumeration
Endpoint Discovery
Attack Surface Mapping
Cloud Enumeration
ูููู ูุจูู ุงูู ูุงุฌู ุตูุฑุฉ ูุงู ูุฉ ุนู ุงููุฏู ูุจู ุฃู ุงุณุชุบูุงู
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ Deep Recon Thinking)
---
๐น ุฃูููุง: ู ุง ูู Recon ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โุฌู ุน ู ุนููู ุงุช ุนู ุงููุฏูโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ Recon ุงูุญูููู ูู:
> ุจูุงุก ูู ูุฐุฌ ุฐููู ูุงู ู ููุจููุฉ ุงูุชูููุฉ ูููุฏู.
---
๐ง ู ุงุฐุง ูุนูู ูุฐุงุ
ุงูู ูุงุฌู ูุง ูุฑู:
ู ููุนูุง ูุงุญุฏูุง
ุตูุญุฉ login
ุฏูู ูู ูุงุญุฏ
ุจู ูุฑู:
Infrastructure
Domains
APIs
Cloud Assets
Hidden Services
Third-party integrations
Internal architecture
---
๐ฅ ุฅุฐู ุงููุฏู ุงูุญูููู ู ู Recon ููุณ:
> โุฌู ุน ู ุนููู ุงุชโ
ุจู:
> โููู ููู ุจููู ุงููุธุงู .โ
---
๐น ูู ุงุฐุง Recon ู ูู ุฌุฏูุงุ
ูุฃู ุงูุชุทุจููุงุช ุงูุญุฏูุซุฉ:
ุถุฎู ุฉ ุฌุฏูุง
ู ูุฒุนุฉ
ู ููุฆุฉ ุจุฎุฏู ุงุช ู ุฎููุฉ
---
๐ฅ ูู ุงููุงูุน
ุงูุซุบุฑุงุช ุงูุฎุทูุฑุฉ ุบุงูุจูุง: โ ููุณุช ูู:
www.example.com
ุจู ูู:
dev-api.example.com
old-admin.example.com
staging.example.com
---
๐ฅ ููุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ููู ุง ูุจุฑ ุงููุธุงู :
> ุฒุงุฏุช ุงุญุชู ุงููุฉ ูุฌูุฏ ุฃุตู (Asset) ู ูุณู ูุถุนูู.
---
๐น ููู ูููุฑ ุงููุงูุฑ ุฃุซูุงุก Reconุ
ูุง ูุณุฃู:
> โูู ููุฌุฏ XSSุโ
ุจู ูุณุฃู:
ูู ุนุฏุฏ ุงูุฃูุธู ุฉุ
ูู ุชูุฌุฏ ุจูุฆุงุช ุชุทููุฑุ
ูู ููุงู APIs ุบูุฑ ู ูุซูุฉุ
ูู ุชูุฌุฏ subdomains ูุฏูู ุฉุ
ูู ุชูุฌุฏ ุฎุฏู ุงุช ุบูุฑ ู ุณุชุฎุฏู ุฉุ
ูู ููุฌุฏ Cloud Storage ู ูุดููุ
ูู ุชูุฌุฏ ุชูููุงุช ูุฏูู ุฉุ
---
๐ฅ Recon ูู:
> โูู ุชูููู ุงูู ุฌูููโ
---
๐น Attack Surface
ุงููุชุงุจ ูุฐูุฑ ู ูููู :
> Attack Surface Mapping
---
๐ง ู ุง ูู Attack Surfaceุ
ูู:
> ูู ููุทุฉ ูู ูู ููู ูุงุฌู ุงูุชูุงุนู ู ุนูุง.
---
๐ฅ ุฃู ุซูุฉ
Web apps
APIs
Login pages
File uploads
Admin panels
Open ports
Cloud buckets
Mobile backends
---
๐ฅ ููู ููุทุฉ:
> ุงุญุชู ุงู ุซุบุฑุฉ
---
๐ฅ ุฅุฐู ุงูู ุญุชุฑู ูุง ูุจุญุซ ุนู:
> โุซุบุฑุฉโ
ุจู:
> โุฃู ุงูู ู ุญุชู ูุฉ ููุซุบุฑุงุชโ
---
2) โ๏ธ ุงูุขููุฉ (How Recon Works โ Deep Enumeration Mechanics)
---
๐น Subdomain Enumeration
ูุฐุง ู ู ุฃูู ุฃุฌุฒุงุก Recon.
---
๐ง ูู ุงุฐุงุ
ูุฃู ุงูุดุฑูุงุช ูุง ุชู ูู:
example.com
ููุท.
ุจู:
api.example.com
dev.example.com
vpn.example.com
mail.example.com
staging.example.com
---
๐ฅ ูุจุนุถูุง:
ูุฏูู
ู ูุณู
ุบูุฑ ู ุคู ู
---
๐ฅ ูู ุงุฐุง ุชุธูุฑ ูุฐู ุงูุฃูุธู ุฉุ
ูุฃู ูุฑู ุงูุชุทููุฑ:
ุชุจูู
ุชุฎุชุจุฑ
ุชูุณู ุงูุฅุฒุงูุฉ
---
๐น ููู ูุชู ุงูุชุดุงููุงุ
---
๐งฉ 1๏ธโฃ DNS Enumeration
ุงูู ูุงุฌู ูุณุฃู DNS:
> ู ุง ูู ุงูุฃุณู ุงุก ุงูู ุฑุชุจุทุฉ ุจุงูุฏูู ููุ
---
๐ฅ ูู ุงุฐุง DNS ู ูู ุฌุฏูุงุ
ูุฃู DNS:
> ุฎุฑูุทุฉ ุงูุฅูุชุฑูุช
---
๐งฉ 2๏ธโฃ Certificate Transparency Logs
ุนูุฏู ุง ูุตุฏุฑ SSL Certificateโฆ
ุบุงูุจูุง ูุชู ุชุณุฌููู ุนูููุง.
---
๐ฅ ู ุงุฐุง ูุนูู ูุฐุงุ
ุฅุฐุง ุฃุตุฏุฑุช ุงูุดุฑูุฉ ุดูุงุฏุฉ ูู:
admin-dev.example.com
ูุฏ ูุณุชุทูุน ุงูู ูุงุฌู ุฑุคูุชูุง.
---
๐ฅ ุฅุฐู ุญุชู ุงูุฃูุธู ุฉ โุงูู ุฎููุฉโ
ูุฏ ุชููุดู ุจุณุจุจ ุงูุดูุงุฏุงุช.
---
๐งฉ 3๏ธโฃ Search Engines
Google ุฃุญูุงููุง ูููุฑุณ:
staging pages
backups
APIs
---
๐งฉ 4๏ธโฃ Passive Sources
ู ุซู:
VirusTotal
Shodan
Historical DNS
---
๐ฅ ูุฐู ุชุนุทู:
> ุตูุฑุฉ ุชุงุฑูุฎูุฉ ููุจููุฉ
---
๐น Port Scanning
ุงููุชุงุจ ูุดุฑุญ:
> ุงูุชุดุงู ุงูุฎุฏู ุงุช ูุงูู ูุงูุฐ ุฌุฒุก ุฃุณุงุณู ู ู Recon
---
๐ง ู ุง ูู Port ูุนูููุงุ
Port:
> โุจุงุจ ู ูุทููโ ูุฎุฏู ุฉ ู ุนููุฉ.
---
๐ฅ ู ุซุงู
Port Service
80 HTTP
443 HTTPS
22 SSH
3306 MySQL
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู:
> ูู ุฎุฏู ุฉ = ููุฏ ุฅุถุงูู = ุงุญุชู ุงู ุซุบุฑุฉ ุฅุถุงููุฉ
---
๐ฅ ููุทุฉ ุงุญุชุฑุงููุฉ
ุงูู ูุงุฌู ูุง ูุจุญุซ ููุท:
> โูู ุงูู ููุฐ ู ูุชูุญุโ
ุจู:
ู ุง ุงูุฅุตุฏุงุฑุ
ู ุง ุงูุชูููุฉุ
ูู ูุฏูู ุฉุ
ูู misconfiguredุ
---
๐น Fingerprinting
ุงูุณูุฑูุฑ ููุดู:
headers
errors
response patterns
---
๐ฅ ูู ููุง ูุณุชุทูุน ุงูู ูุงุฌู ู ุนุฑูุฉ:
Apache
Nginx
PHP
Express
Django
---
๐ฅ ูู ุงุฐุง ูุฐุง ุฎุทูุฑุ
ูุฃู:
> ูู ุชูููุฉ ููุง ุซุบุฑุงุช ู ุนุฑููุฉ.
---
๐น Endpoint Discovery
ุงูุชุทุจููุงุช ุงูุญุฏูุซุฉ:
SPA
APIs
Mobile Backends
(ููู ูููุฑ ุงูู ูุงุฌู ูุจู ุฃู ุงุณุชุบูุงูโฆ ูููู ูุชุญูู โุฌู ุน ุงูู ุนููู ุงุชโ ุฅูู ุฃุฎุทุฑ ู ุฑุญูุฉ ูู ุงูุงุฎุชุจุงุฑ)
> ูุซูุฑ ู ู ุงูู ุจุชุฏุฆูู ูุนุชูุฏูู ุฃู ุงูุงุฎุชุฑุงู ูุจุฏุฃ ู ู:
SQL Injection
XSS
RCE
ููู ุงูู ุญุชุฑููู ูุนุฑููู ุฃู:
๐ฅ ุงูุงุฎุชุฑุงู ุงูุญูููู ูุจุฏุฃ ูุจู ุฐูู ุจูุซูุฑ.
ูุจุฏุฃ ู ู:
ุงูููู ุงููุงู ู ูููุฏู
ููุฐุง ุงูููู ูู ุจุฏุงูุฉ:
Recon
Enumeration
Attack Surface Discovery
ููู ุงูู ุฑุญูุฉ ุงูุชู ูุนุชู ุฏ ุนูููุง:
Bug Bounty Hunters
Red Teams
Advanced Pentesters
ูุฃู:
> โุงูุซุบุฑุฉ ุงูุชู ูุง ุชุฑุงูุงโฆ ูุง ูู ููู ุงุณุชุบูุงููุง.โ
ุงููุชุงุจ ูู ูุณู Recon ูุดุฑุญ:
ุฌู ุน ุงูู ุนููู ุงุช
Enumerating IPs ูASN
ุงูุชุดุงู ุงูุฎุฏู ุงุช
Subdomain Enumeration
Endpoint Discovery
Attack Surface Mapping
Cloud Enumeration
ูููู ูุจูู ุงูู ูุงุฌู ุตูุฑุฉ ูุงู ูุฉ ุนู ุงููุฏู ูุจู ุฃู ุงุณุชุบูุงู
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ Deep Recon Thinking)
---
๐น ุฃูููุง: ู ุง ูู Recon ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โุฌู ุน ู ุนููู ุงุช ุนู ุงููุฏูโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ Recon ุงูุญูููู ูู:
> ุจูุงุก ูู ูุฐุฌ ุฐููู ูุงู ู ููุจููุฉ ุงูุชูููุฉ ูููุฏู.
---
๐ง ู ุงุฐุง ูุนูู ูุฐุงุ
ุงูู ูุงุฌู ูุง ูุฑู:
ู ููุนูุง ูุงุญุฏูุง
ุตูุญุฉ login
ุฏูู ูู ูุงุญุฏ
ุจู ูุฑู:
Infrastructure
Domains
APIs
Cloud Assets
Hidden Services
Third-party integrations
Internal architecture
---
๐ฅ ุฅุฐู ุงููุฏู ุงูุญูููู ู ู Recon ููุณ:
> โุฌู ุน ู ุนููู ุงุชโ
ุจู:
> โููู ููู ุจููู ุงููุธุงู .โ
---
๐น ูู ุงุฐุง Recon ู ูู ุฌุฏูุงุ
ูุฃู ุงูุชุทุจููุงุช ุงูุญุฏูุซุฉ:
ุถุฎู ุฉ ุฌุฏูุง
ู ูุฒุนุฉ
ู ููุฆุฉ ุจุฎุฏู ุงุช ู ุฎููุฉ
---
๐ฅ ูู ุงููุงูุน
ุงูุซุบุฑุงุช ุงูุฎุทูุฑุฉ ุบุงูุจูุง: โ ููุณุช ูู:
www.example.com
ุจู ูู:
dev-api.example.com
old-admin.example.com
staging.example.com
---
๐ฅ ููุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ููู ุง ูุจุฑ ุงููุธุงู :
> ุฒุงุฏุช ุงุญุชู ุงููุฉ ูุฌูุฏ ุฃุตู (Asset) ู ูุณู ูุถุนูู.
---
๐น ููู ูููุฑ ุงููุงูุฑ ุฃุซูุงุก Reconุ
ูุง ูุณุฃู:
> โูู ููุฌุฏ XSSุโ
ุจู ูุณุฃู:
ูู ุนุฏุฏ ุงูุฃูุธู ุฉุ
ูู ุชูุฌุฏ ุจูุฆุงุช ุชุทููุฑุ
ูู ููุงู APIs ุบูุฑ ู ูุซูุฉุ
ูู ุชูุฌุฏ subdomains ูุฏูู ุฉุ
ูู ุชูุฌุฏ ุฎุฏู ุงุช ุบูุฑ ู ุณุชุฎุฏู ุฉุ
ูู ููุฌุฏ Cloud Storage ู ูุดููุ
ูู ุชูุฌุฏ ุชูููุงุช ูุฏูู ุฉุ
---
๐ฅ Recon ูู:
> โูู ุชูููู ุงูู ุฌูููโ
---
๐น Attack Surface
ุงููุชุงุจ ูุฐูุฑ ู ูููู :
> Attack Surface Mapping
---
๐ง ู ุง ูู Attack Surfaceุ
ูู:
> ูู ููุทุฉ ูู ูู ููู ูุงุฌู ุงูุชูุงุนู ู ุนูุง.
---
๐ฅ ุฃู ุซูุฉ
Web apps
APIs
Login pages
File uploads
Admin panels
Open ports
Cloud buckets
Mobile backends
---
๐ฅ ููู ููุทุฉ:
> ุงุญุชู ุงู ุซุบุฑุฉ
---
๐ฅ ุฅุฐู ุงูู ุญุชุฑู ูุง ูุจุญุซ ุนู:
> โุซุบุฑุฉโ
ุจู:
> โุฃู ุงูู ู ุญุชู ูุฉ ููุซุบุฑุงุชโ
---
2) โ๏ธ ุงูุขููุฉ (How Recon Works โ Deep Enumeration Mechanics)
---
๐น Subdomain Enumeration
ูุฐุง ู ู ุฃูู ุฃุฌุฒุงุก Recon.
---
๐ง ูู ุงุฐุงุ
ูุฃู ุงูุดุฑูุงุช ูุง ุชู ูู:
example.com
ููุท.
ุจู:
api.example.com
dev.example.com
vpn.example.com
mail.example.com
staging.example.com
---
๐ฅ ูุจุนุถูุง:
ูุฏูู
ู ูุณู
ุบูุฑ ู ุคู ู
---
๐ฅ ูู ุงุฐุง ุชุธูุฑ ูุฐู ุงูุฃูุธู ุฉุ
ูุฃู ูุฑู ุงูุชุทููุฑ:
ุชุจูู
ุชุฎุชุจุฑ
ุชูุณู ุงูุฅุฒุงูุฉ
---
๐น ููู ูุชู ุงูุชุดุงููุงุ
---
๐งฉ 1๏ธโฃ DNS Enumeration
ุงูู ูุงุฌู ูุณุฃู DNS:
> ู ุง ูู ุงูุฃุณู ุงุก ุงูู ุฑุชุจุทุฉ ุจุงูุฏูู ููุ
---
๐ฅ ูู ุงุฐุง DNS ู ูู ุฌุฏูุงุ
ูุฃู DNS:
> ุฎุฑูุทุฉ ุงูุฅูุชุฑูุช
---
๐งฉ 2๏ธโฃ Certificate Transparency Logs
ุนูุฏู ุง ูุตุฏุฑ SSL Certificateโฆ
ุบุงูุจูุง ูุชู ุชุณุฌููู ุนูููุง.
---
๐ฅ ู ุงุฐุง ูุนูู ูุฐุงุ
ุฅุฐุง ุฃุตุฏุฑุช ุงูุดุฑูุฉ ุดูุงุฏุฉ ูู:
admin-dev.example.com
ูุฏ ูุณุชุทูุน ุงูู ูุงุฌู ุฑุคูุชูุง.
---
๐ฅ ุฅุฐู ุญุชู ุงูุฃูุธู ุฉ โุงูู ุฎููุฉโ
ูุฏ ุชููุดู ุจุณุจุจ ุงูุดูุงุฏุงุช.
---
๐งฉ 3๏ธโฃ Search Engines
Google ุฃุญูุงููุง ูููุฑุณ:
staging pages
backups
APIs
---
๐งฉ 4๏ธโฃ Passive Sources
ู ุซู:
VirusTotal
Shodan
Historical DNS
---
๐ฅ ูุฐู ุชุนุทู:
> ุตูุฑุฉ ุชุงุฑูุฎูุฉ ููุจููุฉ
---
๐น Port Scanning
ุงููุชุงุจ ูุดุฑุญ:
> ุงูุชุดุงู ุงูุฎุฏู ุงุช ูุงูู ูุงูุฐ ุฌุฒุก ุฃุณุงุณู ู ู Recon
---
๐ง ู ุง ูู Port ูุนูููุงุ
Port:
> โุจุงุจ ู ูุทููโ ูุฎุฏู ุฉ ู ุนููุฉ.
---
๐ฅ ู ุซุงู
Port Service
80 HTTP
443 HTTPS
22 SSH
3306 MySQL
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู:
> ูู ุฎุฏู ุฉ = ููุฏ ุฅุถุงูู = ุงุญุชู ุงู ุซุบุฑุฉ ุฅุถุงููุฉ
---
๐ฅ ููุทุฉ ุงุญุชุฑุงููุฉ
ุงูู ูุงุฌู ูุง ูุจุญุซ ููุท:
> โูู ุงูู ููุฐ ู ูุชูุญุโ
ุจู:
ู ุง ุงูุฅุตุฏุงุฑุ
ู ุง ุงูุชูููุฉุ
ูู ูุฏูู ุฉุ
ูู misconfiguredุ
---
๐น Fingerprinting
ุงูุณูุฑูุฑ ููุดู:
headers
errors
response patterns
---
๐ฅ ูู ููุง ูุณุชุทูุน ุงูู ูุงุฌู ู ุนุฑูุฉ:
Apache
Nginx
PHP
Express
Django
---
๐ฅ ูู ุงุฐุง ูุฐุง ุฎุทูุฑุ
ูุฃู:
> ูู ุชูููุฉ ููุง ุซุบุฑุงุช ู ุนุฑููุฉ.
---
๐น Endpoint Discovery
ุงูุชุทุจููุงุช ุงูุญุฏูุซุฉ:
SPA
APIs
Mobile Backends
---
๐ฅ ูุฐูู endpoints ูุซูุฑุฉ:
ู ุฎููุฉ
ุบูุฑ ู ูุซูุฉ
ูุฏูู ุฉ
---
๐ฅ ุงูู ูุงุฌู ูุญุงูู:
ุงุณุชุฎุฑุงุฌ routes
ูุฑุงุกุฉ JS files
ุชุญููู requests
---
3) ๐ฃ ุงูุชุทุจูู (Real Recon Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Forgotten Subdomain
ุงูุดุฑูุฉ ุชุคู ู:
www.example.com
ููู ููุฌุฏ:
old-admin.example.com
---
๐ฃ ุงููุธุงู ูุฏูู ูุบูุฑ ู ุญุฏุซ
---
๐ฅ ุงูู ูุงุฌู ูุฎุชุฑูู
ุซู ูุชุญุฑู ุฏุงุฎูููุง.
---
๐ฅ ุณููุงุฑูู 2 โ Exposed Dev Environment
dev-api.example.com
---
๐ฃ ุบุงูุจูุง:
debugging enabled
weak auth
test credentials
---
๐ฅ ุณููุงุฑูู 3 โ Open Port
22/tcp open SSH
---
๐ฃ ุฅุฐุง ูุงู:
weak password
outdated version
---
๐ฅ ููุทุฉ ุฏุฎูู.
---
๐ฅ ุณููุงุฑูู 4 โ JS File Disclosure
ู ูู JS ูุญุชูู:
const API = "https://internal-api.example.com"
---
๐ฅ endpoint ู ุฎูู ุงููุดู.
---
๐ฅ ุณููุงุฑูู 5 โ Cloud Storage Exposure
Bucket ู ูุณู:
backup.example.com
---
๐ฅ ูุญุชูู:
backups
credentials
source code
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Recon Resistance Thinking)
---
๐ 1) Asset Management
ุฃูู ุดูุก:
> ุงุนุฑู ู ุงุฐุง ุชู ูู.
---
๐ฅ ูุซูุฑ ู ู ุงูุงุฎุชุฑุงูุงุช ุชุญุฏุซ ูุฃู:
ุงูุดุฑูุฉ ูุณูุช ุฃุตููุง ูุฏูู ูุง.
---
๐ 2) ุฅุฒุงูุฉ ุงูุฃูุธู ุฉ ุงููุฏูู ุฉ
staging
backups
test systems
---
๐ 3) ูุง ุชูุดู ู ุนููู ุงุช ุฒุงุฆุฏุฉ
banners
versions
debug messages
---
๐ 4) ุฑุงูุจ Certificate Transparency
ุญุชู ุชุนุฑู:
ู ุงุฐุง ุงููุดู ููุนุงูู
---
๐ 5) Hardening ููู ุงูุฎุฏู ุงุช
ุญุชู โุงูุฏุงุฎููุฉโ.
---
๐ 6) ูุง ุชุถุน Secrets ุฏุงุฎู JS
---
๐ 7) ุงุณุชุฎุฏู Segmentation
ุงุฎุชุฑุงู ูุธุงู ุซุงููู: โ ูุง ูุฌุจ ุฃู ูุนุทู ูุตูููุง ูุงู ููุง.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Recon Labs)
---
๐งช ุชู ุฑูู 1 โ ุชุญููู Attack Surface
ุงุฎุชุฑ ู ููุนูุง ูุจูุฑูุง.
ุงุณุฃู:
ูู subdomainุ
ูู ุฎุฏู ุฉุ
ูู ููุฌุฏ APIsุ
---
๐งช ุชู ุฑูู 2 โ DevTools Recon
ุฑุงูุจ:
JS files
API calls
hidden endpoints
---
๐งช ุชู ุฑูู 3 โ Fingerprinting
ุงูุญุต:
headers
technologies
response patterns
---
๐งช ุชู ุฑูู 4 โ Architecture Thinking
ุญุงูู ุฑุณู :
frontend
backend
APIs
auth flow
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุณุงุฏุณ ููุณ ุนู:
> โุฌู ุน ู ุนููู ุงุชโ
ุจู ุนู:
> ููู ุงูุจููุฉ ุงูุญููููุฉ ูููุธุงู ุ ูุงูุชุดุงู ุงูุฃุฌุฒุงุก ุงูุชู ูู ุชูุตู ู ูุชููู ู ุฑุฆูุฉ ุฃุตููุง.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ูู ุงูุงุฎุชุจุงุฑุงุช ุงูุญููููุฉโฆ ุงูุซุบุฑุฉ ุบุงูุจูุง ูุง ุชููู ูู ุงููุธุงู ุงูุฐู ุชุฑุงูุ ุจู ูู ุงููุธุงู ุงูุฐู ูุณูู ุงูุฌู ูุน."
๐ฅ ูุฐูู endpoints ูุซูุฑุฉ:
ู ุฎููุฉ
ุบูุฑ ู ูุซูุฉ
ูุฏูู ุฉ
---
๐ฅ ุงูู ูุงุฌู ูุญุงูู:
ุงุณุชุฎุฑุงุฌ routes
ูุฑุงุกุฉ JS files
ุชุญููู requests
---
3) ๐ฃ ุงูุชุทุจูู (Real Recon Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Forgotten Subdomain
ุงูุดุฑูุฉ ุชุคู ู:
www.example.com
ููู ููุฌุฏ:
old-admin.example.com
---
๐ฃ ุงููุธุงู ูุฏูู ูุบูุฑ ู ุญุฏุซ
---
๐ฅ ุงูู ูุงุฌู ูุฎุชุฑูู
ุซู ูุชุญุฑู ุฏุงุฎูููุง.
---
๐ฅ ุณููุงุฑูู 2 โ Exposed Dev Environment
dev-api.example.com
---
๐ฃ ุบุงูุจูุง:
debugging enabled
weak auth
test credentials
---
๐ฅ ุณููุงุฑูู 3 โ Open Port
22/tcp open SSH
---
๐ฃ ุฅุฐุง ูุงู:
weak password
outdated version
---
๐ฅ ููุทุฉ ุฏุฎูู.
---
๐ฅ ุณููุงุฑูู 4 โ JS File Disclosure
ู ูู JS ูุญุชูู:
const API = "https://internal-api.example.com"
---
๐ฅ endpoint ู ุฎูู ุงููุดู.
---
๐ฅ ุณููุงุฑูู 5 โ Cloud Storage Exposure
Bucket ู ูุณู:
backup.example.com
---
๐ฅ ูุญุชูู:
backups
credentials
source code
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Recon Resistance Thinking)
---
๐ 1) Asset Management
ุฃูู ุดูุก:
> ุงุนุฑู ู ุงุฐุง ุชู ูู.
---
๐ฅ ูุซูุฑ ู ู ุงูุงุฎุชุฑุงูุงุช ุชุญุฏุซ ูุฃู:
ุงูุดุฑูุฉ ูุณูุช ุฃุตููุง ูุฏูู ูุง.
---
๐ 2) ุฅุฒุงูุฉ ุงูุฃูุธู ุฉ ุงููุฏูู ุฉ
staging
backups
test systems
---
๐ 3) ูุง ุชูุดู ู ุนููู ุงุช ุฒุงุฆุฏุฉ
banners
versions
debug messages
---
๐ 4) ุฑุงูุจ Certificate Transparency
ุญุชู ุชุนุฑู:
ู ุงุฐุง ุงููุดู ููุนุงูู
---
๐ 5) Hardening ููู ุงูุฎุฏู ุงุช
ุญุชู โุงูุฏุงุฎููุฉโ.
---
๐ 6) ูุง ุชุถุน Secrets ุฏุงุฎู JS
---
๐ 7) ุงุณุชุฎุฏู Segmentation
ุงุฎุชุฑุงู ูุธุงู ุซุงููู: โ ูุง ูุฌุจ ุฃู ูุนุทู ูุตูููุง ูุงู ููุง.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Recon Labs)
---
๐งช ุชู ุฑูู 1 โ ุชุญููู Attack Surface
ุงุฎุชุฑ ู ููุนูุง ูุจูุฑูุง.
ุงุณุฃู:
ูู subdomainุ
ูู ุฎุฏู ุฉุ
ูู ููุฌุฏ APIsุ
---
๐งช ุชู ุฑูู 2 โ DevTools Recon
ุฑุงูุจ:
JS files
API calls
hidden endpoints
---
๐งช ุชู ุฑูู 3 โ Fingerprinting
ุงูุญุต:
headers
technologies
response patterns
---
๐งช ุชู ุฑูู 4 โ Architecture Thinking
ุญุงูู ุฑุณู :
frontend
backend
APIs
auth flow
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุณุงุฏุณ ููุณ ุนู:
> โุฌู ุน ู ุนููู ุงุชโ
ุจู ุนู:
> ููู ุงูุจููุฉ ุงูุญููููุฉ ูููุธุงู ุ ูุงูุชุดุงู ุงูุฃุฌุฒุงุก ุงูุชู ูู ุชูุตู ู ูุชููู ู ุฑุฆูุฉ ุฃุตููุง.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ูู ุงูุงุฎุชุจุงุฑุงุช ุงูุญููููุฉโฆ ุงูุซุบุฑุฉ ุบุงูุจูุง ูุง ุชููู ูู ุงููุธุงู ุงูุฐู ุชุฑุงูุ ุจู ูู ุงููุธุงู ุงูุฐู ูุณูู ุงูุฌู ูุน."
๐
ุงูููู
7 โ Port Scanning + Service Enumeration + Fingerprinting
(ููู ูุฑู ุงูู ูุงุฌู โุงูุฎุฏู ุงุช ุงูุญููููุฉโ ุฎูู ุงูู ููุนโฆ ูููู ุชุชุญูู ุงูู ูุงูุฐ ุฅูู ุฎุฑูุทุฉ ุงุฎุชุฑุงู ูุงู ูุฉ)
> ูู ุงูููู ุงูุณุงุฏุณ ููู ูุง:
Recon
Attack Surface
Subdomains
ููู ุงูููู ุณููุฒู ุฃุนู ู.
ูุฃู ุงูู ููุน ุงูุฐู ุชุฑุงู: โ ููุณ ุงููุธุงู ุงูุญูููู.
ุฎููู ุชูุฌุฏ:
Services
Daemons
Admin Interfaces
Databases
SSH
Internal APIs
Monitoring Systems
ูุงูููู ุณุชุชุนูู :
๐ฅ ููู ููุชุดู ุงูู ูุงุฌู ูุฐู ุงูุฎุฏู ุงุช ๐ฅ ูููู ูุจูู ุตูุฑุฉ ุฏุงุฎููุฉ ููุจููุฉ ุงูุชูููุฉ
ูุจู ุฃู ุงุณุชุบูุงู ูุนูู.
ุงููุชุงุจ ูู ูุณู Recon ูุดุฑุญ:
Port Scanning
Service Enumeration
Banner Grabbing
Fingerprinting
ุงูุชุดุงู ุงูุชูููุงุช ูุงูุฎุฏู ุงุช ูุงูุฅุตุฏุงุฑุงุช
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ ููู ูุฑู ุงูู ูุงุฌู ุงููุธุงู ุ)
---
๐น ุฃูููุง: ู ุง ูู Port ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โุฑูู ูุฎุฏู ุฉโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ ุงูููู ุงูุญูููู
Port ูู:
> ููุทุฉ ุฏุฎูู ู ูุทููุฉ (Logical Entry Point) ูุฎุฏู ุฉ ุชุนู ู ุฏุงุฎู ุงููุธุงู .
---
๐ง ู ุงุฐุง ูุนูู ุฐููุ
ุงูุณูุฑูุฑ ูุฏ ูุดุบูู:
Web Server
SSH
Database
Mail Service
API Gateway
ูููุง ุนูู ููุณ ุงูู IP.
---
๐ฅ ููู ููุฑู ุงููุธุงู ุจูููุงุ
ุนุจุฑ:
Ports
---
๐ฅ ู ุซุงู
Service Port
HTTP 80
HTTPS 443
SSH 22
MySQL 3306
Redis 6379
---
๐ฅ ุฅุฐู ุนูุฏู ุง ููุญุต ุงูู ูุงุฌู ุงูู ูุงูุฐโฆ
ูู ูุนูููุง ูุณุฃู:
> โู ุง ุงูุฐู ูุนู ู ุฏุงุฎู ูุฐุง ุงูุฌูุงุฒุโ
---
๐น ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุงุ
ูุฃู:
> ูู Service = ููุฏ ุฅุถุงูู
ููู ููุฏ ุฅุถุงูู:
> ุงุญุชู ุงู ุซุบุฑุงุช ุฅุถุงููุฉ
---
๐ฅ ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงูู ูุงุฌู ูุง ูุจุญุซ ููุท:
> โูู ุงูู ููุฐ ู ูุชูุญุโ
ุจู:
ู ุง ููุน ุงูุฎุฏู ุฉุ
ู ุง ุงูุฅุตุฏุงุฑุ
ูู ููุงู misconfigurationุ
ูู ุชูุฌุฏ ูุงุฌูุงุช ุฅุฏุงุฑูุฉุ
ูู ุงูุฎุฏู ุฉ ุฏุงุฎููุฉ ููููุง ู ูุดููุฉุ
ูู ุงููุณุฎุฉ ูุฏูู ุฉุ
ูู ุงูู banner ููุดู ู ุนููู ุงุชุ
---
๐น ุงููุฑู ุจูู Website ูInfrastructure
ุงูู ุจุชุฏุฆ ูุฑู:
example.com
ุงูู ุญุชุฑู ูุฑู:
Reverse Proxy
CDN
Load Balancer
Web Server
Backend Services
Internal APIs
Databases
Monitoring
SSH Access
---
๐ฅ ุฅุฐู Port Scanning ูู:
> ู ุญุงููุฉ ุฑุคูุฉ โุงูุจููุฉ ุงูุญููููุฉโ ุฎูู ุงูู ููุน.
---
๐น ูู ุงุฐุง ูุซูุฑ ู ู ุงูุงุฎุชุฑุงูุงุช ุชุจุฏุฃ ู ู Service ูููุณ Web Appุ
ูุฃู:
ุงูุฎุฏู ุงุช ุชููุณู
ุงูุชุญุฏูุซุงุช ุชุชุฃุฎุฑ
ุงูู configs ุชููู ุณูุฆุฉ
ุจุนุถ ุงูุฎุฏู ุงุช ูู ุชูุตู ู ููุฅูุชุฑูุช ุฃุตููุง
---
๐ฅ ุฃู ุซูุฉ ุญููููุฉ
Redis ู ูุชูุญ ุจุฏูู Password
MongoDB ู ูุดูู
Jenkins admin panel
Kibana exposed
Elasticsearch open
Docker API exposed
---
๐ฃ ููุฐู ููุณุช โุซุบุฑุงุช ุจุฑู ุฌูุฉโ
ุจู:
> ุฃุฎุทุงุก ุจููููุฉ ูู ุงูุจููุฉ ุงูุชุญุชูุฉ
---
2) โ๏ธ ุงูุขููุฉ (How Port Scanning Works โ Deep Network Mechanics)
---
๐น ููู ูุนุฑู ุงูู ูุงุฌู ุฃู Port ู ูุชูุญุ
ูููู ูุฐุง ูุฌุจ ููู :
> TCP Handshake
---
๐ฅ ุชุฐููุฑ ุณุฑูุน
TCP ูุนู ู ุนุจุฑ:
SYN โ SYN/ACK โ ACK
---
๐น ู ุงุฐุง ูุญุฏุซ ุฃุซูุงุก Port Scanุ
ุงูู ูุงุฌู ูุฑุณู:
SYN
ุฅูู Port ู ุนูู.
---
๐ฅ ุฅุฐุง ุฑุฏ ุงูุณูุฑูุฑ:
SYN/ACK
ููุฐุง ูุนูู:
> ููุฌุฏ Service ูุณุชู ุน ุนูู ูุฐุง Port
---
๐ฅ ุฅุฐุง ุฑุฏ:
RST
ูุบุงูุจูุง:
> ุงูู ููุฐ ู ุบูู
---
๐น ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู:
> ู ุฌุฑุฏ ุงูุฑุฏ ููุดู ู ุนููู ุงุช
---
๐น Service Enumeration
ุจุนุฏ ู ุนุฑูุฉ ุฃู Port ู ูุชูุญโฆ
ุงูู ูุงุฌู ูุฑูุฏ ู ุนุฑูุฉ:
> ู ุง ุงูุฎุฏู ุฉุ
---
๐ฅ ูููุ
ุนุจุฑ:
Banners
Response Patterns
Protocol Behavior
---
๐น Banner Grabbing
ุงููุชุงุจ ูุดุฑุญ ููุฑุฉ:
> ุงูุชุดุงู ู ุนููู ุงุช ุงูุฎุฏู ุฉ ู ู ุงูุฑุฏูุฏ ูุงูุจูุฑุงุช
---
๐ฌ ู ุซุงู
ุงูุณูุฑูุฑ ูุฑุฏ:
SSH-2.0-OpenSSH_7.2p2
---
๐ฅ ู ุงุฐุง ุชุนูู ูุฐู ุงูุฌู ูุฉุ
ููุณุช ู ุฌุฑุฏ โุชุฑุญูุจโ.
ุจู:
ููุน ุงูุฎุฏู ุฉ
ุงูุฅุตุฏุงุฑ
ุฃุญูุงููุง ุงููุธุงู
---
๐ฅ ุงูุขู ูุจุฏุฃ ุงูุชูููุฑ ุงููุฌูู ู
ุงูู ูุงุฌู ูุณุฃู:
ูู ุงูุฅุตุฏุงุฑ ูุฏูู ุ
ูู ูู CVEุ
ูู ุชูุฌุฏ Misconfigurations ู ุนุฑููุฉุ
---
๐น Fingerprinting
ุญุชู ูู ุฃุฎูู ุงูุณูุฑูุฑ ุงูู bannerโฆ
ู ุง ุฒุงู ูู ูู:
> ุงุณุชูุชุงุฌ ุงูุชูููุฉ ู ู ุงูุณููู.
---
๐ฅ ูููุ
ู ุซููุง:
ุทุฑููุฉ ุงูุฑุฏ
ุชุฑุชูุจ ุงูู headers
ุฃุฎุทุงุก ู ุญุฏุฏุฉ
TLS behavior
response timing
---
๐ฅ ููุฐู ุชุณู ู:
Passive Fingerprinting
---
๐น Web Fingerprinting
ุงูู ูุงุฌู ูุญุงูู ู ุนุฑูุฉ:
Apacheุ
Nginxุ
IISุ
Expressุ
Djangoุ
PHPุ
Node.jsุ
---
๐ฅ ูู ุงุฐุงุ
ูุฃู:
> ูู ุชูููุฉ ููุง:
Weaknesses
CVEs
Misconfigurations
---
๐น ูู ุงุฐุง Version Detection ู ูู ุฌุฏูุงุ
ูุฃู:
Apache 2.4.41
ููุณุช ู ุซู:
Apache 2.2
---
๐ฅ ุจุนุถ ุงูุฅุตุฏุงุฑุงุช:
ูุฏูู ุฉ
vulnerable
EOL
---
๐น Internal vs External Services
ุฃุญูุงููุง ุงูุฎุฏู ุฉ:
> ูู ุชูุตู ู ุฃุตููุง ููุฅูุชุฑูุช
ููู ุชู ูุดููุง ุจุงูุฎุทุฃ.
---
๐ฃ ู ุซุงู
Redis 6379 open
Redis ูุฏ ูุณู ุญ:
remote commands
data access
---
๐ฅ ูุฃู ุงูู ุทูุฑ ุงูุชุฑุถ:
> โุงูุฎุฏู ุฉ ุฏุงุฎููุฉโ
---
(ููู ูุฑู ุงูู ูุงุฌู โุงูุฎุฏู ุงุช ุงูุญููููุฉโ ุฎูู ุงูู ููุนโฆ ูููู ุชุชุญูู ุงูู ูุงูุฐ ุฅูู ุฎุฑูุทุฉ ุงุฎุชุฑุงู ูุงู ูุฉ)
> ูู ุงูููู ุงูุณุงุฏุณ ููู ูุง:
Recon
Attack Surface
Subdomains
ููู ุงูููู ุณููุฒู ุฃุนู ู.
ูุฃู ุงูู ููุน ุงูุฐู ุชุฑุงู: โ ููุณ ุงููุธุงู ุงูุญูููู.
ุฎููู ุชูุฌุฏ:
Services
Daemons
Admin Interfaces
Databases
SSH
Internal APIs
Monitoring Systems
ูุงูููู ุณุชุชุนูู :
๐ฅ ููู ููุชุดู ุงูู ูุงุฌู ูุฐู ุงูุฎุฏู ุงุช ๐ฅ ูููู ูุจูู ุตูุฑุฉ ุฏุงุฎููุฉ ููุจููุฉ ุงูุชูููุฉ
ูุจู ุฃู ุงุณุชุบูุงู ูุนูู.
ุงููุชุงุจ ูู ูุณู Recon ูุดุฑุญ:
Port Scanning
Service Enumeration
Banner Grabbing
Fingerprinting
ุงูุชุดุงู ุงูุชูููุงุช ูุงูุฎุฏู ุงุช ูุงูุฅุตุฏุงุฑุงุช
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ ููู ูุฑู ุงูู ูุงุฌู ุงููุธุงู ุ)
---
๐น ุฃูููุง: ู ุง ูู Port ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู ูููู:
> โุฑูู ูุฎุฏู ุฉโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
---
๐ฅ ุงูููู ุงูุญูููู
Port ูู:
> ููุทุฉ ุฏุฎูู ู ูุทููุฉ (Logical Entry Point) ูุฎุฏู ุฉ ุชุนู ู ุฏุงุฎู ุงููุธุงู .
---
๐ง ู ุงุฐุง ูุนูู ุฐููุ
ุงูุณูุฑูุฑ ูุฏ ูุดุบูู:
Web Server
SSH
Database
Mail Service
API Gateway
ูููุง ุนูู ููุณ ุงูู IP.
---
๐ฅ ููู ููุฑู ุงููุธุงู ุจูููุงุ
ุนุจุฑ:
Ports
---
๐ฅ ู ุซุงู
Service Port
HTTP 80
HTTPS 443
SSH 22
MySQL 3306
Redis 6379
---
๐ฅ ุฅุฐู ุนูุฏู ุง ููุญุต ุงูู ูุงุฌู ุงูู ูุงูุฐโฆ
ูู ูุนูููุง ูุณุฃู:
> โู ุง ุงูุฐู ูุนู ู ุฏุงุฎู ูุฐุง ุงูุฌูุงุฒุโ
---
๐น ูู ุงุฐุง ูุฐุง ู ูู ุฌุฏูุงุ
ูุฃู:
> ูู Service = ููุฏ ุฅุถุงูู
ููู ููุฏ ุฅุถุงูู:
> ุงุญุชู ุงู ุซุบุฑุงุช ุฅุถุงููุฉ
---
๐ฅ ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงูู ูุงุฌู ูุง ูุจุญุซ ููุท:
> โูู ุงูู ููุฐ ู ูุชูุญุโ
ุจู:
ู ุง ููุน ุงูุฎุฏู ุฉุ
ู ุง ุงูุฅุตุฏุงุฑุ
ูู ููุงู misconfigurationุ
ูู ุชูุฌุฏ ูุงุฌูุงุช ุฅุฏุงุฑูุฉุ
ูู ุงูุฎุฏู ุฉ ุฏุงุฎููุฉ ููููุง ู ูุดููุฉุ
ูู ุงููุณุฎุฉ ูุฏูู ุฉุ
ูู ุงูู banner ููุดู ู ุนููู ุงุชุ
---
๐น ุงููุฑู ุจูู Website ูInfrastructure
ุงูู ุจุชุฏุฆ ูุฑู:
example.com
ุงูู ุญุชุฑู ูุฑู:
Reverse Proxy
CDN
Load Balancer
Web Server
Backend Services
Internal APIs
Databases
Monitoring
SSH Access
---
๐ฅ ุฅุฐู Port Scanning ูู:
> ู ุญุงููุฉ ุฑุคูุฉ โุงูุจููุฉ ุงูุญููููุฉโ ุฎูู ุงูู ููุน.
---
๐น ูู ุงุฐุง ูุซูุฑ ู ู ุงูุงุฎุชุฑุงูุงุช ุชุจุฏุฃ ู ู Service ูููุณ Web Appุ
ูุฃู:
ุงูุฎุฏู ุงุช ุชููุณู
ุงูุชุญุฏูุซุงุช ุชุชุฃุฎุฑ
ุงูู configs ุชููู ุณูุฆุฉ
ุจุนุถ ุงูุฎุฏู ุงุช ูู ุชูุตู ู ููุฅูุชุฑูุช ุฃุตููุง
---
๐ฅ ุฃู ุซูุฉ ุญููููุฉ
Redis ู ูุชูุญ ุจุฏูู Password
MongoDB ู ูุดูู
Jenkins admin panel
Kibana exposed
Elasticsearch open
Docker API exposed
---
๐ฃ ููุฐู ููุณุช โุซุบุฑุงุช ุจุฑู ุฌูุฉโ
ุจู:
> ุฃุฎุทุงุก ุจููููุฉ ูู ุงูุจููุฉ ุงูุชุญุชูุฉ
---
2) โ๏ธ ุงูุขููุฉ (How Port Scanning Works โ Deep Network Mechanics)
---
๐น ููู ูุนุฑู ุงูู ูุงุฌู ุฃู Port ู ูุชูุญุ
ูููู ูุฐุง ูุฌุจ ููู :
> TCP Handshake
---
๐ฅ ุชุฐููุฑ ุณุฑูุน
TCP ูุนู ู ุนุจุฑ:
SYN โ SYN/ACK โ ACK
---
๐น ู ุงุฐุง ูุญุฏุซ ุฃุซูุงุก Port Scanุ
ุงูู ูุงุฌู ูุฑุณู:
SYN
ุฅูู Port ู ุนูู.
---
๐ฅ ุฅุฐุง ุฑุฏ ุงูุณูุฑูุฑ:
SYN/ACK
ููุฐุง ูุนูู:
> ููุฌุฏ Service ูุณุชู ุน ุนูู ูุฐุง Port
---
๐ฅ ุฅุฐุง ุฑุฏ:
RST
ูุบุงูุจูุง:
> ุงูู ููุฐ ู ุบูู
---
๐น ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู:
> ู ุฌุฑุฏ ุงูุฑุฏ ููุดู ู ุนููู ุงุช
---
๐น Service Enumeration
ุจุนุฏ ู ุนุฑูุฉ ุฃู Port ู ูุชูุญโฆ
ุงูู ูุงุฌู ูุฑูุฏ ู ุนุฑูุฉ:
> ู ุง ุงูุฎุฏู ุฉุ
---
๐ฅ ูููุ
ุนุจุฑ:
Banners
Response Patterns
Protocol Behavior
---
๐น Banner Grabbing
ุงููุชุงุจ ูุดุฑุญ ููุฑุฉ:
> ุงูุชุดุงู ู ุนููู ุงุช ุงูุฎุฏู ุฉ ู ู ุงูุฑุฏูุฏ ูุงูุจูุฑุงุช
---
๐ฌ ู ุซุงู
ุงูุณูุฑูุฑ ูุฑุฏ:
SSH-2.0-OpenSSH_7.2p2
---
๐ฅ ู ุงุฐุง ุชุนูู ูุฐู ุงูุฌู ูุฉุ
ููุณุช ู ุฌุฑุฏ โุชุฑุญูุจโ.
ุจู:
ููุน ุงูุฎุฏู ุฉ
ุงูุฅุตุฏุงุฑ
ุฃุญูุงููุง ุงููุธุงู
---
๐ฅ ุงูุขู ูุจุฏุฃ ุงูุชูููุฑ ุงููุฌูู ู
ุงูู ูุงุฌู ูุณุฃู:
ูู ุงูุฅุตุฏุงุฑ ูุฏูู ุ
ูู ูู CVEุ
ูู ุชูุฌุฏ Misconfigurations ู ุนุฑููุฉุ
---
๐น Fingerprinting
ุญุชู ูู ุฃุฎูู ุงูุณูุฑูุฑ ุงูู bannerโฆ
ู ุง ุฒุงู ูู ูู:
> ุงุณุชูุชุงุฌ ุงูุชูููุฉ ู ู ุงูุณููู.
---
๐ฅ ูููุ
ู ุซููุง:
ุทุฑููุฉ ุงูุฑุฏ
ุชุฑุชูุจ ุงูู headers
ุฃุฎุทุงุก ู ุญุฏุฏุฉ
TLS behavior
response timing
---
๐ฅ ููุฐู ุชุณู ู:
Passive Fingerprinting
---
๐น Web Fingerprinting
ุงูู ูุงุฌู ูุญุงูู ู ุนุฑูุฉ:
Apacheุ
Nginxุ
IISุ
Expressุ
Djangoุ
PHPุ
Node.jsุ
---
๐ฅ ูู ุงุฐุงุ
ูุฃู:
> ูู ุชูููุฉ ููุง:
Weaknesses
CVEs
Misconfigurations
---
๐น ูู ุงุฐุง Version Detection ู ูู ุฌุฏูุงุ
ูุฃู:
Apache 2.4.41
ููุณุช ู ุซู:
Apache 2.2
---
๐ฅ ุจุนุถ ุงูุฅุตุฏุงุฑุงุช:
ูุฏูู ุฉ
vulnerable
EOL
---
๐น Internal vs External Services
ุฃุญูุงููุง ุงูุฎุฏู ุฉ:
> ูู ุชูุตู ู ุฃุตููุง ููุฅูุชุฑูุช
ููู ุชู ูุดููุง ุจุงูุฎุทุฃ.
---
๐ฃ ู ุซุงู
Redis 6379 open
Redis ูุฏ ูุณู ุญ:
remote commands
data access
---
๐ฅ ูุฃู ุงูู ุทูุฑ ุงูุชุฑุถ:
> โุงูุฎุฏู ุฉ ุฏุงุฎููุฉโ
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Exposed SSH
22/tcp open OpenSSH 7.2
---
๐ฃ ู ุงุฐุง ููุนู ุงูู ูุงุฌู ุ
ูุจุญุซ ุนู CVEs
ูุญุงูู weak credentials
ูุญูู ุงูู config
---
๐ฅ ุณููุงุฑูู 2 โ Exposed Database
3306/tcp MySQL
---
๐ฃ ุฅุฐุง ูุง ุชูุฌุฏ ุญู ุงูุฉ:
data exposure
auth bypass
remote access
---
๐ฅ ุณููุงุฑูู 3 โ Jenkins Panel
8080 Jenkins
---
๐ฃ ูุฏ ูุณู ุญ:
code execution
credential leakage
---
๐ฅ ุณููุงุฑูู 4 โ Elasticsearch Open
9200 Elasticsearch
---
๐ฅ ูุฏ ููุดู:
logs
credentials
customer data
---
๐ฅ ุณููุงุฑูู 5 โ Fingerprinting via Headers
Server: nginx/1.14
---
๐ฃ ุงููุงูุฑ:
ูุจุญุซ ุนู known exploits
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Infrastructure Security Thinking)
---
๐ 1) Principle of Least Exposure
ูุง ุชูุดู:
ุฅูุง ู ุง ุชุญุชุงุฌู ููุท
---
๐ 2) ุฃุบูู ุงูุฎุฏู ุงุช ุบูุฑ ุงูุถุฑูุฑูุฉ
---
๐ 3) ูุง ุชุชุฑู ุงูุฎุฏู ุงุช ุงูุฏุงุฎููุฉ ู ูุดููุฉ
ู ุซู:
Redis
MongoDB
Docker API
---
๐ 4) Hardening
strong auth
firewall
segmentation
---
๐ 5) Banner Reduction
ููู:
version disclosure
tech disclosure
---
๐ 6) Patch Management
ุญุฏูุซ ุงูุฎุฏู ุงุช ุจุงุณุชู ุฑุงุฑ.
---
๐ 7) Network Segmentation
ุงุฎุชุฑุงู Service: โ ูุง ูุฌุจ ุฃู ูุนุทู ุงูุดุจูุฉ ูููุง.
---
๐ 8) Monitoring
ุฑุงูุจ:
scans
unusual probes
recon activity
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ Fingerprinting Thinking
ุงูุชุญ ุฃู ู ููุน.
ุฑุงูุจ:
headers
TLS
response patterns
---
๐งช ุชู ุฑูู 2 โ Service Mapping
ุญุงูู ุฑุณู :
frontend
backend
reverse proxy
APIs
---
๐งช ุชู ุฑูู 3 โ Banner Analysis
ุงุจุญุซ ุนู:
version disclosure
technology leakage
---
๐งช ุชู ุฑูู 4 โ Attack Surface Thinking
ุงุณุฃู:
ู ุง ุงูุฎุฏู ุงุช ุงูู ุญุชู ูุฉ ุฎูู ูุฐุง ุงูู ููุนุ
ูู ุชูุฌุฏ admin interfacesุ
ูู ุชูุฌุฏ internal APIsุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุณุงุจุน ููุณ ุนู:
> โูุญุต ู ูุงูุฐโ
ุจู ุนู:
> ุฑุคูุฉ ุงูุจููุฉ ุงูุญููููุฉ ูููุธุงู ุ ูุงูุฎุฏู ุงุช ุงูุชู ูู ููู ุงูู ูุตูุฏ ุฃู ูุฑุงูุง ุงูู ุณุชุฎุฏู ุฃุตููุง.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ุงูู ููุน ุงูุฐู ุชุฑุงู ู ุฌุฑุฏ ูุงุฌูุฉโฆ ุฃู ุง ุงููุฌูู ุงูุญูููู ููุจุฏุฃ ุนูุฏู ุง ุชุฑู ุงูุฎุฏู ุงุช ุงูุชู ุฎููู."
---
๐ฅ ุณููุงุฑูู 1 โ Exposed SSH
22/tcp open OpenSSH 7.2
---
๐ฃ ู ุงุฐุง ููุนู ุงูู ูุงุฌู ุ
ูุจุญุซ ุนู CVEs
ูุญุงูู weak credentials
ูุญูู ุงูู config
---
๐ฅ ุณููุงุฑูู 2 โ Exposed Database
3306/tcp MySQL
---
๐ฃ ุฅุฐุง ูุง ุชูุฌุฏ ุญู ุงูุฉ:
data exposure
auth bypass
remote access
---
๐ฅ ุณููุงุฑูู 3 โ Jenkins Panel
8080 Jenkins
---
๐ฃ ูุฏ ูุณู ุญ:
code execution
credential leakage
---
๐ฅ ุณููุงุฑูู 4 โ Elasticsearch Open
9200 Elasticsearch
---
๐ฅ ูุฏ ููุดู:
logs
credentials
customer data
---
๐ฅ ุณููุงุฑูู 5 โ Fingerprinting via Headers
Server: nginx/1.14
---
๐ฃ ุงููุงูุฑ:
ูุจุญุซ ุนู known exploits
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Infrastructure Security Thinking)
---
๐ 1) Principle of Least Exposure
ูุง ุชูุดู:
ุฅูุง ู ุง ุชุญุชุงุฌู ููุท
---
๐ 2) ุฃุบูู ุงูุฎุฏู ุงุช ุบูุฑ ุงูุถุฑูุฑูุฉ
---
๐ 3) ูุง ุชุชุฑู ุงูุฎุฏู ุงุช ุงูุฏุงุฎููุฉ ู ูุดููุฉ
ู ุซู:
Redis
MongoDB
Docker API
---
๐ 4) Hardening
strong auth
firewall
segmentation
---
๐ 5) Banner Reduction
ููู:
version disclosure
tech disclosure
---
๐ 6) Patch Management
ุญุฏูุซ ุงูุฎุฏู ุงุช ุจุงุณุชู ุฑุงุฑ.
---
๐ 7) Network Segmentation
ุงุฎุชุฑุงู Service: โ ูุง ูุฌุจ ุฃู ูุนุทู ุงูุดุจูุฉ ูููุง.
---
๐ 8) Monitoring
ุฑุงูุจ:
scans
unusual probes
recon activity
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ Fingerprinting Thinking
ุงูุชุญ ุฃู ู ููุน.
ุฑุงูุจ:
headers
TLS
response patterns
---
๐งช ุชู ุฑูู 2 โ Service Mapping
ุญุงูู ุฑุณู :
frontend
backend
reverse proxy
APIs
---
๐งช ุชู ุฑูู 3 โ Banner Analysis
ุงุจุญุซ ุนู:
version disclosure
technology leakage
---
๐งช ุชู ุฑูู 4 โ Attack Surface Thinking
ุงุณุฃู:
ู ุง ุงูุฎุฏู ุงุช ุงูู ุญุชู ูุฉ ุฎูู ูุฐุง ุงูู ููุนุ
ูู ุชูุฌุฏ admin interfacesุ
ูู ุชูุฌุฏ internal APIsุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุณุงุจุน ููุณ ุนู:
> โูุญุต ู ูุงูุฐโ
ุจู ุนู:
> ุฑุคูุฉ ุงูุจููุฉ ุงูุญููููุฉ ูููุธุงู ุ ูุงูุฎุฏู ุงุช ุงูุชู ูู ููู ุงูู ูุตูุฏ ุฃู ูุฑุงูุง ุงูู ุณุชุฎุฏู ุฃุตููุง.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ุงูู ููุน ุงูุฐู ุชุฑุงู ู ุฌุฑุฏ ูุงุฌูุฉโฆ ุฃู ุง ุงููุฌูู ุงูุญูููู ููุจุฏุฃ ุนูุฏู ุง ุชุฑู ุงูุฎุฏู ุงุช ุงูุชู ุฎููู."
๐
ุงูููู
8 โ XSS (Cross-Site Scripting) โ ุงูุฌุฒุก ุงูุฃูู
(ููู ูุชุญูู ุงูู ุชุตูุญ ุฅูู ู ููุฐ ูููุฏ ุงูู ูุงุฌู โฆ ููู ุงุฐุง ุชุนุชุจุฑ XSS ู ู ุฃุฎุทุฑ ุซุบุฑุงุช ุงูููุจ)
> ุงูููู ูุฏุฎู ุฃูู โุซุบุฑุฉ ุญููููุฉโ ูู ุงูุฎุทุฉ.
ููู ูููู XSS ุจุดูู ุงุญุชุฑุงููโฆ ูุฌุจ ุฃู ุชูุณู ุงูุดุฑุญ ุงูุณุทุญู:
> โุญูู JavaScriptโ
ูุฃู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
XSS ูู ุงูุนู ู ูู:
ูุณุฑ ูู ูุฐุฌ ุงูุซูุฉ ุงูุฎุงุต ุจุงูู ุชุตูุญ
ูุฅููุงุน ุงูู ุชุตูุญ ุฃู:
> โููุฏ ุงูู ูุงุฌู ุฌุฒุก ู ูุซูู ู ู ุงูู ููุนโ
ููุฐุง ุงูููู ูุนุชู ุฏ ู ุจุงุดุฑุฉ ุนูู:
HTTP
Browser Security Model
SOP
Cookies
Parsing
Encoding
ุงูุชู ุฏุฑุณูุงูุง ุณุงุจููุง.
ุงููุชุงุจ ูุดุฑุญ XSS ุถู ู ุณูุงู:
Browser parsing
DOM interaction
Context handling
Trust boundaries
ูููู ูุคุฏู ุฎูุท ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ ู ุน HTML/JS ุฅูู ุชูููุฐ ููุฏ ุฏุงุฎู Origin ู ูุซูู
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ What XSS REALLY Is)
---
๐น ุฃูููุง: ู ุง ู ุนูู โCross-Site Scriptingโุ
ุงูุงุณู ุชุงุฑูุฎููุง ู ุถูู ูููููุง.
ูุฏูู ูุง ูุงูุช ุงูููุฑุฉ:
> ุญูู Script ู ู โู ููุนโ ุฏุงุฎู ู ููุน ุขุฎุฑ.
ููู ุงูููู : XSS ูุง ูุชุนูู ููุท ุจุงูู Script.
ุจู ูุชุนูู ุจู:
> ูุณุฑ ุญุฏูุฏ ุงูุซูุฉ ุฏุงุฎู ุงูู ุชุตูุญ.
---
๐ฅ ุงูููู ุงูุญูููู ูู XSS
ุงูู ุชุตูุญ ูุซู ุจุฃู JavaScript ูุฃุชู ู ู:
bank.com
ูุฃู SOP ุชุนุชุจุฑู:
> Same Origin Trusted Code
---
๐ฃ ุงูู ุดููุฉ
ุฅุฐุง ุงุณุชุทุงุน ุงูู ูุงุฌู ุฌุนู ุงูู ููุน ููุณู ูุฑุณู:
<script>ATTACKER CODE</script>
ูุฅู ุงูู ุชุตูุญ ุณูุดุบูู:
> ุจููุณ ุตูุงุญูุงุช ุงูู ููุน ุงูุญูููู.
---
๐ฅ ุฅุฐู XSS ููุณ:
> โุชุดุบูู JavaScriptโ
ุจู:
> โุฌุนู ุงูู ุชุตูุญ ูุนุชูุฏ ุฃู JavaScript ุงูู ูุงุฌู ููุชู ู ูููุณ ุงูู Originโ
---
๐ฅ ููุฐู ููุทุฉ ุฌููุฑูุฉ ุฌุฏูุง
ุงูู ุชุตูุญ ูุง ูุนุฑู:
โููุฉโ ุงูููุฏ
ู ู ูุชุจู
ุจู ูุนุฑู ููุท:
> ู ู ุฃู Origin ุฌุงุก.
---
๐น ูู ุงุฐุง XSS ุฎุทูุฑุฉ ุฌุฏูุงุ
ูุฃููุง ุชุนู ู:
> ุฏุงุฎู ุงูุญุฏูุฏ ุงูู ูุซููุฉ ููู ููุน
---
๐ฅ ูุฐูู XSS ุชุณุชุทูุน:
โ ูุฑุงุกุฉ DOM
โ ุณุฑูุฉ Tokens
โ ุฅุฑุณุงู Requests
โ ุชูููุฐ Actions
โ ูุฑุงุกุฉ ุจูุงูุงุช ุญุณุงุณุฉ
โ ุงูุชุญูู ุจุงููุงุฌูุฉ
โ ุงุณุชุบูุงู Session ุงูู ุณุชุฎุฏู
---
๐ฅ ููุฐู ููุทุฉ ู ูู ุฉ ุฌุฏูุง
XSS ุบุงูุจูุง: โ ูุง โุชูุณุฑโ ุงูุณูุฑูุฑ
ุจู: โ ุชุณุชุบู ุซูุฉ ุงูู ุชุตูุญ
---
๐น ูู ุงุฐุง ุชุธูุฑ XSS ุฃุตููุงุ
ุงูุณุจุจ ุงูุฌููุฑู:
> ุฎูุท ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ ู ุน HTML/JavaScript ุจุฏูู ู ุนุงูุฌุฉ ุตุญูุญุฉ.
---
๐ฅ ุจู ุนูู ุขุฎุฑ
ุงูุชุทุจูู ูุฃุฎุฐ:
User Input
ุซู ูุถุนู ุฏุงุฎู:
HTML
JavaScript
Attributes
DOM
ุจุฏูู:
Encoding ุตุญูุญ
Sanitization ุตุญูุญ
Context awareness
---
๐ฅ ููุง ูุจุฏุฃ ุงูู ุชุตูุญ ุจุชูุณูุฑ ุงูุจูุงูุงุช:
> ูููุฏ
---
๐น Parsing Problem
XSS ููุณุช โุซุบุฑุฉ JavaScriptโ ููุท.
ุจู:
> ู ุดููุฉ Parsing ูุชูุณูุฑ Context.
---
๐ฅ ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงูู ุชุตูุญ ูู ูู:
HTML Parser
JS Parser
CSS Parser
---
๐ฃ ูุฅุฐุง ุงุณุชุทุนุช ุงูุฎุฑูุฌ ู ู Context ู ุนููโฆ
ูู ููู ุฅุฏุฎุงู Context ุฌุฏูุฏ.
---
๐ฅ ู ุซุงู
ุงูุชุทุจูู:
<input value="USER_INPUT">
ุงูู ูุงุฌู ูุฏุฎู:
"><script>alert(1)</script>
---
๐ฅ ู ุงุฐุง ูุญุฏุซุ
ุงูู HTML parser ูุฑู:
<input value="">
<script>alert(1)</script>
---
๐ฅ ุงูุขู:
ุฎุฑุฌูุง ู ู attribute
ุฏุฎููุง HTML context
ุซู JavaScript context
---
๐ฅ ุฅุฐู XSS ูุซูุฑูุง ู ุง ุชููู:
> Context Escape
---
๐น ููู ูููุฑ ุงููุงูุฑ ูู XSSุ
ุงูู ุจุชุฏุฆ:
> โุฃุฑูุฏ alert(1)โ
ุงูู ุญุชุฑู: ูุณุฃู:
ู ุง ุงูู Context ุงูุญุงููุ
ููู ููุณุฑ ุงูู ุชุตูุญ ูุฐู ุงูุจูุงูุงุชุ
ูู ุฃูุง ุฏุงุฎู HTMLุ
Attributeุ
JavaScriptุ
URLุ
DOMุ
ูู ููุฌุฏ encodingุ
ูู ุฃุณุชุทูุน ูุณุฑ ุงูู parserุ
---
๐ฅ XSS ุงูุญููููุฉ ููุณุช:
> payloads
ุจู:
> ููู Parsing Rules
---
2) โ๏ธ ุงูุขููุฉ (How XSS Works โ Deep Browser Parsing Mechanics)
---
๐น ููู ููุณุฑ ุงูู ุชุตูุญ ุงูุตูุญุฉุ
ุงูู ุชุตูุญ ูุง ูุฑู:
Raw Text
ุจู ูุจุฏุฃ:
Parsing
Tokenization
DOM Construction
---
๐ฅ ู ุงุฐุง ูุนูู ูุฐุงุ
ุงูู ุชุตูุญ ูุญุงูู ููู :
ุฃูู ูุจุฏุฃ Tagุ
ุฃูู ููุชููุ
ูู ูุฐุง Attributeุ
ูู ูุฐุง Scriptุ
ูู ูุฐุง ูุต ุนุงุฏูุ
---
๐ฅ ูุฐูู:
> ุชุบููุฑ ุตุบูุฑ ุฌุฏูุง ูุฏ ูุบููุฑ ุงูุชูุณูุฑ ุจุงููุงู ู.
---
๐น ุงูุณููุงุฑูู ุงูุฃุณุงุณู ูู XSS
---
๐งฉ ุงูู ุฑุญูุฉ 1 โ ุฅุฏุฎุงู ุงูู ุณุชุฎุฏู
ุงูู ุณุชุฎุฏู ูุฑุณู:
<script>alert(1)</script>
---
๐งฉ ุงูู ุฑุญูุฉ 2 โ ุงูุชุทุจูู ูุนูุฏู ุฏุงุฎู ุงูุตูุญุฉ
ุจุฏูู encoding:
<div>
<script>alert(1)</script>
</div>
---
๐งฉ ุงูู ุฑุญูุฉ 3 โ Browser Parsing
ุงูู HTML parser ูุฑู:
> Tag Script ุญูููู
---
๐งฉ ุงูู ุฑุญูุฉ 4 โ JavaScript Engine
ูููุฐ:
alert(1)
---
๐ฅ ุงูุชูุช ุงููุนุจุฉ.
---
๐น ูู ุงุฐุง SOP ุชุฌุนู XSS ุฎุทูุฑุฉ ุฌุฏูุงุ
ูุฃู ุงูููุฏ ูุนู ู ุฏุงุฎู:
trusted origin
---
๐ฅ ุฅุฐู JavaScript ุงูู ูุงุฌู ูุญุตู ุนูู:
โ ููุณ ุงูุตูุงุญูุงุช
โ ููุณ Cookies
โ ููุณ DOM access
โ ููุณ Session context
---
๐ฅ ูุฐูู:
> XSS = Trust Boundary Violation
---
๐น Stored vs Reflected (ุจููู ู ุนู ุงุฑู)
---
๐ฅ Reflected XSS
ุงูุจูุงูุงุช:
(ููู ูุชุญูู ุงูู ุชุตูุญ ุฅูู ู ููุฐ ูููุฏ ุงูู ูุงุฌู โฆ ููู ุงุฐุง ุชุนุชุจุฑ XSS ู ู ุฃุฎุทุฑ ุซุบุฑุงุช ุงูููุจ)
> ุงูููู ูุฏุฎู ุฃูู โุซุบุฑุฉ ุญููููุฉโ ูู ุงูุฎุทุฉ.
ููู ูููู XSS ุจุดูู ุงุญุชุฑุงููโฆ ูุฌุจ ุฃู ุชูุณู ุงูุดุฑุญ ุงูุณุทุญู:
> โุญูู JavaScriptโ
ูุฃู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
XSS ูู ุงูุนู ู ูู:
ูุณุฑ ูู ูุฐุฌ ุงูุซูุฉ ุงูุฎุงุต ุจุงูู ุชุตูุญ
ูุฅููุงุน ุงูู ุชุตูุญ ุฃู:
> โููุฏ ุงูู ูุงุฌู ุฌุฒุก ู ูุซูู ู ู ุงูู ููุนโ
ููุฐุง ุงูููู ูุนุชู ุฏ ู ุจุงุดุฑุฉ ุนูู:
HTTP
Browser Security Model
SOP
Cookies
Parsing
Encoding
ุงูุชู ุฏุฑุณูุงูุง ุณุงุจููุง.
ุงููุชุงุจ ูุดุฑุญ XSS ุถู ู ุณูุงู:
Browser parsing
DOM interaction
Context handling
Trust boundaries
ูููู ูุคุฏู ุฎูุท ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ ู ุน HTML/JS ุฅูู ุชูููุฐ ููุฏ ุฏุงุฎู Origin ู ูุซูู
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ What XSS REALLY Is)
---
๐น ุฃูููุง: ู ุง ู ุนูู โCross-Site Scriptingโุ
ุงูุงุณู ุชุงุฑูุฎููุง ู ุถูู ูููููุง.
ูุฏูู ูุง ูุงูุช ุงูููุฑุฉ:
> ุญูู Script ู ู โู ููุนโ ุฏุงุฎู ู ููุน ุขุฎุฑ.
ููู ุงูููู : XSS ูุง ูุชุนูู ููุท ุจุงูู Script.
ุจู ูุชุนูู ุจู:
> ูุณุฑ ุญุฏูุฏ ุงูุซูุฉ ุฏุงุฎู ุงูู ุชุตูุญ.
---
๐ฅ ุงูููู ุงูุญูููู ูู XSS
ุงูู ุชุตูุญ ูุซู ุจุฃู JavaScript ูุฃุชู ู ู:
bank.com
ูุฃู SOP ุชุนุชุจุฑู:
> Same Origin Trusted Code
---
๐ฃ ุงูู ุดููุฉ
ุฅุฐุง ุงุณุชุทุงุน ุงูู ูุงุฌู ุฌุนู ุงูู ููุน ููุณู ูุฑุณู:
<script>ATTACKER CODE</script>
ูุฅู ุงูู ุชุตูุญ ุณูุดุบูู:
> ุจููุณ ุตูุงุญูุงุช ุงูู ููุน ุงูุญูููู.
---
๐ฅ ุฅุฐู XSS ููุณ:
> โุชุดุบูู JavaScriptโ
ุจู:
> โุฌุนู ุงูู ุชุตูุญ ูุนุชูุฏ ุฃู JavaScript ุงูู ูุงุฌู ููุชู ู ูููุณ ุงูู Originโ
---
๐ฅ ููุฐู ููุทุฉ ุฌููุฑูุฉ ุฌุฏูุง
ุงูู ุชุตูุญ ูุง ูุนุฑู:
โููุฉโ ุงูููุฏ
ู ู ูุชุจู
ุจู ูุนุฑู ููุท:
> ู ู ุฃู Origin ุฌุงุก.
---
๐น ูู ุงุฐุง XSS ุฎุทูุฑุฉ ุฌุฏูุงุ
ูุฃููุง ุชุนู ู:
> ุฏุงุฎู ุงูุญุฏูุฏ ุงูู ูุซููุฉ ููู ููุน
---
๐ฅ ูุฐูู XSS ุชุณุชุทูุน:
โ ูุฑุงุกุฉ DOM
โ ุณุฑูุฉ Tokens
โ ุฅุฑุณุงู Requests
โ ุชูููุฐ Actions
โ ูุฑุงุกุฉ ุจูุงูุงุช ุญุณุงุณุฉ
โ ุงูุชุญูู ุจุงููุงุฌูุฉ
โ ุงุณุชุบูุงู Session ุงูู ุณุชุฎุฏู
---
๐ฅ ููุฐู ููุทุฉ ู ูู ุฉ ุฌุฏูุง
XSS ุบุงูุจูุง: โ ูุง โุชูุณุฑโ ุงูุณูุฑูุฑ
ุจู: โ ุชุณุชุบู ุซูุฉ ุงูู ุชุตูุญ
---
๐น ูู ุงุฐุง ุชุธูุฑ XSS ุฃุตููุงุ
ุงูุณุจุจ ุงูุฌููุฑู:
> ุฎูุท ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ ู ุน HTML/JavaScript ุจุฏูู ู ุนุงูุฌุฉ ุตุญูุญุฉ.
---
๐ฅ ุจู ุนูู ุขุฎุฑ
ุงูุชุทุจูู ูุฃุฎุฐ:
User Input
ุซู ูุถุนู ุฏุงุฎู:
HTML
JavaScript
Attributes
DOM
ุจุฏูู:
Encoding ุตุญูุญ
Sanitization ุตุญูุญ
Context awareness
---
๐ฅ ููุง ูุจุฏุฃ ุงูู ุชุตูุญ ุจุชูุณูุฑ ุงูุจูุงูุงุช:
> ูููุฏ
---
๐น Parsing Problem
XSS ููุณุช โุซุบุฑุฉ JavaScriptโ ููุท.
ุจู:
> ู ุดููุฉ Parsing ูุชูุณูุฑ Context.
---
๐ฅ ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงูู ุชุตูุญ ูู ูู:
HTML Parser
JS Parser
CSS Parser
---
๐ฃ ูุฅุฐุง ุงุณุชุทุนุช ุงูุฎุฑูุฌ ู ู Context ู ุนููโฆ
ูู ููู ุฅุฏุฎุงู Context ุฌุฏูุฏ.
---
๐ฅ ู ุซุงู
ุงูุชุทุจูู:
<input value="USER_INPUT">
ุงูู ูุงุฌู ูุฏุฎู:
"><script>alert(1)</script>
---
๐ฅ ู ุงุฐุง ูุญุฏุซุ
ุงูู HTML parser ูุฑู:
<input value="">
<script>alert(1)</script>
---
๐ฅ ุงูุขู:
ุฎุฑุฌูุง ู ู attribute
ุฏุฎููุง HTML context
ุซู JavaScript context
---
๐ฅ ุฅุฐู XSS ูุซูุฑูุง ู ุง ุชููู:
> Context Escape
---
๐น ููู ูููุฑ ุงููุงูุฑ ูู XSSุ
ุงูู ุจุชุฏุฆ:
> โุฃุฑูุฏ alert(1)โ
ุงูู ุญุชุฑู: ูุณุฃู:
ู ุง ุงูู Context ุงูุญุงููุ
ููู ููุณุฑ ุงูู ุชุตูุญ ูุฐู ุงูุจูุงูุงุชุ
ูู ุฃูุง ุฏุงุฎู HTMLุ
Attributeุ
JavaScriptุ
URLุ
DOMุ
ูู ููุฌุฏ encodingุ
ูู ุฃุณุชุทูุน ูุณุฑ ุงูู parserุ
---
๐ฅ XSS ุงูุญููููุฉ ููุณุช:
> payloads
ุจู:
> ููู Parsing Rules
---
2) โ๏ธ ุงูุขููุฉ (How XSS Works โ Deep Browser Parsing Mechanics)
---
๐น ููู ููุณุฑ ุงูู ุชุตูุญ ุงูุตูุญุฉุ
ุงูู ุชุตูุญ ูุง ูุฑู:
Raw Text
ุจู ูุจุฏุฃ:
Parsing
Tokenization
DOM Construction
---
๐ฅ ู ุงุฐุง ูุนูู ูุฐุงุ
ุงูู ุชุตูุญ ูุญุงูู ููู :
ุฃูู ูุจุฏุฃ Tagุ
ุฃูู ููุชููุ
ูู ูุฐุง Attributeุ
ูู ูุฐุง Scriptุ
ูู ูุฐุง ูุต ุนุงุฏูุ
---
๐ฅ ูุฐูู:
> ุชุบููุฑ ุตุบูุฑ ุฌุฏูุง ูุฏ ูุบููุฑ ุงูุชูุณูุฑ ุจุงููุงู ู.
---
๐น ุงูุณููุงุฑูู ุงูุฃุณุงุณู ูู XSS
---
๐งฉ ุงูู ุฑุญูุฉ 1 โ ุฅุฏุฎุงู ุงูู ุณุชุฎุฏู
ุงูู ุณุชุฎุฏู ูุฑุณู:
<script>alert(1)</script>
---
๐งฉ ุงูู ุฑุญูุฉ 2 โ ุงูุชุทุจูู ูุนูุฏู ุฏุงุฎู ุงูุตูุญุฉ
ุจุฏูู encoding:
<div>
<script>alert(1)</script>
</div>
---
๐งฉ ุงูู ุฑุญูุฉ 3 โ Browser Parsing
ุงูู HTML parser ูุฑู:
> Tag Script ุญูููู
---
๐งฉ ุงูู ุฑุญูุฉ 4 โ JavaScript Engine
ูููุฐ:
alert(1)
---
๐ฅ ุงูุชูุช ุงููุนุจุฉ.
---
๐น ูู ุงุฐุง SOP ุชุฌุนู XSS ุฎุทูุฑุฉ ุฌุฏูุงุ
ูุฃู ุงูููุฏ ูุนู ู ุฏุงุฎู:
trusted origin
---
๐ฅ ุฅุฐู JavaScript ุงูู ูุงุฌู ูุญุตู ุนูู:
โ ููุณ ุงูุตูุงุญูุงุช
โ ููุณ Cookies
โ ููุณ DOM access
โ ููุณ Session context
---
๐ฅ ูุฐูู:
> XSS = Trust Boundary Violation
---
๐น Stored vs Reflected (ุจููู ู ุนู ุงุฑู)
---
๐ฅ Reflected XSS
ุงูุจูุงูุงุช:
ุชุฃุชู ุจุงูุทูุจ
ุชูุนูุณ ู ุจุงุดุฑุฉ ูู ุงูุฑุฏ
---
๐ฌ ู ุซุงู
?q=<script>
---
๐ฅ ุงูุณูุฑูุฑ ูุนูุฏูุง ู ุจุงุดุฑุฉ.
---
๐ฅ Stored XSS
ุงูุจูุงูุงุช:
ุชูุฎุฒู
ุซู ุชูุนุฑุถ ูุงุญููุง
---
๐ฃ ูู ุงุฐุง Stored ุฃุฎุทุฑุ
ูุฃู:
ุงูุถุญุงูุง ูุง ูุญุชุงุฌูู ุฑุงุจุท ุฎุงุต
ุงูุชูููุฐ ูุญุฏุซ ุชููุงุฆููุง
---
๐ฅ ุฅุฐู ุงููุฑู ุงูุญูููู
ุงูููุน ุฃูู ุชุนูุด ุงูุจูุงูุงุชุ
Reflected ุฏุงุฎู ุงูู request/response
Stored ุฏุงุฎู storage/database
---
๐น ูู ุงุฐุง Context ู ูู ุฌุฏูุงุ
ูุฐู ุฃูู ููุทุฉ ุงุญุชุฑุงููุฉ ูู XSS.
---
๐ฅ ููุณ ูู ู ูุงู ุฏุงุฎู HTML ู ุชุดุงุจููุง.
---
๐ฌ ุฃู ุซูุฉ Contexts
HTML Context
<div>USER</div>
---
Attribute Context
<input value="USER">
---
JavaScript Context
<script>
var x = "USER";
</script>
---
URL Context
<a href="USER">
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู:
> ูู Context ูุญุชุงุฌ Encoding ู ุฎุชูู
---
๐ฃ ุฎุทุฃ ุดุงุฆุน ุฌุฏูุง
ุงุณุชุฎุฏุงู :
HTML encoding
ุฏุงุฎู:
JavaScript context
---
๐ฅ bypass
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Cookie Theft
ุจุฏูู HttpOnly:
document.cookie
---
๐ฅ ุงูู ูุงุฌู :
ูุณุฑู session
ูุฎุทู ุงูุญุณุงุจ
---
๐ฅ ุณููุงุฑูู 2 โ DOM Manipulation
XSS ุชุบูุฑ:
forms
buttons
UI
---
๐ฅ phishing ุฏุงุฎู ููุณ ุงูู ููุน ุงูุญูููู.
---
๐ฅ ุณููุงุฑูู 3 โ CSRF via XSS
XSS ุชุณุชุทูุน:
ุฅุฑุณุงู requests
ุจููุณ Session ุงูู ุณุชุฎุฏู
---
๐ฅ ูุงู ู ุงูุญุณุงุจ ุชุญุช ุงูุณูุทุฑุฉ.
---
๐ฅ ุณููุงุฑูู 4 โ Token Theft
SPA frameworks ุชุฎุฒู:
JWT
API tokens
ุฏุงุฎู:
localStorage
JS memory
---
๐ฅ XSS ุชุณุชุทูุน ูุฑุงุกุชูุง.
---
๐ฅ ุณููุงุฑูู 5 โ Keylogging
JavaScript ุชุณุฌู:
keyboard input
---
๐ฅ ุณุฑูุฉ ููู ุงุช ุงูู ุฑูุฑ.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Deep Contextual Security Thinking)
---
๐ 1) Context-Aware Output Encoding
ูุฐู ุฃูู ูุงุนุฏุฉ ูู XSS.
---
๐ฅ ูุง ููุฌุฏ:
> โEncoding ูุงุญุฏ ููู ุดูุกโ
---
๐ 2) ุงูุตู ุงูุจูุงูุงุช ุนู ุงูููุฏ
ูุง ุชุจูู HTML ูุฏูููุง.
---
๐ 3) ุงุณุชุฎุฏู Safe APIs
ุจุฏู:
innerHTML
ุงุณุชุฎุฏู :
textContent
---
๐ 4) CSP
ุงููุชุงุจ ูุดุฑุญ CSP ูุทุจูุฉ ุฏูุงุน ุฅุถุงููุฉ ุถุฏ XSS
---
๐ฅ ููู:
CSP: โ ููุณุช ุญููุง ุณุญุฑููุง
---
๐ 5) HttpOnly
ูุชูููู:
cookie theft
---
๐ 6) Sanitization Libraries
ููู:
ูุฌุจ ููู ุงูู Context
ูุง ุชุนุชู ุฏ ุนูููุง ุนู ูุงูููุง
---
๐ 7) ุชุฌูุจ Dangerous Sinks
ู ุซู:
innerHTML
eval
document.write
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ ููู Context
ุฎุฐ:
<div>USER</div>
ุซู :
<input value="USER">
ูุงุณุฃู:
ููู ููุณุฑูุง parserุ
---
๐งช ุชู ุฑูู 2 โ DOM Analysis
ุฑุงูุจ:
ุฃูู ุชุฏุฎู ุงูุจูุงูุงุชุ
ูู ุชุณุชุฎุฏู innerHTMLุ
---
๐งช ุชู ุฑูู 3 โ Encoding Thinking
ุงุณุฃู:
ู ุง ุงูู Contextุ
ู ุง ุงูู Encoding ุงูู ุทููุจุ
---
๐งช ุชู ุฑูู 4 โ Browser Parsing
ุญุงูู ููู :
ููู ููุชูู ุงูู ุชุตูุญ ุจูู:
HTML
JS
Attributes
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุซุงู ู ููุณ ุนู:
> โุชุดุบูู alert(1)โ
ุจู ุนู:
> ููู ูุคุฏู ุฎูุท ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ ู ุน ุณูุงูุงุช ุงูู ุชุตูุญ ุงูู ุฎุชููุฉ ุฅูู ุฌุนู ุงูู ุชุตูุญ ูุซู ุจููุฏ ุงูู ูุงุฌู ูุฃูู ุฌุฒุก ู ู ุงูู ููุน ููุณู.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "XSS ููุณุช ู ุฌุฑุฏ JavaScript Injectionโฆ ุจู ูู ูุณุฑ ูุญุฏูุฏ ุงูุซูุฉ ุงูุชู ูุจูููุง ุงูู ุชุตูุญ ุญูู ุงูู Origin."
ุชูุนูุณ ู ุจุงุดุฑุฉ ูู ุงูุฑุฏ
---
๐ฌ ู ุซุงู
?q=<script>
---
๐ฅ ุงูุณูุฑูุฑ ูุนูุฏูุง ู ุจุงุดุฑุฉ.
---
๐ฅ Stored XSS
ุงูุจูุงูุงุช:
ุชูุฎุฒู
ุซู ุชูุนุฑุถ ูุงุญููุง
---
๐ฃ ูู ุงุฐุง Stored ุฃุฎุทุฑุ
ูุฃู:
ุงูุถุญุงูุง ูุง ูุญุชุงุฌูู ุฑุงุจุท ุฎุงุต
ุงูุชูููุฐ ูุญุฏุซ ุชููุงุฆููุง
---
๐ฅ ุฅุฐู ุงููุฑู ุงูุญูููู
ุงูููุน ุฃูู ุชุนูุด ุงูุจูุงูุงุชุ
Reflected ุฏุงุฎู ุงูู request/response
Stored ุฏุงุฎู storage/database
---
๐น ูู ุงุฐุง Context ู ูู ุฌุฏูุงุ
ูุฐู ุฃูู ููุทุฉ ุงุญุชุฑุงููุฉ ูู XSS.
---
๐ฅ ููุณ ูู ู ูุงู ุฏุงุฎู HTML ู ุชุดุงุจููุง.
---
๐ฌ ุฃู ุซูุฉ Contexts
HTML Context
<div>USER</div>
---
Attribute Context
<input value="USER">
---
JavaScript Context
<script>
var x = "USER";
</script>
---
URL Context
<a href="USER">
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู:
> ูู Context ูุญุชุงุฌ Encoding ู ุฎุชูู
---
๐ฃ ุฎุทุฃ ุดุงุฆุน ุฌุฏูุง
ุงุณุชุฎุฏุงู :
HTML encoding
ุฏุงุฎู:
JavaScript context
---
๐ฅ bypass
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Cookie Theft
ุจุฏูู HttpOnly:
document.cookie
---
๐ฅ ุงูู ูุงุฌู :
ูุณุฑู session
ูุฎุทู ุงูุญุณุงุจ
---
๐ฅ ุณููุงุฑูู 2 โ DOM Manipulation
XSS ุชุบูุฑ:
forms
buttons
UI
---
๐ฅ phishing ุฏุงุฎู ููุณ ุงูู ููุน ุงูุญูููู.
---
๐ฅ ุณููุงุฑูู 3 โ CSRF via XSS
XSS ุชุณุชุทูุน:
ุฅุฑุณุงู requests
ุจููุณ Session ุงูู ุณุชุฎุฏู
---
๐ฅ ูุงู ู ุงูุญุณุงุจ ุชุญุช ุงูุณูุทุฑุฉ.
---
๐ฅ ุณููุงุฑูู 4 โ Token Theft
SPA frameworks ุชุฎุฒู:
JWT
API tokens
ุฏุงุฎู:
localStorage
JS memory
---
๐ฅ XSS ุชุณุชุทูุน ูุฑุงุกุชูุง.
---
๐ฅ ุณููุงุฑูู 5 โ Keylogging
JavaScript ุชุณุฌู:
keyboard input
---
๐ฅ ุณุฑูุฉ ููู ุงุช ุงูู ุฑูุฑ.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Deep Contextual Security Thinking)
---
๐ 1) Context-Aware Output Encoding
ูุฐู ุฃูู ูุงุนุฏุฉ ูู XSS.
---
๐ฅ ูุง ููุฌุฏ:
> โEncoding ูุงุญุฏ ููู ุดูุกโ
---
๐ 2) ุงูุตู ุงูุจูุงูุงุช ุนู ุงูููุฏ
ูุง ุชุจูู HTML ูุฏูููุง.
---
๐ 3) ุงุณุชุฎุฏู Safe APIs
ุจุฏู:
innerHTML
ุงุณุชุฎุฏู :
textContent
---
๐ 4) CSP
ุงููุชุงุจ ูุดุฑุญ CSP ูุทุจูุฉ ุฏูุงุน ุฅุถุงููุฉ ุถุฏ XSS
---
๐ฅ ููู:
CSP: โ ููุณุช ุญููุง ุณุญุฑููุง
---
๐ 5) HttpOnly
ูุชูููู:
cookie theft
---
๐ 6) Sanitization Libraries
ููู:
ูุฌุจ ููู ุงูู Context
ูุง ุชุนุชู ุฏ ุนูููุง ุนู ูุงูููุง
---
๐ 7) ุชุฌูุจ Dangerous Sinks
ู ุซู:
innerHTML
eval
document.write
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ ููู Context
ุฎุฐ:
<div>USER</div>
ุซู :
<input value="USER">
ูุงุณุฃู:
ููู ููุณุฑูุง parserุ
---
๐งช ุชู ุฑูู 2 โ DOM Analysis
ุฑุงูุจ:
ุฃูู ุชุฏุฎู ุงูุจูุงูุงุชุ
ูู ุชุณุชุฎุฏู innerHTMLุ
---
๐งช ุชู ุฑูู 3 โ Encoding Thinking
ุงุณุฃู:
ู ุง ุงูู Contextุ
ู ุง ุงูู Encoding ุงูู ุทููุจุ
---
๐งช ุชู ุฑูู 4 โ Browser Parsing
ุญุงูู ููู :
ููู ููุชูู ุงูู ุชุตูุญ ุจูู:
HTML
JS
Attributes
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุซุงู ู ููุณ ุนู:
> โุชุดุบูู alert(1)โ
ุจู ุนู:
> ููู ูุคุฏู ุฎูุท ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ ู ุน ุณูุงูุงุช ุงูู ุชุตูุญ ุงูู ุฎุชููุฉ ุฅูู ุฌุนู ุงูู ุชุตูุญ ูุซู ุจููุฏ ุงูู ูุงุฌู ูุฃูู ุฌุฒุก ู ู ุงูู ููุน ููุณู.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "XSS ููุณุช ู ุฌุฑุฏ JavaScript Injectionโฆ ุจู ูู ูุณุฑ ูุญุฏูุฏ ุงูุซูุฉ ุงูุชู ูุจูููุง ุงูู ุชุตูุญ ุญูู ุงูู Origin."
๐
ุงูููู
9 โ XSS (Advanced) โ Context Escaping, Filter Bypass & Browser Parsing Warfare
(ููู ุชุชุญูู XSS ู ู โุญูู Scriptโ ุฅูู ุญุฑุจ ุถุฏ Parsers ูุงูู ุชุตูุญ ููุณู)
> ูู ุงูููู ุงูุณุงุจู ููู ูุง:
ู ุง ูู XSS ูุนูููุง
ูู ุงุฐุง ุชุนุชุจุฑ ูุณุฑูุง ููุซูุฉ
ููู ููุณุฑ ุงูู ุชุตูุญ HTML/JS
ู ุง ู ุนูู Context
ุงูููู ุณูุฏุฎู ุงูู ุณุชูู ุงูุงุญุชุฑุงูู ุงูุญูููู:
๐ฅ ููู ูุชุฌุงูุฒ ุงูู ูุงุฌู ุงูููุงุชุฑ ๐ฅ ููู ููุณุฑ ุงูู parser ๐ฅ ููู ุชุฎุชูู ุชูุณูุฑุงุช ุงูู ุชุตูุญ ๐ฅ ูู ุงุฐุง ุชูุดู ุงูุญู ุงูุงุช ุงูุชูููุฏูุฉ
ูุฃู XSS ุงูุงุญุชุฑุงููุฉ ููุณุช:
> โูุถุน <script>โ
ุจู:
ููู ููููุฉ ุชูุณูุฑ ุงูู ุชุตูุญ ููุจูุงูุงุช ุนุจุฑ ุณูุงูุงุช ู ุชุนุฏุฏุฉ
ุงููุชุงุจ ูุฑุจุท ููุง ุจูู:
Parsing
Encoding
Browser behavior
Context confusion
DOM interaction
ูููู ุชุคุฏู ุงุฎุชูุงูุงุช ุงูุชูุณูุฑ ุฅูู bypasses ู ุนูุฏุฉ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ Advanced XSS Thinking)
---
๐น ุฃูููุง: ูู ุงุฐุง ุชูุดู ุงูุญู ุงูุงุช ุถุฏ XSSุ
ุงูุณุจุจ ุงูุญูููู ุบุงูุจูุง ููุณ:
> โุงูููุงุชุฑ ุถุนููุฉโ
ุจู:
> โุงูู ุทูุฑ ูุง ูููู ููู ููุณุฑ ุงูู ุชุตูุญ ุงูุจูุงูุงุช.โ
---
๐ฅ ูุฐู ุฃูู ููุทุฉ ุงูููู ููู
ุงูู ุชุตูุญ ููุณ:
> parser ูุงุญุฏ
ุจู:
HTML Parser
Attribute Parser
JavaScript Parser
CSS Parser
URL Parser
---
๐ฃ ููู parser:
ูู ูู ููุงุนุฏ ู ุฎุชููุฉ
escaping ู ุฎุชูู
termination ู ุฎุชูู
---
๐ฅ ุฅุฐู XSS ุงูุงุญุชุฑุงููุฉ ูู:
> ุงูุงูุชูุงู ู ู Context ุฅูู Context ุขุฎุฑ ุจุทุฑููุฉ ุบูุฑ ู ุชููุนุฉ.
---
๐น ู ุง ู ุนูู Context Escape ูุนูููุงุ
ุชุฎูู:
<input value="USER_INPUT">
---
๐ง ุงูุชุทุจูู ูุชููุน:
> โูู ุดูุก ุฏุงุฎู valueโ
ููู ุงูู ูุงุฌู ูุญุงูู:
> ูุณุฑ ุญุฏูุฏ ุงูู attribute
---
๐ฅ ู ุซู:
" autofocus onfocus=alert(1) x="
---
๐ฅ ุงูุขู ุงูู ุชุตูุญ ูุฏ ููุณุฑ:
<input value=""
autofocus
onfocus=alert(1)
x="">
---
๐ฅ ุฎุฑุฌูุง ู ู:
Attribute Context
ุฅูู:
Event Handler Context
---
๐ฅ ูุฐู ููุณุช โุตุฏูุฉโ
ุจู:
> ุงุณุชุบูุงู ูููุงุนุฏ ุงูู parser ููุณู.
---
๐น ูู ุงุฐุง ุงูู Parsers ุฎุทูุฑุฉุ
ูุฃููุง:
> ุชุญุงูู ุฅุตูุงุญ HTML ุงูู ูุณูุฑ ุชููุงุฆููุง
---
๐ง ููุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงูู ุชุตูุญ:
forgiving ุฌุฏูุง
ูุญุงูู โููู โ ุงูุตูุญุฉ ู ูู ุง ูุงูุช ู ูุณูุฑุฉ
---
๐ฃ ูุงูู ูุงุฌู ูุณุชุบู ูุฐุง ุงูุณููู.
---
๐ฅ ู ุซุงู
ุญุชู HTML ุบูุฑ ุงูู ุบูู ุฃุญูุงููุง ูุนู ู:
<script>alert(1)
---
๐ฅ ูุฃู ุงูู ุชุตูุญ ูุญุงูู:
> repair the DOM
---
๐น ูู ุงุฐุง ุงูู Blacklists ุชูุดูุ
ุงูู ุทูุฑ:
block "<script>"
---
๐ฃ ููู:
JavaScript ูู ูู ุชุดุบููู ุนุจุฑ:
event handlers
SVG
MathML
javascript URLs
malformed tags
parser confusion
---
๐ฅ ูุฐูู:
> XSS ููุณุช โููู ุฉ scriptโ
ุจู:
> Browser Interpretation Problem
---
๐น ููู ูููุฑ ุงูู ูุงุฌู ุงูุงุญุชุฑุงููุ
ูุง ูุณุฃู:
> โูู <script> ุชุนู ูุโ
ุจู:
ู ุง ุงูู Contextุ
ู ุง ุงูู parser ุงูุญุงููุ
ููู ูู ูููู ุงูุฎุฑูุฌ ู ููุ
ููู ุณูุตูุญ ุงูู ุชุตูุญ ุงูู DOMุ
ูู ููุงู encodingุ
ูู ุชูุฌุฏ transformationsุ
ูู ุงูู WAF ูุฑู ููุณ ู ุง ูุฑุงู ุงูู ุชุตูุญุ
---
๐ฅ ููุฐุง ูุฑุจุท ู ุจุงุดุฑุฉ ุจููู :
Encoding
Canonicalization
---
2) โ๏ธ ุงูุขููุฉ (How Advanced XSS Works โ Deep Parser Mechanics)
---
๐น HTML Parser States
ุงูู ุชุตูุญ ุฃุซูุงุก parsing ููุชูู ุจูู:
text state
tag state
attribute state
script state
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู:
> ุชุบููุฑ character ูุงุญุฏ ูุฏ ูุบูุฑ ุงูู state ุจุงููุงู ู.
---
๐ฌ ู ุซุงู
ุฏุงุฎู:
<div>USER</div>
ุงูู ุชุตูุญ ูุชููุน:
Text
---
๐ฅ ููู ุฅุฐุง ุฃุฑุณูุช:
</div><script>alert(1)</script>
---
๐ฅ parser state ุชุบููุฑ:
ุฃุบูู div
ุฏุฎู script mode
---
๐น Attribute Context Escaping
ู ุซุงู:
<input value="USER">
---
๐ฅ ุฅุฐุง ุงุณุชุทุนุช ุฅุฏุฎุงู:
" onmouseover="alert(1)
---
๐ฅ ุฃุตุจุญุช:
<input value=""
onmouseover="alert(1)">
---
๐ฅ ุงูุขู:
parser ุฎุฑุฌ ู ู value
ุฃูุดุฃ event handler
---
๐น JavaScript Context
ูุฐุง ุฃุฎุทุฑ Context ุบุงูุจูุง.
---
๐ฌ ู ุซุงู
<script>
var name = "USER";
</script>
---
๐ฅ ุฅุฐุง ุฃุฏุฎูุช:
alert(1);
//
---
๐ฅ ุฃุตุจุญุช:
var name = "";
alert(1);
//";
---
๐ฅ ููุง:
ูุณุฑูุง string
ุญูููุง JavaScript
ุนููููุง ุงูุจุงูู
---
๐ฅ ูุฐู ููุณุช:
> โHTML Injectionโ
ุจู:
> JavaScript Parser Escape
---
๐น DOM-Based Interpretation
ุฃุญูุงููุง:
ุงูุณูุฑูุฑ ูุง ูุนูุฏ payload
ููู JavaScript client-side ููุณุฑู ูุงุญููุง
---
๐ฃ ูููุง ูุจุฏุฃ:
DOM XSS
(ุงูููู ุงููุงุฏู )
---
๐น ูู ุงุฐุง Encoding ูุญุฏู ูุฏ ููุดูุ
ูุฃู:
Encoding ุงูุตุญูุญ ูุนุชู ุฏ ุนูู ุงูู Context
---
๐ฅ ู ุซุงู ู ูู ุฌุฏูุง
HTML encoding:
< โ <
---
๐ฃ ููู ุฏุงุฎู JavaScript context:
ูุฏ ูุง ูููู ูุงูููุง.
---
๐ฅ ุฅุฐู:
> ูุง ููุฌุฏ universal escaping
---
๐น Polyglot Payloads
ูุฐู ู ู ุงูุฃููุงุฑ ุงูู ุชูุฏู ุฉ.
---
๐ง ู ุง ู ุนูุงูุงุ
Payload ูุนู ู ูู:
HTML
JS
Attribute
URL
(ููู ุชุชุญูู XSS ู ู โุญูู Scriptโ ุฅูู ุญุฑุจ ุถุฏ Parsers ูุงูู ุชุตูุญ ููุณู)
> ูู ุงูููู ุงูุณุงุจู ููู ูุง:
ู ุง ูู XSS ูุนูููุง
ูู ุงุฐุง ุชุนุชุจุฑ ูุณุฑูุง ููุซูุฉ
ููู ููุณุฑ ุงูู ุชุตูุญ HTML/JS
ู ุง ู ุนูู Context
ุงูููู ุณูุฏุฎู ุงูู ุณุชูู ุงูุงุญุชุฑุงูู ุงูุญูููู:
๐ฅ ููู ูุชุฌุงูุฒ ุงูู ูุงุฌู ุงูููุงุชุฑ ๐ฅ ููู ููุณุฑ ุงูู parser ๐ฅ ููู ุชุฎุชูู ุชูุณูุฑุงุช ุงูู ุชุตูุญ ๐ฅ ูู ุงุฐุง ุชูุดู ุงูุญู ุงูุงุช ุงูุชูููุฏูุฉ
ูุฃู XSS ุงูุงุญุชุฑุงููุฉ ููุณุช:
> โูุถุน <script>โ
ุจู:
ููู ููููุฉ ุชูุณูุฑ ุงูู ุชุตูุญ ููุจูุงูุงุช ุนุจุฑ ุณูุงูุงุช ู ุชุนุฏุฏุฉ
ุงููุชุงุจ ูุฑุจุท ููุง ุจูู:
Parsing
Encoding
Browser behavior
Context confusion
DOM interaction
ูููู ุชุคุฏู ุงุฎุชูุงูุงุช ุงูุชูุณูุฑ ุฅูู bypasses ู ุนูุฏุฉ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ Advanced XSS Thinking)
---
๐น ุฃูููุง: ูู ุงุฐุง ุชูุดู ุงูุญู ุงูุงุช ุถุฏ XSSุ
ุงูุณุจุจ ุงูุญูููู ุบุงูุจูุง ููุณ:
> โุงูููุงุชุฑ ุถุนููุฉโ
ุจู:
> โุงูู ุทูุฑ ูุง ูููู ููู ููุณุฑ ุงูู ุชุตูุญ ุงูุจูุงูุงุช.โ
---
๐ฅ ูุฐู ุฃูู ููุทุฉ ุงูููู ููู
ุงูู ุชุตูุญ ููุณ:
> parser ูุงุญุฏ
ุจู:
HTML Parser
Attribute Parser
JavaScript Parser
CSS Parser
URL Parser
---
๐ฃ ููู parser:
ูู ูู ููุงุนุฏ ู ุฎุชููุฉ
escaping ู ุฎุชูู
termination ู ุฎุชูู
---
๐ฅ ุฅุฐู XSS ุงูุงุญุชุฑุงููุฉ ูู:
> ุงูุงูุชูุงู ู ู Context ุฅูู Context ุขุฎุฑ ุจุทุฑููุฉ ุบูุฑ ู ุชููุนุฉ.
---
๐น ู ุง ู ุนูู Context Escape ูุนูููุงุ
ุชุฎูู:
<input value="USER_INPUT">
---
๐ง ุงูุชุทุจูู ูุชููุน:
> โูู ุดูุก ุฏุงุฎู valueโ
ููู ุงูู ูุงุฌู ูุญุงูู:
> ูุณุฑ ุญุฏูุฏ ุงูู attribute
---
๐ฅ ู ุซู:
" autofocus onfocus=alert(1) x="
---
๐ฅ ุงูุขู ุงูู ุชุตูุญ ูุฏ ููุณุฑ:
<input value=""
autofocus
onfocus=alert(1)
x="">
---
๐ฅ ุฎุฑุฌูุง ู ู:
Attribute Context
ุฅูู:
Event Handler Context
---
๐ฅ ูุฐู ููุณุช โุตุฏูุฉโ
ุจู:
> ุงุณุชุบูุงู ูููุงุนุฏ ุงูู parser ููุณู.
---
๐น ูู ุงุฐุง ุงูู Parsers ุฎุทูุฑุฉุ
ูุฃููุง:
> ุชุญุงูู ุฅุตูุงุญ HTML ุงูู ูุณูุฑ ุชููุงุฆููุง
---
๐ง ููุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง
ุงูู ุชุตูุญ:
forgiving ุฌุฏูุง
ูุญุงูู โููู โ ุงูุตูุญุฉ ู ูู ุง ูุงูุช ู ูุณูุฑุฉ
---
๐ฃ ูุงูู ูุงุฌู ูุณุชุบู ูุฐุง ุงูุณููู.
---
๐ฅ ู ุซุงู
ุญุชู HTML ุบูุฑ ุงูู ุบูู ุฃุญูุงููุง ูุนู ู:
<script>alert(1)
---
๐ฅ ูุฃู ุงูู ุชุตูุญ ูุญุงูู:
> repair the DOM
---
๐น ูู ุงุฐุง ุงูู Blacklists ุชูุดูุ
ุงูู ุทูุฑ:
block "<script>"
---
๐ฃ ููู:
JavaScript ูู ูู ุชุดุบููู ุนุจุฑ:
event handlers
SVG
MathML
javascript URLs
malformed tags
parser confusion
---
๐ฅ ูุฐูู:
> XSS ููุณุช โููู ุฉ scriptโ
ุจู:
> Browser Interpretation Problem
---
๐น ููู ูููุฑ ุงูู ูุงุฌู ุงูุงุญุชุฑุงููุ
ูุง ูุณุฃู:
> โูู <script> ุชุนู ูุโ
ุจู:
ู ุง ุงูู Contextุ
ู ุง ุงูู parser ุงูุญุงููุ
ููู ูู ูููู ุงูุฎุฑูุฌ ู ููุ
ููู ุณูุตูุญ ุงูู ุชุตูุญ ุงูู DOMุ
ูู ููุงู encodingุ
ูู ุชูุฌุฏ transformationsุ
ูู ุงูู WAF ูุฑู ููุณ ู ุง ูุฑุงู ุงูู ุชุตูุญุ
---
๐ฅ ููุฐุง ูุฑุจุท ู ุจุงุดุฑุฉ ุจููู :
Encoding
Canonicalization
---
2) โ๏ธ ุงูุขููุฉ (How Advanced XSS Works โ Deep Parser Mechanics)
---
๐น HTML Parser States
ุงูู ุชุตูุญ ุฃุซูุงุก parsing ููุชูู ุจูู:
text state
tag state
attribute state
script state
---
๐ฅ ูู ุงุฐุง ูุฐุง ู ูู ุ
ูุฃู:
> ุชุบููุฑ character ูุงุญุฏ ูุฏ ูุบูุฑ ุงูู state ุจุงููุงู ู.
---
๐ฌ ู ุซุงู
ุฏุงุฎู:
<div>USER</div>
ุงูู ุชุตูุญ ูุชููุน:
Text
---
๐ฅ ููู ุฅุฐุง ุฃุฑุณูุช:
</div><script>alert(1)</script>
---
๐ฅ parser state ุชุบููุฑ:
ุฃุบูู div
ุฏุฎู script mode
---
๐น Attribute Context Escaping
ู ุซุงู:
<input value="USER">
---
๐ฅ ุฅุฐุง ุงุณุชุทุนุช ุฅุฏุฎุงู:
" onmouseover="alert(1)
---
๐ฅ ุฃุตุจุญุช:
<input value=""
onmouseover="alert(1)">
---
๐ฅ ุงูุขู:
parser ุฎุฑุฌ ู ู value
ุฃูุดุฃ event handler
---
๐น JavaScript Context
ูุฐุง ุฃุฎุทุฑ Context ุบุงูุจูุง.
---
๐ฌ ู ุซุงู
<script>
var name = "USER";
</script>
---
๐ฅ ุฅุฐุง ุฃุฏุฎูุช:
alert(1);
//
---
๐ฅ ุฃุตุจุญุช:
var name = "";
alert(1);
//";
---
๐ฅ ููุง:
ูุณุฑูุง string
ุญูููุง JavaScript
ุนููููุง ุงูุจุงูู
---
๐ฅ ูุฐู ููุณุช:
> โHTML Injectionโ
ุจู:
> JavaScript Parser Escape
---
๐น DOM-Based Interpretation
ุฃุญูุงููุง:
ุงูุณูุฑูุฑ ูุง ูุนูุฏ payload
ููู JavaScript client-side ููุณุฑู ูุงุญููุง
---
๐ฃ ูููุง ูุจุฏุฃ:
DOM XSS
(ุงูููู ุงููุงุฏู )
---
๐น ูู ุงุฐุง Encoding ูุญุฏู ูุฏ ููุดูุ
ูุฃู:
Encoding ุงูุตุญูุญ ูุนุชู ุฏ ุนูู ุงูู Context
---
๐ฅ ู ุซุงู ู ูู ุฌุฏูุง
HTML encoding:
< โ <
---
๐ฃ ููู ุฏุงุฎู JavaScript context:
ูุฏ ูุง ูููู ูุงูููุง.
---
๐ฅ ุฅุฐู:
> ูุง ููุฌุฏ universal escaping
---
๐น Polyglot Payloads
ูุฐู ู ู ุงูุฃููุงุฑ ุงูู ุชูุฏู ุฉ.
---
๐ง ู ุง ู ุนูุงูุงุ
Payload ูุนู ู ูู:
HTML
JS
Attribute
URL
ูู ููุณ ุงูููุช.
---
๐ฅ ูู ุงุฐุงุ
ูุฃู ุงูู ูุงุฌู ุฃุญูุงููุง:
> ูุง ูุนุฑู ุงูู Context ุจุฏูุฉ
---
๐ฅ ููุจูู payload ู ุฑู.
---
3) ๐ฃ ุงูุชุทุจูู (Real Advanced Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Filter Bypass
ุงูููุชุฑ:
block "<script>"
---
๐ฅ ุงูู ูุงุฌู ูุณุชุฎุฏู :
onerror
svg
malformed tags
---
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 2 โ Attribute Escape
ุงูุชุทุจูู:
<img alt="USER">
---
๐ฅ ุงูู ูุงุฌู :
" onerror=alert(1) x="
---
๐ฅ event injection
---
๐ฅ ุณููุงุฑูู 3 โ JavaScript Context Escape
ุฏุงุฎู:
var msg = "USER";
---
๐ฅ ุงูู ูุงุฌู :
ููุณุฑ ุงูู string.
---
๐ฅ arbitrary JS execution
---
๐ฅ ุณููุงุฑูู 4 โ Parser Differential
WAF ูุฑู:
encoded payload
ุงูู ุชุตูุญ ุจุนุฏ transformations: ููุณุฑู ูู executable code.
---
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 5 โ Mutation XSS
ุงูู ุชุตูุญ ููุณู:
ูุนุฏู DOM
ูุนูุฏ parsing
---
๐ฅ payload ูุชุญูู ูุดูู executable.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Advanced Defensive Thinking)
---
๐ 1) Context-Aware Escaping
ูุฐู ุฃูู ูุงุนุฏุฉ ูู XSS ูููุง.
---
๐ฅ HTML Context โ JS Context โ Attribute Context
---
๐ 2) ุงุณุชุฎุฏู Templating Engines ุขู ูุฉ
ุจุฏู:
string concatenation
---
๐ 3) ุชุฌูุจ Dangerous Sinks
ู ุซู:
innerHTML
outerHTML
eval
document.write
---
๐ 4) CSP
ููู:
ูุฌุจ ุถุจุทูุง ุฌูุฏูุง
unsafe-inline ูุถุนููุง
---
๐ 5) Sanitization Libraries
ู ุซู:
DOMPurify
ููู: โ ููุณุช ุจุฏูููุง ุนู ููู ุงูู Context
---
๐ 6) ูุง ุชุนุชู ุฏ ุนูู Blacklists
ูุฃู:
parser tricks ูุง ููุงุฆูุฉ ุชูุฑูุจูุง
---
๐ 7) ุงููู Browser Parsing Rules
ุงูุญู ุงูุฉ ุงูุญููููุฉ ุชุจุฏุฃ ู ู:
> ููู ููู ููุณุฑ ุงูู ุชุตูุญ ุงูุตูุญุฉ.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ Context Analysis
ุฎุฐ:
<input value="USER">
ุงุณุฃู:
ููู ุฃุฎุฑุฌ ู ู ุงูู attributeุ
---
๐งช ุชู ุฑูู 2 โ JavaScript Context
ุญูู:
var data = "USER";
ููู ูู ูู ูุณุฑ ุงูู stringุ
---
๐งช ุชู ุฑูู 3 โ Parser Thinking
ุฑุงูุจ:
ููู ูุตูุญ ุงูู ุชุตูุญ HTML ุงูู ูุณูุฑุ
---
๐งช ุชู ุฑูู 4 โ DOM Observation
ุงูุชุญ DevTools:
Elements
ุฑุงูุจ ููู ุจููู DOM ูุนูููุง
---
๐งช ุชู ุฑูู 5 โ Context Mapping
ููู input ุงุณุฃู:
ุฃูู ููุญููุ
ุฃู parser ุณููุณุฑูุ
ู ุง ุงูู escaping ุงูู ุทููุจุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุชุงุณุน ููุณ ุนู:
> โpayloads ูู XSSโ
ุจู ุนู:
> ููู ุชุคุฏู ููุงุนุฏ ุชูุณูุฑ ุงูู ุชุตูุญ ูุงูุณูุงูุงุช ุงูู ุฎุชููุฉ ุฅูู ุชุญููู ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ ุฅูู ููุฏ ู ูุซูู ูุนู ู ุฏุงุฎู ููุณ ุงูู Origin.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ุงูู XSS ุงูุงุญุชุฑุงููุฉ ููุณุช ุญุฑุจูุง ุถุฏ ุงูุชุทุจูู ููุทโฆ ุจู ุถุฏ ุงูู parser ููุณู."
---
๐ฅ ูู ุงุฐุงุ
ูุฃู ุงูู ูุงุฌู ุฃุญูุงููุง:
> ูุง ูุนุฑู ุงูู Context ุจุฏูุฉ
---
๐ฅ ููุจูู payload ู ุฑู.
---
3) ๐ฃ ุงูุชุทุจูู (Real Advanced Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Filter Bypass
ุงูููุชุฑ:
block "<script>"
---
๐ฅ ุงูู ูุงุฌู ูุณุชุฎุฏู :
onerror
svg
malformed tags
---
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 2 โ Attribute Escape
ุงูุชุทุจูู:
<img alt="USER">
---
๐ฅ ุงูู ูุงุฌู :
" onerror=alert(1) x="
---
๐ฅ event injection
---
๐ฅ ุณููุงุฑูู 3 โ JavaScript Context Escape
ุฏุงุฎู:
var msg = "USER";
---
๐ฅ ุงูู ูุงุฌู :
ููุณุฑ ุงูู string.
---
๐ฅ arbitrary JS execution
---
๐ฅ ุณููุงุฑูู 4 โ Parser Differential
WAF ูุฑู:
encoded payload
ุงูู ุชุตูุญ ุจุนุฏ transformations: ููุณุฑู ูู executable code.
---
๐ฅ bypass
---
๐ฅ ุณููุงุฑูู 5 โ Mutation XSS
ุงูู ุชุตูุญ ููุณู:
ูุนุฏู DOM
ูุนูุฏ parsing
---
๐ฅ payload ูุชุญูู ูุดูู executable.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Advanced Defensive Thinking)
---
๐ 1) Context-Aware Escaping
ูุฐู ุฃูู ูุงุนุฏุฉ ูู XSS ูููุง.
---
๐ฅ HTML Context โ JS Context โ Attribute Context
---
๐ 2) ุงุณุชุฎุฏู Templating Engines ุขู ูุฉ
ุจุฏู:
string concatenation
---
๐ 3) ุชุฌูุจ Dangerous Sinks
ู ุซู:
innerHTML
outerHTML
eval
document.write
---
๐ 4) CSP
ููู:
ูุฌุจ ุถุจุทูุง ุฌูุฏูุง
unsafe-inline ูุถุนููุง
---
๐ 5) Sanitization Libraries
ู ุซู:
DOMPurify
ููู: โ ููุณุช ุจุฏูููุง ุนู ููู ุงูู Context
---
๐ 6) ูุง ุชุนุชู ุฏ ุนูู Blacklists
ูุฃู:
parser tricks ูุง ููุงุฆูุฉ ุชูุฑูุจูุง
---
๐ 7) ุงููู Browser Parsing Rules
ุงูุญู ุงูุฉ ุงูุญููููุฉ ุชุจุฏุฃ ู ู:
> ููู ููู ููุณุฑ ุงูู ุชุตูุญ ุงูุตูุญุฉ.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ Context Analysis
ุฎุฐ:
<input value="USER">
ุงุณุฃู:
ููู ุฃุฎุฑุฌ ู ู ุงูู attributeุ
---
๐งช ุชู ุฑูู 2 โ JavaScript Context
ุญูู:
var data = "USER";
ููู ูู ูู ูุณุฑ ุงูู stringุ
---
๐งช ุชู ุฑูู 3 โ Parser Thinking
ุฑุงูุจ:
ููู ูุตูุญ ุงูู ุชุตูุญ HTML ุงูู ูุณูุฑุ
---
๐งช ุชู ุฑูู 4 โ DOM Observation
ุงูุชุญ DevTools:
Elements
ุฑุงูุจ ููู ุจููู DOM ูุนูููุง
---
๐งช ุชู ุฑูู 5 โ Context Mapping
ููู input ุงุณุฃู:
ุฃูู ููุญููุ
ุฃู parser ุณููุณุฑูุ
ู ุง ุงูู escaping ุงูู ุทููุจุ
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุชุงุณุน ููุณ ุนู:
> โpayloads ูู XSSโ
ุจู ุนู:
> ููู ุชุคุฏู ููุงุนุฏ ุชูุณูุฑ ุงูู ุชุตูุญ ูุงูุณูุงูุงุช ุงูู ุฎุชููุฉ ุฅูู ุชุญููู ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ ุฅูู ููุฏ ู ูุซูู ูุนู ู ุฏุงุฎู ููุณ ุงูู Origin.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ุงูู XSS ุงูุงุญุชุฑุงููุฉ ููุณุช ุญุฑุจูุง ุถุฏ ุงูุชุทุจูู ููุทโฆ ุจู ุถุฏ ุงูู parser ููุณู."
๐
ุงูููู
10 โ DOM XSS + Client-Side Security Model
(ููู ุชุตุจุญ JavaScript ุฏุงุฎู ุงูู ุชุตูุญ ููุณูุง ู ุตุฏุฑ ุงูุซุบุฑุฉโฆ ููู ุงุฐุง ุชุบููุฑ ุชุทุจููุงุช SPA ุงูุญุฏูุซุฉ ุดูู ุงููุฌูู ุจุงููุงู ู)
> ูู ุงูุฃูุงู ุงูุณุงุจูุฉ ููู ูุง:
ููู ูุนู ู Browser Security Model
ููู ููุณุฑ ุงูู ุชุตูุญ HTML ูJavaScript
ููู ุชุธูุฑ XSS ุจุณุจุจ ุฎูุท ุงูุจูุงูุงุช ู ุน ุงูู Contexts
ููู ูู ูุฐุง ูุงู ุบุงูุจูุง:
๐น Server-side Rendering
ุงูููู ุณูุฏุฎู ุนุงูู ูุง ู ุฎุชูููุง:
Client-Side Applications
ุญูุซ:
JavaScript ุชุจูู ุงูุตูุญุฉ
DOM ูุชุบูุฑ ุฏููุงู ููููุง
ุงูุจูุงูุงุช ุชุชุญุฑู ุฏุงุฎู ุงูู ุชุตูุญ ููุณู
ูููุง ูุธูุฑ:
DOM XSS
ุงููุชุงุจ ูุฑุจุท ูุฐุง ุงูุฌุฒุก ุจู:
DOM interaction
Browser parsing
Client-side rendering
ูููู ุชุคุฏู ู ุนุงูุฌุฉ ุงูุจูุงูุงุช ุฏุงุฎู JavaScript ููุณูุง ุฅูู ุชูููุฐ ููุฏ ุฏุงุฎู ุงูู ุชุตูุญ ุจุฏูู ุฃู ูุฑู ุงูุณูุฑูุฑ ุงูู payload ุฃุตููุง
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ What DOM XSS REALLY Is)
---
๐น ุฃูููุง: ู ุง ุงููุฑู ุงูุฌููุฑู ุจูู XSS ุงูุนุงุฏูุฉ ูDOM XSSุ
ูู XSS ุงูุชูููุฏูุฉ:
Attacker โ Server โ Response โ Browser
ุงูุณูุฑูุฑ:
ูุณุชูุจู payload
ูุนูุฏูุง ูู HTML
ุงูู ุชุตูุญ ูููุฐูุง
---
๐ฅ ุฃู ุง ูู DOM XSS:
ุงูุณูุฑูุฑ ุฃุญูุงููุง:
> ูุง ูุฑู ุงูู payload ุฃุตููุง
---
๐ฅ ูุฃู:
> JavaScript ุฏุงุฎู ุงูู ุชุตูุญ ููุณูุง ูู ู ู ุชุนุงูุฌ ุงูุจูุงูุงุช ูุชุจูู ุงูู DOM.
---
๐ฅ ุฅุฐู DOM XSS ูู:
> ุซุบุฑุฉ ุชูุชุฌ ู ู ู ูุทู JavaScript ูู ุงูู ุชุตูุญุ ูููุณ ู ู ุงุณุชุฌุงุจุฉ ุงูุณูุฑูุฑ ู ุจุงุดุฑุฉ.
---
๐น ูู ุงุฐุง ุธูุฑุช DOM XSS ุฃุตููุงุ
ูุฃู ุชุทุจููุงุช ุงูููุจ ุชุทูุฑุช.
ูุฏูู ูุง:
ุงูุณูุฑูุฑ ูุจูู ุงูุตูุญุฉ ูุงู ูุฉ
ุงูููู :
React
Angular
Vue
SPAs
---
๐ฅ ุงูุตูุญุฉ ุฃุตุจุญุช:
> โุชุทุจูู JavaScriptโ
ูููุณ ู ุฌุฑุฏ HTML ุซุงุจุช.
---
๐ฅ ููุฐุง ุบููุฑ ูู ูุฐุฌ ุงูุซูุฉ ุจุงููุงู ู
ุงูุขู:
ุงูู ุชุตูุญ ูุนุงูุฌ ุงูุจูุงูุงุช
JavaScript ุชุจูู DOM
routes ุชูุฏุงุฑ client-side
state ุฏุงุฎู ุงูู ุชุตูุญ
---
๐ฃ ูุจุงูุชุงูู:
> ุฃุฎุทุงุก JavaScript ููุณูุง ุฃุตุจุญุช ุซุบุฑุงุช ุฃู ููุฉ.
---
๐น ู ุง ูู DOM ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู:
> โุชู ุซูู ุงูุตูุญุฉโ
ููู ุงูููู ุงูุญูููู:
DOM ูู:
> ุงูุจููุฉ ุงูุฏุงุฎููุฉ ุงูุญูุฉ ุงูุชู ูุณุชุฎุฏู ูุง ุงูู ุชุตูุญ ูุชู ุซูู ุงูุตูุญุฉ ูุงูุชูุงุนู ู ุนูุง.
---
๐ฅ ู ุงุฐุง ูุนูู โุญูุฉโุ
ุฃู JavaScript ุชุณุชุทูุน:
ุชุนุฏูููุง
ุฅูุดุงุก ุนูุงุตุฑ
ุญุฐู ุนูุงุตุฑ
ุชุดุบูู events
ุญูู HTML
---
๐ฅ ูุฐูู DOM:
> ููุณุช ู ุฌุฑุฏ ุนุฑุถ
ุจู:
> ุจูุฆุฉ ุชูููุฐ ุฏููุงู ูููุฉ
---
๐น ููู ุชุธูุฑ DOM XSSุ
ุงูููุฑุฉ ุงูุฌููุฑูุฉ:
JavaScript ุชุฃุฎุฐ:
Untrusted Input
ุซู ุชุฑุณูู ุฅูู:
Dangerous Sink
---
๐ฅ ุจุฏูู:
validation
sanitization
context handling
---
๐น ู ุง ูู Source ูู ุง ูู Sinkุ
ูุฐู ู ู ุฃูู ู ูุงููู DOM XSS.
---
๐น Source
ู ูุงู ุชุฃุชู ู ูู ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ.
ู ุซู:
URL
location.hash
location.search
postMessage
document.referrer
---
๐น Sink
ู ูุงู ุฎุทูุฑ ููุณุฑ ุงูุจูุงูุงุช ูููุฏ ุฃู HTML.
ู ุซู:
innerHTML
eval
document.write
setTimeout(string)
---
๐ฅ ุฅุฐู DOM XSS ูู:
Untrusted Source โ Dangerous Sink
---
๐น ูู ุงุฐุง DOM XSS ุฃุฎุทุฑ ุฃุญูุงููุงุ
ูุฃู:
ุงูุณูุฑูุฑ ูุง ูุฑุงูุง
WAF ูุฏ ูุง ูุฑุงูุง
logs ูุฏ ูุง ุชุญุชูููุง
ุงูุชุญููู ุงูุชูููุฏู ูุฏ ููุดู
---
๐ฅ ุฅุฐู ุงููุฌูู ูุญุฏุซ:
> ุจุงููุงู ู ุฏุงุฎู ุงูู ุชุตูุญ
---
๐น ููู ูููุฑ ุงูู ูุงุฌู ููุงุ
ูุง ูุจุญุซ ููุท ุนู:
<script>
ุจู ูุณุฃู:
ู ู ุฃูู ุชุฃุชู ุงูุจูุงูุงุชุ
ููู ุชุณุชุฎุฏู ูุง JavaScriptุ
ูู ุชุฏุฎู DOMุ
ูู ููุฌุฏ sink ุฎุทูุฑุ
ูู ูุชู parsingุ
ูู ููุฌุฏ framework escapingุ
---
2) โ๏ธ ุงูุขููุฉ (How DOM XSS Works โ Deep Client-Side Mechanics)
---
๐น ุงูุณููุงุฑูู ุงูุฃุณุงุณู
---
๐งฉ ุงูู ุฑุญูุฉ 1 โ ุงูู ุณุชุฎุฏู ูุฒูุฑ URL
https://site.com/#payload
---
๐งฉ ุงูู ุฑุญูุฉ 2 โ JavaScript ุชูุฑุฃ ุงูุจูุงูุงุช
location.hash
---
๐งฉ ุงูู ุฑุญูุฉ 3 โ JavaScript ุชุถุนูุง ุฏุงุฎู DOM
element.innerHTML = location.hash
---
๐งฉ ุงูู ุฑุญูุฉ 4 โ Browser Parsing
ุงูู browser ูุนูุฏ parsing ููู HTML.
---
๐งฉ ุงูู ุฑุญูุฉ 5 โ ุชูููุฐ JavaScript
---
๐ฅ DOM XSS
---
๐น ูู ุงุฐุง innerHTML ุฎุทูุฑ ุฌุฏูุงุ
ูุฃู:
innerHTML
ูุง ุชุถูู โูุตโ.
ุจู:
> ุชุทูุจ ู ู ุงูู ุชุตูุญ ุชูุณูุฑ ุงูุจูุงูุงุช ูู HTML ุญูููู.
---
๐ฅ ุฅุฐู ุฅุฐุง ุฃุฏุฎูุช:
<img src=x onerror=alert(1)>
---
๐ฅ ุงูู ุชุตูุญ:
ูุจูู ุนูุตุฑ IMG
ููุดุฆ event handler
ูููุฐ JavaScript
---
๐น textContent vs innerHTML
---
๐ฅ textContent
element.textContent = input
---
๐ง ู ุงุฐุง ูุญุฏุซุ
ุงูู ุชุตูุญ: โ ูุนุงู ููุง ููุต ููุท
---
๐ฅ innerHTML
element.innerHTML = input
---
๐ง ู ุงุฐุง ูุญุฏุซุ
ุงูู ุชุตูุญ: โ ูุนูุฏ parsing ูู HTML
---
๐ฃ ุงููุฑู ุงูุฃู ูู ุถุฎู ุฌุฏูุง.
---
๐น eval() ููู ุงุฐุง ูุนุชุจุฑ ูุงุฑุซุฉุ
eval(userInput)
---
๐ฅ eval:
> ูุดุบูู ุงููุต ูู JavaScript
---
๐ฃ ูุฐุง ูุนูู:
ุฃู input =
> arbitrary code execution ุฏุงุฎู ุงูู ุชุตูุญ
---
๐น document.write()
ูุฏูู ูุฎุทูุฑ ุฌุฏูุง.
---
(ููู ุชุตุจุญ JavaScript ุฏุงุฎู ุงูู ุชุตูุญ ููุณูุง ู ุตุฏุฑ ุงูุซุบุฑุฉโฆ ููู ุงุฐุง ุชุบููุฑ ุชุทุจููุงุช SPA ุงูุญุฏูุซุฉ ุดูู ุงููุฌูู ุจุงููุงู ู)
> ูู ุงูุฃูุงู ุงูุณุงุจูุฉ ููู ูุง:
ููู ูุนู ู Browser Security Model
ููู ููุณุฑ ุงูู ุชุตูุญ HTML ูJavaScript
ููู ุชุธูุฑ XSS ุจุณุจุจ ุฎูุท ุงูุจูุงูุงุช ู ุน ุงูู Contexts
ููู ูู ูุฐุง ูุงู ุบุงูุจูุง:
๐น Server-side Rendering
ุงูููู ุณูุฏุฎู ุนุงูู ูุง ู ุฎุชูููุง:
Client-Side Applications
ุญูุซ:
JavaScript ุชุจูู ุงูุตูุญุฉ
DOM ูุชุบูุฑ ุฏููุงู ููููุง
ุงูุจูุงูุงุช ุชุชุญุฑู ุฏุงุฎู ุงูู ุชุตูุญ ููุณู
ูููุง ูุธูุฑ:
DOM XSS
ุงููุชุงุจ ูุฑุจุท ูุฐุง ุงูุฌุฒุก ุจู:
DOM interaction
Browser parsing
Client-side rendering
ูููู ุชุคุฏู ู ุนุงูุฌุฉ ุงูุจูุงูุงุช ุฏุงุฎู JavaScript ููุณูุง ุฅูู ุชูููุฐ ููุฏ ุฏุงุฎู ุงูู ุชุตูุญ ุจุฏูู ุฃู ูุฑู ุงูุณูุฑูุฑ ุงูู payload ุฃุตููุง
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ What DOM XSS REALLY Is)
---
๐น ุฃูููุง: ู ุง ุงููุฑู ุงูุฌููุฑู ุจูู XSS ุงูุนุงุฏูุฉ ูDOM XSSุ
ูู XSS ุงูุชูููุฏูุฉ:
Attacker โ Server โ Response โ Browser
ุงูุณูุฑูุฑ:
ูุณุชูุจู payload
ูุนูุฏูุง ูู HTML
ุงูู ุชุตูุญ ูููุฐูุง
---
๐ฅ ุฃู ุง ูู DOM XSS:
ุงูุณูุฑูุฑ ุฃุญูุงููุง:
> ูุง ูุฑู ุงูู payload ุฃุตููุง
---
๐ฅ ูุฃู:
> JavaScript ุฏุงุฎู ุงูู ุชุตูุญ ููุณูุง ูู ู ู ุชุนุงูุฌ ุงูุจูุงูุงุช ูุชุจูู ุงูู DOM.
---
๐ฅ ุฅุฐู DOM XSS ูู:
> ุซุบุฑุฉ ุชูุชุฌ ู ู ู ูุทู JavaScript ูู ุงูู ุชุตูุญุ ูููุณ ู ู ุงุณุชุฌุงุจุฉ ุงูุณูุฑูุฑ ู ุจุงุดุฑุฉ.
---
๐น ูู ุงุฐุง ุธูุฑุช DOM XSS ุฃุตููุงุ
ูุฃู ุชุทุจููุงุช ุงูููุจ ุชุทูุฑุช.
ูุฏูู ูุง:
ุงูุณูุฑูุฑ ูุจูู ุงูุตูุญุฉ ูุงู ูุฉ
ุงูููู :
React
Angular
Vue
SPAs
---
๐ฅ ุงูุตูุญุฉ ุฃุตุจุญุช:
> โุชุทุจูู JavaScriptโ
ูููุณ ู ุฌุฑุฏ HTML ุซุงุจุช.
---
๐ฅ ููุฐุง ุบููุฑ ูู ูุฐุฌ ุงูุซูุฉ ุจุงููุงู ู
ุงูุขู:
ุงูู ุชุตูุญ ูุนุงูุฌ ุงูุจูุงูุงุช
JavaScript ุชุจูู DOM
routes ุชูุฏุงุฑ client-side
state ุฏุงุฎู ุงูู ุชุตูุญ
---
๐ฃ ูุจุงูุชุงูู:
> ุฃุฎุทุงุก JavaScript ููุณูุง ุฃุตุจุญุช ุซุบุฑุงุช ุฃู ููุฉ.
---
๐น ู ุง ูู DOM ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู:
> โุชู ุซูู ุงูุตูุญุฉโ
ููู ุงูููู ุงูุญูููู:
DOM ูู:
> ุงูุจููุฉ ุงูุฏุงุฎููุฉ ุงูุญูุฉ ุงูุชู ูุณุชุฎุฏู ูุง ุงูู ุชุตูุญ ูุชู ุซูู ุงูุตูุญุฉ ูุงูุชูุงุนู ู ุนูุง.
---
๐ฅ ู ุงุฐุง ูุนูู โุญูุฉโุ
ุฃู JavaScript ุชุณุชุทูุน:
ุชุนุฏูููุง
ุฅูุดุงุก ุนูุงุตุฑ
ุญุฐู ุนูุงุตุฑ
ุชุดุบูู events
ุญูู HTML
---
๐ฅ ูุฐูู DOM:
> ููุณุช ู ุฌุฑุฏ ุนุฑุถ
ุจู:
> ุจูุฆุฉ ุชูููุฐ ุฏููุงู ูููุฉ
---
๐น ููู ุชุธูุฑ DOM XSSุ
ุงูููุฑุฉ ุงูุฌููุฑูุฉ:
JavaScript ุชุฃุฎุฐ:
Untrusted Input
ุซู ุชุฑุณูู ุฅูู:
Dangerous Sink
---
๐ฅ ุจุฏูู:
validation
sanitization
context handling
---
๐น ู ุง ูู Source ูู ุง ูู Sinkุ
ูุฐู ู ู ุฃูู ู ูุงููู DOM XSS.
---
๐น Source
ู ูุงู ุชุฃุชู ู ูู ุงูุจูุงูุงุช ุบูุฑ ุงูู ูุซููุฉ.
ู ุซู:
URL
location.hash
location.search
postMessage
document.referrer
---
๐น Sink
ู ูุงู ุฎุทูุฑ ููุณุฑ ุงูุจูุงูุงุช ูููุฏ ุฃู HTML.
ู ุซู:
innerHTML
eval
document.write
setTimeout(string)
---
๐ฅ ุฅุฐู DOM XSS ูู:
Untrusted Source โ Dangerous Sink
---
๐น ูู ุงุฐุง DOM XSS ุฃุฎุทุฑ ุฃุญูุงููุงุ
ูุฃู:
ุงูุณูุฑูุฑ ูุง ูุฑุงูุง
WAF ูุฏ ูุง ูุฑุงูุง
logs ูุฏ ูุง ุชุญุชูููุง
ุงูุชุญููู ุงูุชูููุฏู ูุฏ ููุดู
---
๐ฅ ุฅุฐู ุงููุฌูู ูุญุฏุซ:
> ุจุงููุงู ู ุฏุงุฎู ุงูู ุชุตูุญ
---
๐น ููู ูููุฑ ุงูู ูุงุฌู ููุงุ
ูุง ูุจุญุซ ููุท ุนู:
<script>
ุจู ูุณุฃู:
ู ู ุฃูู ุชุฃุชู ุงูุจูุงูุงุชุ
ููู ุชุณุชุฎุฏู ูุง JavaScriptุ
ูู ุชุฏุฎู DOMุ
ูู ููุฌุฏ sink ุฎุทูุฑุ
ูู ูุชู parsingุ
ูู ููุฌุฏ framework escapingุ
---
2) โ๏ธ ุงูุขููุฉ (How DOM XSS Works โ Deep Client-Side Mechanics)
---
๐น ุงูุณููุงุฑูู ุงูุฃุณุงุณู
---
๐งฉ ุงูู ุฑุญูุฉ 1 โ ุงูู ุณุชุฎุฏู ูุฒูุฑ URL
https://site.com/#payload
---
๐งฉ ุงูู ุฑุญูุฉ 2 โ JavaScript ุชูุฑุฃ ุงูุจูุงูุงุช
location.hash
---
๐งฉ ุงูู ุฑุญูุฉ 3 โ JavaScript ุชุถุนูุง ุฏุงุฎู DOM
element.innerHTML = location.hash
---
๐งฉ ุงูู ุฑุญูุฉ 4 โ Browser Parsing
ุงูู browser ูุนูุฏ parsing ููู HTML.
---
๐งฉ ุงูู ุฑุญูุฉ 5 โ ุชูููุฐ JavaScript
---
๐ฅ DOM XSS
---
๐น ูู ุงุฐุง innerHTML ุฎุทูุฑ ุฌุฏูุงุ
ูุฃู:
innerHTML
ูุง ุชุถูู โูุตโ.
ุจู:
> ุชุทูุจ ู ู ุงูู ุชุตูุญ ุชูุณูุฑ ุงูุจูุงูุงุช ูู HTML ุญูููู.
---
๐ฅ ุฅุฐู ุฅุฐุง ุฃุฏุฎูุช:
<img src=x onerror=alert(1)>
---
๐ฅ ุงูู ุชุตูุญ:
ูุจูู ุนูุตุฑ IMG
ููุดุฆ event handler
ูููุฐ JavaScript
---
๐น textContent vs innerHTML
---
๐ฅ textContent
element.textContent = input
---
๐ง ู ุงุฐุง ูุญุฏุซุ
ุงูู ุชุตูุญ: โ ูุนุงู ููุง ููุต ููุท
---
๐ฅ innerHTML
element.innerHTML = input
---
๐ง ู ุงุฐุง ูุญุฏุซุ
ุงูู ุชุตูุญ: โ ูุนูุฏ parsing ูู HTML
---
๐ฃ ุงููุฑู ุงูุฃู ูู ุถุฎู ุฌุฏูุง.
---
๐น eval() ููู ุงุฐุง ูุนุชุจุฑ ูุงุฑุซุฉุ
eval(userInput)
---
๐ฅ eval:
> ูุดุบูู ุงููุต ูู JavaScript
---
๐ฃ ูุฐุง ูุนูู:
ุฃู input =
> arbitrary code execution ุฏุงุฎู ุงูู ุชุตูุญ
---
๐น document.write()
ูุฏูู ูุฎุทูุฑ ุฌุฏูุง.
---
๐ฅ ูู
ุงุฐุงุ
ูุฃูู:
ูุญูู HTML ู ุจุงุดุฑ
ูุนูุฏ parsing ููุตูุญุฉ
---
๐น setTimeout(string)
setTimeout(userInput)
---
๐ฃ ุฅุฐุง ูุงูุช String:
ูุชู ุชูุณูุฑูุง ูู JavaScript.
---
๐ฅ DOM-Based Routing
ูู SPAs:
route ุฃุญูุงููุง ุฏุงุฎู:
location.hash
---
๐ฃ ูุฅุฐุง ุจููู DOM ุจูุงุกู ุนููู:
ูุฏ ุชุธูุฑ DOM XSS.
---
๐น postMessage()
ูุงุฌูุฉ ู ูู ุฉ ุฌุฏูุง.
---
๐ง ูู ุงุฐุง ููุฌุฏุชุ
ููุชูุงุตู ุจูู:
windows
iframes
origins
---
๐ฃ ุงูู ุดููุฉ
ุฅุฐุง ูู ูุชู :
ุงูุชุญูู ู ู origin
sanitization
---
๐ฅ DOM XSS ุฃู Cross-origin attacks
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Hash-Based DOM XSS
ุงูุชุทุจูู:
page.innerHTML = location.hash
---
๐ฅ ุงูู ูุงุฌู ูุฑุณู:
#<img src=x onerror=alert(1)>
---
๐ฅ JavaScript ุชููุฐ ุฏุงุฎู Origin ุงูู ููุน.
---
๐ฅ ุณููุงุฑูู 2 โ postMessage Abuse
iframe ูุณุชูุจู:
window.onmessage
ุจุฏูู:
origin validation
---
๐ฅ attacker ูุฑุณู payload.
---
๐ฅ ุณููุงุฑูู 3 โ eval Injection
eval(location.search)
---
๐ฅ Remote JS execution.
---
๐ฅ ุณููุงุฑูู 4 โ SPA Route Injection
/#/profile/<payload>
---
๐ฅ route parser ูุจูู DOM ุบูุฑ ุขู ู.
---
๐ฅ ุณููุงุฑูู 5 โ localStorage Token Theft
XSS ุชุณุชุทูุน:
localStorage.getItem("jwt")
---
๐ฅ ุณุฑูุฉ ุงูุชููู.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Deep Client-Side Security Thinking)
---
๐ 1) ุชุฌูุจ Dangerous Sinks
ุฎุตูุตูุง:
innerHTML
eval
document.write
---
๐ 2) ุงุณุชุฎุฏู Safe APIs
ู ุซู:
textContent
createElement
---
๐ 3) Sanitization
ููู:
ุญุณุจ ุงูู Context
---
๐ 4) Trusted Types
ูุฐู ุชูููุฉ ุญุฏูุซุฉ ู ูู ุฉ ุฌุฏูุง.
---
๐ง ููุฑุชูุง:
ู ูุน:
innerHTML = arbitrary string
ุฅูุง ุฅุฐุง ูุงูุช ุงูุจูุงูุงุช:
> ู ูุซููุฉ ูุตููุนุช ุนุจุฑ policy ู ุญุฏุฏุฉ.
---
๐ 5) CSP
ุฎุตูุตูุง:
ู ูุน inline scripts
ู ูุน eval
---
๐ 6) ูุง ุชุซู ุจู:
URL
postMessage
referrer
---
๐ 7) Framework Security
React ู ุซููุง:
ููุฑุจ HTML ุงูุชุฑุงุถููุง
ููู:
dangerouslySetInnerHTML
ูุนูุฏ ุงูุฎุทุฑ.
---
๐ 8) ุงููู Data Flow
ุงูุญู ุงูุฉ ุงูุญููููุฉ ุชุจุฏุฃ ู ู:
> ู ุนุฑูุฉ ููู ุชุชุญุฑู ุงูุจูุงูุงุช ุฏุงุฎู ุงูุชุทุจูู.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ Source/Sink Mapping
ุงูุชุญ ุฃู SPA.
ุญุงูู ุชุญุฏูุฏ:
Sources
Sinks
---
๐งช ุชู ุฑูู 2 โ DOM Inspection
ุฑุงูุจ:
ููู ุชุจูู JavaScript ุงูู DOMุ
---
๐งช ุชู ุฑูู 3 โ innerHTML Hunting
ุงุจุญุซ:
innerHTML
---
๐งช ุชู ุฑูู 4 โ URL Flow Analysis
ุบููุฑ:
hash
query params
ูุดุงูุฏ:
ูู ุชุชุบูุฑ ุงูุตูุญุฉ ุฏููุงู ููููุงุ
---
๐งช ุชู ุฑูู 5 โ postMessage Analysis
ุฑุงูุจ:
message listeners
origin checks
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุนุงุดุฑ ููุณ ุนู:
> โููุน ุขุฎุฑ ู ู XSSโ
ุจู ุนู:
> ููู ุชุญููุช JavaScript ุฏุงุฎู ุงูู ุชุตูุญ ููุณูุง ุฅูู ุฌุฒุก ู ู ุณุทุญ ุงููุฌูู ุ ูููู ุฃุตุจุญุช ุงูุจูุงูุงุช ุชุชุญุฑู ูุชููุณุฑ ุจุงููุงู ู ุฏุงุฎู ุงูู Client ุจุฏู ุงูุณูุฑูุฑ.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ูู DOM XSSโฆ ุงูุฎุทุฑ ููุณ ููุท ูู ุงูุจูุงูุงุช ุงูุชู ุชุตู ู ู ุงูุณูุฑูุฑุ ุจู ูู ุงูุทุฑููุฉ ุงูุชู ุชุนุงูุฌ ุจูุง JavaScript ุงูุจูุงูุงุช ุฏุงุฎู ุงูู ุชุตูุญ ููุณู."
ูุฃูู:
ูุญูู HTML ู ุจุงุดุฑ
ูุนูุฏ parsing ููุตูุญุฉ
---
๐น setTimeout(string)
setTimeout(userInput)
---
๐ฃ ุฅุฐุง ูุงูุช String:
ูุชู ุชูุณูุฑูุง ูู JavaScript.
---
๐ฅ DOM-Based Routing
ูู SPAs:
route ุฃุญูุงููุง ุฏุงุฎู:
location.hash
---
๐ฃ ูุฅุฐุง ุจููู DOM ุจูุงุกู ุนููู:
ูุฏ ุชุธูุฑ DOM XSS.
---
๐น postMessage()
ูุงุฌูุฉ ู ูู ุฉ ุฌุฏูุง.
---
๐ง ูู ุงุฐุง ููุฌุฏุชุ
ููุชูุงุตู ุจูู:
windows
iframes
origins
---
๐ฃ ุงูู ุดููุฉ
ุฅุฐุง ูู ูุชู :
ุงูุชุญูู ู ู origin
sanitization
---
๐ฅ DOM XSS ุฃู Cross-origin attacks
---
3) ๐ฃ ุงูุชุทุจูู (Real Attack Scenarios)
---
๐ฅ ุณููุงุฑูู 1 โ Hash-Based DOM XSS
ุงูุชุทุจูู:
page.innerHTML = location.hash
---
๐ฅ ุงูู ูุงุฌู ูุฑุณู:
#<img src=x onerror=alert(1)>
---
๐ฅ JavaScript ุชููุฐ ุฏุงุฎู Origin ุงูู ููุน.
---
๐ฅ ุณููุงุฑูู 2 โ postMessage Abuse
iframe ูุณุชูุจู:
window.onmessage
ุจุฏูู:
origin validation
---
๐ฅ attacker ูุฑุณู payload.
---
๐ฅ ุณููุงุฑูู 3 โ eval Injection
eval(location.search)
---
๐ฅ Remote JS execution.
---
๐ฅ ุณููุงุฑูู 4 โ SPA Route Injection
/#/profile/<payload>
---
๐ฅ route parser ูุจูู DOM ุบูุฑ ุขู ู.
---
๐ฅ ุณููุงุฑูู 5 โ localStorage Token Theft
XSS ุชุณุชุทูุน:
localStorage.getItem("jwt")
---
๐ฅ ุณุฑูุฉ ุงูุชููู.
---
4) ๐ก๏ธ ุงูุญู ุงูุฉ (Defense โ Deep Client-Side Security Thinking)
---
๐ 1) ุชุฌูุจ Dangerous Sinks
ุฎุตูุตูุง:
innerHTML
eval
document.write
---
๐ 2) ุงุณุชุฎุฏู Safe APIs
ู ุซู:
textContent
createElement
---
๐ 3) Sanitization
ููู:
ุญุณุจ ุงูู Context
---
๐ 4) Trusted Types
ูุฐู ุชูููุฉ ุญุฏูุซุฉ ู ูู ุฉ ุฌุฏูุง.
---
๐ง ููุฑุชูุง:
ู ูุน:
innerHTML = arbitrary string
ุฅูุง ุฅุฐุง ูุงูุช ุงูุจูุงูุงุช:
> ู ูุซููุฉ ูุตููุนุช ุนุจุฑ policy ู ุญุฏุฏุฉ.
---
๐ 5) CSP
ุฎุตูุตูุง:
ู ูุน inline scripts
ู ูุน eval
---
๐ 6) ูุง ุชุซู ุจู:
URL
postMessage
referrer
---
๐ 7) Framework Security
React ู ุซููุง:
ููุฑุจ HTML ุงูุชุฑุงุถููุง
ููู:
dangerouslySetInnerHTML
ูุนูุฏ ุงูุฎุทุฑ.
---
๐ 8) ุงููู Data Flow
ุงูุญู ุงูุฉ ุงูุญููููุฉ ุชุจุฏุฃ ู ู:
> ู ุนุฑูุฉ ููู ุชุชุญุฑู ุงูุจูุงูุงุช ุฏุงุฎู ุงูุชุทุจูู.
---
5) ๐งช ุงูุชุฏุฑูุจ ุงูุนู ูู (Professional Labs)
---
๐งช ุชู ุฑูู 1 โ Source/Sink Mapping
ุงูุชุญ ุฃู SPA.
ุญุงูู ุชุญุฏูุฏ:
Sources
Sinks
---
๐งช ุชู ุฑูู 2 โ DOM Inspection
ุฑุงูุจ:
ููู ุชุจูู JavaScript ุงูู DOMุ
---
๐งช ุชู ุฑูู 3 โ innerHTML Hunting
ุงุจุญุซ:
innerHTML
---
๐งช ุชู ุฑูู 4 โ URL Flow Analysis
ุบููุฑ:
hash
query params
ูุดุงูุฏ:
ูู ุชุชุบูุฑ ุงูุตูุญุฉ ุฏููุงู ููููุงุ
---
๐งช ุชู ุฑูู 5 โ postMessage Analysis
ุฑุงูุจ:
message listeners
origin checks
---
๐ง ุฎูุงุตุฉ ุงูููู (ุงูููู ุงูุญูููู)
ุงูููู ุงูุนุงุดุฑ ููุณ ุนู:
> โููุน ุขุฎุฑ ู ู XSSโ
ุจู ุนู:
> ููู ุชุญููุช JavaScript ุฏุงุฎู ุงูู ุชุตูุญ ููุณูุง ุฅูู ุฌุฒุก ู ู ุณุทุญ ุงููุฌูู ุ ูููู ุฃุตุจุญุช ุงูุจูุงูุงุช ุชุชุญุฑู ูุชููุณุฑ ุจุงููุงู ู ุฏุงุฎู ุงูู Client ุจุฏู ุงูุณูุฑูุฑ.
---
๐ฏ ุฃูู ููุฑุฉ ูู ุงูููู
> "ูู DOM XSSโฆ ุงูุฎุทุฑ ููุณ ููุท ูู ุงูุจูุงูุงุช ุงูุชู ุชุตู ู ู ุงูุณูุฑูุฑุ ุจู ูู ุงูุทุฑููุฉ ุงูุชู ุชุนุงูุฌ ุจูุง JavaScript ุงูุจูุงูุงุช ุฏุงุฎู ุงูู ุชุตูุญ ููุณู."
๐
ุงูููู
11 โ CSRF (Cross-Site Request Forgery)
(ููู ูุฎุฏุน ุงูู ูุงุฌู ุงูู ุชุตูุญ ููุณุชุฎุฏู โุซูุฉ ุงูุฌูุณุฉโ ุถุฏ ุตุงุญุจูุง)
> CSRF ู ู ุฃูุซุฑ ุงูุซุบุฑุงุช ุงูุชู ููุณุงุก ููู ูุง.
ูุซูุฑ ู ู ุงูุดุฑูุญุงุช ุชููู:
> โุงูู ููุน ูููุฐ ุทูุจุงุช ุจุฏูู ุชุญููโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
CSRF ูู ุงูุนู ู ูู:
ุงุณุชุบูุงู ุงูุนูุงูุฉ ุจูู:
ุงูู ุชุตูุญ
ุงูุฌูุณุฉ Session
ูุงูุซูุฉ ุงูุชููุงุฆูุฉ ูู Cookies
ููู ุชุนุชู ุฏ ู ุจุงุดุฑุฉ ุนูู:
HTTP Statelessness
Cookies
Same-Origin Policy
Browser Behavior
ุงูุชู ุฏุฑุณูุงูุง ุณุงุจููุง.
ุงููุชุงุจ ูุฑุจุท CSRF ุจู:
Cookies
Session handling
Browser automatic credential sending
SameSite
Referer/Origin validation
ูููู ุชุคุฏู ุงูุซูุฉ ุงูุชููุงุฆูุฉ ุจุงูุฌูุณุฉ ุฅูู ุชูููุฐ ุฃูุงู ุฑ ุบูุฑ ู ูุตูุฏุฉ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ What CSRF REALLY Is)
---
๐น ุฃูููุง: ู ุง ูู CSRF ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู:
> โุฅุฑุณุงู ุทูุจ ุจุงุณู ุงูุถุญูุฉโ
ููู ูุฐุง ูุง ูุดุฑุญ ุฌููุฑ ุงูู ุดููุฉ.
---
๐ฅ ุงูููู ุงูุญูููู
CSRF ูู:
> ุฎุฏุงุน ุงูู ุชุตูุญ ููุณุชุฎุฏู Session ุงูุถุญูุฉ ูู ุชูููุฐ Request ูู ููุตุฏู ุงูู ุณุชุฎุฏู .
---
๐ฅ ููุฐู ููุทุฉ ู ูู ุฉ ุฌุฏูุง
ุงูู ูุงุฌู ุบุงูุจูุง: โ ูุง ูุณุฑู Cookie
โ ูุง ูุนุฑู Session ID
โ ูุง ููุณุฑ Authentication
---
๐ฃ ุจู:
> ูุฌุนู ุงูู ุชุตูุญ ููุณู ูุฑุณู ุงูุทูุจ ุงูุดุฑุนู.
---
๐น ูู ุงุฐุง ูุญุฏุซ ูุฐุง ุฃุตููุงุ
ูุฃู ุงูู ุชุตูุญ ุตูู ู ููููู:
> โู ุฑูุญูุงโ
---
๐ฅ ู ุงุฐุง ูุนูู ุฐููุ
ุฅุฐุง ููุช ู ุณุฌู ุฏุฎูู ูู:
bank.com
ูุงูู ุชุตูุญ ุชููุงุฆููุง: โ ูุฑุณู Cookies
โ ู ุน ูู Request
โ ููุฐุง ุงูู ููุน
---
๐ฅ ููุฐู ู ูุฒุฉ usability
ููููุง ุฃุตุจุญุช:
> ู ุดููุฉ ุฃู ููุฉ ุฎุทูุฑุฉ
---
๐น ุงูุนูุงูุฉ ุจูู SOP ูCSRF
ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง.
---
๐ง ูุซูุฑ ู ู ุงููุงุณ ูุนุชูุฏูู:
> โSOP ุชู ูุน CSRFโ
ููู ุงูุญูููุฉ:
โ SOP ูุง ุชู ูุน ุฅุฑุณุงู ุงูุทูุจุงุช
โ SOP ุชู ูุน ูุฑุงุกุฉ ุงูุฑุฏูุฏ
---
๐ฅ ููุฐู ููุทุฉ ุฌููุฑูุฉ
evil.com ูุณุชุทูุน: โ ุฌุนู ุงูู ุชุตูุญ ูุฑุณู Request ุฅูู bank.com
ููู: โ ูุง ูุณุชุทูุน ูุฑุงุกุฉ response ุบุงูุจูุง.
---
๐ฅ ููู ูู CSRF:
ุงูู ูุงุฌู ูุง ููุชู ุจุงูุฑุฏ ุฃุตููุง.
---
๐ฃ ูู ููุท ูุฑูุฏ:
> ุชูููุฐ Action
---
๐น ูู ุงุฐุง ุชุนุชุจุฑ CSRF โConfused Deputy Problemโุ
ูุฐู ููุฑุฉ ู ุนู ุงุฑูุฉ ู ูู ุฉ ุฌุฏูุง.
---
๐ง ู ู ูู ุงูู Deputy ููุงุ
ุงูู ุชุตูุญ.
---
๐ฅ ุงูู ุชุตูุญ ูู ูู:
Session ุงูุถุญูุฉ
Cookies ุงูุถุญูุฉ
ุตูุงุญูุงุช ุงูุถุญูุฉ
---
๐ฃ ูุงูู ูุงุฌู :
> ูุฎุฏุน ุงูู ุชุตูุญ ูุงุณุชุฎุฏุงู ูุฐู ุงูุตูุงุญูุงุช ูู ุชูููุฐ ุทูุจ ุถุงุฑ.
---
๐น ูู ุงุฐุง GET Requests ุฎุทูุฑุฉ ุฌุฏูุง ููุงุ
ูุฃู:
ุงูุตูุฑ
ุงูุฑูุงุจุท
iframes
preloaders
ูุฏ ุชุฑุณู GET Requests ุชููุงุฆููุง.
---
๐ฅ ูุฐูู:
> GET ูุฌุจ ุฃูุง ูุบูุฑ ุญุงูุฉ ุงููุธุงู (State)
---
๐น ููู ูููุฑ ุงูู ูุงุฌู ูู CSRFุ
ูุง ูุณุฃู:
> โูู ุชูุฌุฏ ุซุบุฑุฉ XSSุโ
ุจู:
ูู ุงูู ุณุชุฎุฏู ูุนุชู ุฏ ุนูู Cookiesุ
ูู ุงูุทูุจ ูุญุชุงุฌ tokenุ
ูู ููุฌุฏ SameSiteุ
ูู ุงูุทูุจ ูุงุจู ููุชุฎู ููุ
ูู ูู ูู ุฅุฑุณุงูู Cross-siteุ
ูู ููุฌุฏ Origin validationุ
ูู ุงูู action ุญุณุงุณุ
---
๐ฅ CSRF ููุณุช:
> โูุฌูู ุนูู ุงูุณูุฑูุฑโ
ุจู:
> โุงุณุชุบูุงู ูุณููู ุงูู ุชุตูุญโ
---
2) โ๏ธ ุงูุขููุฉ (How CSRF Works โ Deep Browser Mechanics)
---
๐น ุงูุณููุงุฑูู ุงููุงู ู
---
๐งฉ ุงูู ุฑุญูุฉ 1 โ ุงูู ุณุชุฎุฏู ูุณุฌู ุงูุฏุฎูู
Set-Cookie: session=abc123
---
๐งฉ ุงูู ุฑุญูุฉ 2 โ ุงูู ุชุตูุญ ูุฎุฒู Cookie
---
๐งฉ ุงูู ุฑุญูุฉ 3 โ ุงูู ุณุชุฎุฏู ูุฒูุฑ evil.com
---
๐งฉ ุงูู ุฑุญูุฉ 4 โ evil.com ููุดุฆ Request
ู ุซู:
<img src="https://bank.com/transfer?amount=1000">
---
๐งฉ ุงูู ุฑุญูุฉ 5 โ ุงูู ุชุตูุญ ูุฑุณู ุงูุทูุจ
ูู ุนู ุชููุงุฆููุง:
Cookie: session=abc123
---
๐งฉ ุงูู ุฑุญูุฉ 6 โ bank.com ูุฑู:
โ Session ุตุญูุญุฉ
โ Request ุตุญูุญ
---
๐ฅ ููููุฐ ุงูุนู ููุฉ.
---
๐ฅ ุงูุขู ุงูููุทุฉ ุงูุฌููุฑูุฉ
ุงูุณูุฑูุฑ:
> ูุง ูุนุฑู โููุฉ ุงูู ุณุชุฎุฏู โ
ุจู ูุฑู ููุท:
Session ุตุญูุญุฉ
Request ุตุญูุญ
---
๐น ูู ุงุฐุง Cookies ุฃุณุงุณ ุงูู ุดููุฉุ
ูุฃููุง: โ ุชูุฑุณู ุชููุงุฆููุง
โ ุจุฏูู ุชุฏุฎู ุงูู ุณุชุฎุฏู
---
๐ฅ ูู ุงุญุชุงุฌ ุงูู ุณุชุฎุฏู ุฅุฏุฎุงู Token ูุฏูููุง ุฏุงุฆู ูุง:
> CSRF ุชุตุจุญ ุฃุตุนุจ ุจูุซูุฑ.
---
๐น ูู ุงุฐุง ูุง ุชู ูุน SOP ูุฐุงุ
ูุฃู ุงูููุจ ูุญุชุงุฌ:
ุชุญู ูู ุตูุฑ
forms
resources
embeds
ู ู ู ูุงูุน ู ุฎุชููุฉ.
---
๐ฅ ูุฐูู ุงูู ุชุตูุญ ูุณู ุญ:
โ ุจุฅุฑุณุงู ุงูุทูุจุงุช Cross-site
---
๐ฅ ููู:
โ ูู ูุน ูุฑุงุกุฉ ุงูุฑุฏูุฏ
---
๐น Origin & Referer
ุงูู ุชุตูุญ ุบุงูุจูุง ูุฑุณู:
Origin: https://evil.com
ุฃู:
Referer: https://evil.com
---
๐ฅ ูุฐูู ุจุนุถ ุงูุฃูุธู ุฉ ุชุชุญูู ู ููุง.
---
๐ฃ ููู:
ููุณุช ุฏุงุฆู ูุง ู ูุฌูุฏุฉ
proxies ูุฏ ุชุบูุฑูุง
privacy tools ูุฏ ุชุญุฐููุง
---
๐น SameSite Cookies
ุงููุชุงุจ ูุดุฑุญ SameSite ูุญู ู ูู ุถุฏ CSRF
---
๐ฅ ููู ุชุนู ูุ
ุงูู ุชุตูุญ:
> ููุฑุฑ ู ุชู ูุฑุณู Cookie Cross-site
---
๐น SameSite=None
Cookie ุชูุฑุณู ุฏุงุฆู ูุง.
---
๐น SameSite=Lax
ุชููู ุจุนุถ Cross-site requests.
---
๐น SameSite=Strict
ุชูุฑูุจูุง ุชู ูุน ุฅุฑุณุงููุง Cross-site.
---
๐ฅ ููู:
ูุฏ ุชุคุซุฑ ุนูู usability.
---
(ููู ูุฎุฏุน ุงูู ูุงุฌู ุงูู ุชุตูุญ ููุณุชุฎุฏู โุซูุฉ ุงูุฌูุณุฉโ ุถุฏ ุตุงุญุจูุง)
> CSRF ู ู ุฃูุซุฑ ุงูุซุบุฑุงุช ุงูุชู ููุณุงุก ููู ูุง.
ูุซูุฑ ู ู ุงูุดุฑูุญุงุช ุชููู:
> โุงูู ููุน ูููุฐ ุทูุจุงุช ุจุฏูู ุชุญููโ
ููู ูุฐุง ููุณ ุงูููู ุงูุญูููู.
CSRF ูู ุงูุนู ู ูู:
ุงุณุชุบูุงู ุงูุนูุงูุฉ ุจูู:
ุงูู ุชุตูุญ
ุงูุฌูุณุฉ Session
ูุงูุซูุฉ ุงูุชููุงุฆูุฉ ูู Cookies
ููู ุชุนุชู ุฏ ู ุจุงุดุฑุฉ ุนูู:
HTTP Statelessness
Cookies
Same-Origin Policy
Browser Behavior
ุงูุชู ุฏุฑุณูุงูุง ุณุงุจููุง.
ุงููุชุงุจ ูุฑุจุท CSRF ุจู:
Cookies
Session handling
Browser automatic credential sending
SameSite
Referer/Origin validation
ูููู ุชุคุฏู ุงูุซูุฉ ุงูุชููุงุฆูุฉ ุจุงูุฌูุณุฉ ุฅูู ุชูููุฐ ุฃูุงู ุฑ ุบูุฑ ู ูุตูุฏุฉ
---
1) ๐ง ุงูููู ุงููุธุฑู (Concept โ What CSRF REALLY Is)
---
๐น ุฃูููุง: ู ุง ูู CSRF ูุนููุงุ
ุงูุดุฑุญ ุงูุณุทุญู:
> โุฅุฑุณุงู ุทูุจ ุจุงุณู ุงูุถุญูุฉโ
ููู ูุฐุง ูุง ูุดุฑุญ ุฌููุฑ ุงูู ุดููุฉ.
---
๐ฅ ุงูููู ุงูุญูููู
CSRF ูู:
> ุฎุฏุงุน ุงูู ุชุตูุญ ููุณุชุฎุฏู Session ุงูุถุญูุฉ ูู ุชูููุฐ Request ูู ููุตุฏู ุงูู ุณุชุฎุฏู .
---
๐ฅ ููุฐู ููุทุฉ ู ูู ุฉ ุฌุฏูุง
ุงูู ูุงุฌู ุบุงูุจูุง: โ ูุง ูุณุฑู Cookie
โ ูุง ูุนุฑู Session ID
โ ูุง ููุณุฑ Authentication
---
๐ฃ ุจู:
> ูุฌุนู ุงูู ุชุตูุญ ููุณู ูุฑุณู ุงูุทูุจ ุงูุดุฑุนู.
---
๐น ูู ุงุฐุง ูุญุฏุซ ูุฐุง ุฃุตููุงุ
ูุฃู ุงูู ุชุตูุญ ุตูู ู ููููู:
> โู ุฑูุญูุงโ
---
๐ฅ ู ุงุฐุง ูุนูู ุฐููุ
ุฅุฐุง ููุช ู ุณุฌู ุฏุฎูู ูู:
bank.com
ูุงูู ุชุตูุญ ุชููุงุฆููุง: โ ูุฑุณู Cookies
โ ู ุน ูู Request
โ ููุฐุง ุงูู ููุน
---
๐ฅ ููุฐู ู ูุฒุฉ usability
ููููุง ุฃุตุจุญุช:
> ู ุดููุฉ ุฃู ููุฉ ุฎุทูุฑุฉ
---
๐น ุงูุนูุงูุฉ ุจูู SOP ูCSRF
ูุฐู ููุทุฉ ุงุญุชุฑุงููุฉ ุฌุฏูุง.
---
๐ง ูุซูุฑ ู ู ุงููุงุณ ูุนุชูุฏูู:
> โSOP ุชู ูุน CSRFโ
ููู ุงูุญูููุฉ:
โ SOP ูุง ุชู ูุน ุฅุฑุณุงู ุงูุทูุจุงุช
โ SOP ุชู ูุน ูุฑุงุกุฉ ุงูุฑุฏูุฏ
---
๐ฅ ููุฐู ููุทุฉ ุฌููุฑูุฉ
evil.com ูุณุชุทูุน: โ ุฌุนู ุงูู ุชุตูุญ ูุฑุณู Request ุฅูู bank.com
ููู: โ ูุง ูุณุชุทูุน ูุฑุงุกุฉ response ุบุงูุจูุง.
---
๐ฅ ููู ูู CSRF:
ุงูู ูุงุฌู ูุง ููุชู ุจุงูุฑุฏ ุฃุตููุง.
---
๐ฃ ูู ููุท ูุฑูุฏ:
> ุชูููุฐ Action
---
๐น ูู ุงุฐุง ุชุนุชุจุฑ CSRF โConfused Deputy Problemโุ
ูุฐู ููุฑุฉ ู ุนู ุงุฑูุฉ ู ูู ุฉ ุฌุฏูุง.
---
๐ง ู ู ูู ุงูู Deputy ููุงุ
ุงูู ุชุตูุญ.
---
๐ฅ ุงูู ุชุตูุญ ูู ูู:
Session ุงูุถุญูุฉ
Cookies ุงูุถุญูุฉ
ุตูุงุญูุงุช ุงูุถุญูุฉ
---
๐ฃ ูุงูู ูุงุฌู :
> ูุฎุฏุน ุงูู ุชุตูุญ ูุงุณุชุฎุฏุงู ูุฐู ุงูุตูุงุญูุงุช ูู ุชูููุฐ ุทูุจ ุถุงุฑ.
---
๐น ูู ุงุฐุง GET Requests ุฎุทูุฑุฉ ุฌุฏูุง ููุงุ
ูุฃู:
ุงูุตูุฑ
ุงูุฑูุงุจุท
iframes
preloaders
ูุฏ ุชุฑุณู GET Requests ุชููุงุฆููุง.
---
๐ฅ ูุฐูู:
> GET ูุฌุจ ุฃูุง ูุบูุฑ ุญุงูุฉ ุงููุธุงู (State)
---
๐น ููู ูููุฑ ุงูู ูุงุฌู ูู CSRFุ
ูุง ูุณุฃู:
> โูู ุชูุฌุฏ ุซุบุฑุฉ XSSุโ
ุจู:
ูู ุงูู ุณุชุฎุฏู ูุนุชู ุฏ ุนูู Cookiesุ
ูู ุงูุทูุจ ูุญุชุงุฌ tokenุ
ูู ููุฌุฏ SameSiteุ
ูู ุงูุทูุจ ูุงุจู ููุชุฎู ููุ
ูู ูู ูู ุฅุฑุณุงูู Cross-siteุ
ูู ููุฌุฏ Origin validationุ
ูู ุงูู action ุญุณุงุณุ
---
๐ฅ CSRF ููุณุช:
> โูุฌูู ุนูู ุงูุณูุฑูุฑโ
ุจู:
> โุงุณุชุบูุงู ูุณููู ุงูู ุชุตูุญโ
---
2) โ๏ธ ุงูุขููุฉ (How CSRF Works โ Deep Browser Mechanics)
---
๐น ุงูุณููุงุฑูู ุงููุงู ู
---
๐งฉ ุงูู ุฑุญูุฉ 1 โ ุงูู ุณุชุฎุฏู ูุณุฌู ุงูุฏุฎูู
Set-Cookie: session=abc123
---
๐งฉ ุงูู ุฑุญูุฉ 2 โ ุงูู ุชุตูุญ ูุฎุฒู Cookie
---
๐งฉ ุงูู ุฑุญูุฉ 3 โ ุงูู ุณุชุฎุฏู ูุฒูุฑ evil.com
---
๐งฉ ุงูู ุฑุญูุฉ 4 โ evil.com ููุดุฆ Request
ู ุซู:
<img src="https://bank.com/transfer?amount=1000">
---
๐งฉ ุงูู ุฑุญูุฉ 5 โ ุงูู ุชุตูุญ ูุฑุณู ุงูุทูุจ
ูู ุนู ุชููุงุฆููุง:
Cookie: session=abc123
---
๐งฉ ุงูู ุฑุญูุฉ 6 โ bank.com ูุฑู:
โ Session ุตุญูุญุฉ
โ Request ุตุญูุญ
---
๐ฅ ููููุฐ ุงูุนู ููุฉ.
---
๐ฅ ุงูุขู ุงูููุทุฉ ุงูุฌููุฑูุฉ
ุงูุณูุฑูุฑ:
> ูุง ูุนุฑู โููุฉ ุงูู ุณุชุฎุฏู โ
ุจู ูุฑู ููุท:
Session ุตุญูุญุฉ
Request ุตุญูุญ
---
๐น ูู ุงุฐุง Cookies ุฃุณุงุณ ุงูู ุดููุฉุ
ูุฃููุง: โ ุชูุฑุณู ุชููุงุฆููุง
โ ุจุฏูู ุชุฏุฎู ุงูู ุณุชุฎุฏู
---
๐ฅ ูู ุงุญุชุงุฌ ุงูู ุณุชุฎุฏู ุฅุฏุฎุงู Token ูุฏูููุง ุฏุงุฆู ูุง:
> CSRF ุชุตุจุญ ุฃุตุนุจ ุจูุซูุฑ.
---
๐น ูู ุงุฐุง ูุง ุชู ูุน SOP ูุฐุงุ
ูุฃู ุงูููุจ ูุญุชุงุฌ:
ุชุญู ูู ุตูุฑ
forms
resources
embeds
ู ู ู ูุงูุน ู ุฎุชููุฉ.
---
๐ฅ ูุฐูู ุงูู ุชุตูุญ ูุณู ุญ:
โ ุจุฅุฑุณุงู ุงูุทูุจุงุช Cross-site
---
๐ฅ ููู:
โ ูู ูุน ูุฑุงุกุฉ ุงูุฑุฏูุฏ
---
๐น Origin & Referer
ุงูู ุชุตูุญ ุบุงูุจูุง ูุฑุณู:
Origin: https://evil.com
ุฃู:
Referer: https://evil.com
---
๐ฅ ูุฐูู ุจุนุถ ุงูุฃูุธู ุฉ ุชุชุญูู ู ููุง.
---
๐ฃ ููู:
ููุณุช ุฏุงุฆู ูุง ู ูุฌูุฏุฉ
proxies ูุฏ ุชุบูุฑูุง
privacy tools ูุฏ ุชุญุฐููุง
---
๐น SameSite Cookies
ุงููุชุงุจ ูุดุฑุญ SameSite ูุญู ู ูู ุถุฏ CSRF
---
๐ฅ ููู ุชุนู ูุ
ุงูู ุชุตูุญ:
> ููุฑุฑ ู ุชู ูุฑุณู Cookie Cross-site
---
๐น SameSite=None
Cookie ุชูุฑุณู ุฏุงุฆู ูุง.
---
๐น SameSite=Lax
ุชููู ุจุนุถ Cross-site requests.
---
๐น SameSite=Strict
ุชูุฑูุจูุง ุชู ูุน ุฅุฑุณุงููุง Cross-site.
---
๐ฅ ููู:
ูุฏ ุชุคุซุฑ ุนูู usability.
---