Hệ thống & kiến trúc
Bảo mật ứng dụng web
Bắt đầu bằng threat modeling, rồi đi qua XSS và CSP, CORS và cross-origin isolation, OAuth/OIDC, JWT, OWASP API Top 10, SSRF và upload file, quản lý secret và chuỗi cung ứng npm — từng lớp phòng thủ cho một ứng dụng thật.
9 phần190 phút đọcCập nhật 31 thg 10, 2026
Các phần
Phần 1
Threat modeling cho team sản phẩm: STRIDE, sơ đồ luồng dữ liệu và ranh giới tin cậy, từ buổi họp 60 phút tới ticketCách mình chạy threat modeling thực tế cho một team sản phẩm: bốn câu hỏi, vẽ DFD với trust boundary, đi STRIDE từng phần tử trên một hệ thống thật có SPA, API, Postgres, S3, webhook thanh toán và admin panel, chấm rủi ro đơn giản, biến threat thành ticket và giữ threat model sống trong repo.
26 phút
Phần 2
Bảo mật frontend thực chiến: XSS trong React, CSP với nonce, Trusted Types, CSRF và clickjackingReact escape giúp bạn rất nhiều, nhưng không phải tất cả. Bài này đi qua những lỗ hổng XSS vẫn lọt qua React, cách dựng CSP nghiêm ngặt bằng nonce trong Next.js, Trusted Types, CSRF thời SameSite, chuyện lưu token ở đâu và cách chặn clickjacking.
17 phút
Phần 3
CORS và cross-origin isolation chuyên sâu: origin và site, preflight, credentials, CORP, COEP, COOP và Fetch MetadataMô hình cross-origin của trình duyệt từ gốc: Same-Origin Policy chặn gì, CORS nới lỏng gì và không bao giờ bảo vệ gì, preflight và credentials, bug cache vì thiếu Vary: Origin, allowlist nguy hiểm, rồi CORP, COEP, COOP, Fetch Metadata và SameSite — kèm cấu hình NestJS và Next.js làm cho đúng.
20 phút
Phần 4
OAuth 2.0 và OpenID Connect cho web app năm 2026: Authorization Code + PKCE, BFF và những lỗ hổng thậtĐi từng request HTTP của luồng authorization code + PKCE, phân biệt state, nonce, ID token và access token, vì sao implicit flow đã chết, và cách dựng Backend-for-Frontend trong Next.js để token không bao giờ xuống trình duyệt — kèm refresh rotation, logout và các lỗ hổng mình gặp thật.
21 phút
Phần 5
JWT chuyên sâu: những cái bẫy khi verify, các đòn tấn công kinh điển và xoay khoá với JWKSJWS khác JWE thế nào, những claim bắt buộc phải kiểm tra, alg: none, nhầm lẫn RS256/HS256, kid injection, lạm dụng jku — và cách pin thuật toán với jose, xoay khoá JWKS không làm ai bị logout, thu hồi token và test verifier bằng chính những token độc.
20 phút
Phần 6
OWASP API Security Top 10 trong NestJS: code có lỗ hổng, code đã sửa, và những test giữ cho nó không quay lạiĐi qua cả mười rủi ro của OWASP API Security Top 10 (2023) bằng NestJS: kiểm tra quyền sở hữu trong scoped repository, DTO whitelist, định hình response, policy kiểu CASL, rate limit theo chi phí, business flow idempotent, fetch chống SSRF và ma trận phân quyền trong e2e test.
20 phút
Phần 7
SSRF và bảo mật upload file: fetch URL và upload sao cho không giao chìa khoá mạng nội bộLink preview, webhook, import ảnh từ URL và upload file trông như tính năng nhàm chán, nhưng cứ xuất hiện trong báo cáo sự cố. Vì sao blocklist SSRF thất bại, fetch an toàn trong Node với undici và pin IP, IMDSv2, và pipeline upload: presigned S3, magic bytes, sharp, domain riêng, quét bất đồng bộ.
22 phút
Phần 8
Quản lý secret cho team nhỏ: từ file .env đến GitHub Actions OIDC và credential ngắn hạnThế nào là secret, file .env và token CI dài hạn thực sự bị lộ ra sao, làm gì trong giờ đầu tiên sau khi lộ, so sánh các kho secret, GitHub Actions OIDC sang AWS và GCP thay cho key tĩnh, xoay vòng secret không downtime, và validate env có kiểu trong monorepo Turborepo.
23 phút
Phần 9
Tấn công chuỗi cung ứng npm sau Shai-Hulud: điều gì đã thay đổi và cách gia cố một monorepo JavaScriptTừ Nx s1ngularity, chalk/debug đến Shai-Hulud, TanStack và ChainDrop: các vụ tấn công npm thực sự đã làm gì, npm và GitHub đã thay đổi những gì, và một hệ phòng thủ nhiều lớp — install, CI, publish — áp dụng thẳng vào một monorepo Bun + Turborepo.
21 phút
Ôn tập cả chuỗi
Đã trả lời 0/18 · đúng 0
18 câu rút từ các phần của chuỗi. Trả lời ở đây cũng được tính cho quiz của từng bài.
Chuỗi khác
Chuỗi bài- AI engineering cho web developer4 phần · 93 phút đọcĐã đọc 0/4
- NestJS trong production3 phần · 72 phút đọcĐã đọc 0/3
- Hiệu năng web từ gốc8 phần · 85 phút đọcĐã đọc 0/8
- CSS và nền tảng web hiện đại5 phần · 52 phút đọcĐã đọc 0/5
- Kiến trúc frontend bền vững5 phần · 35 phút đọcĐã đọc 0/5
- Nghề kỹ sư4 phần · 27 phút đọcĐã đọc 0/4
- Frontend chuyên sâu7 phần · 144 phút đọcĐã đọc 0/7
- Business analysis cho đội sản phẩm6 phần · 173 phút đọcĐã đọc 0/6