Bảo mật ứng dụng web

Sê-ri 40 phần về bảo mật ứng dụng, mỗi phần dựng lại một lỗ hổng trên ứng dụng tự viết rồi đo cách chặn.

11/40 phần đã đăng Bảo mật
1 Mô hình mối đe doạ Ứng dụng có 8 route trong mã nguồn trả lời ở 37 điểm khác nhau. Bản đồ bề mặt tấn công mà lập trình viên vẽ trong đầu thiếu mất hai phần ba. 02/09/2026 · 7 phút đọc 2 SQL injection Bốn cách chặn SQL injection, đo trên ứng dụng thật. Hai cách trông an toàn ngang cách đúng — cho tới khi đổi từ trường chuỗi sang trường số, và chúng thủng ngay. 02/09/2026 · 7 phút đọc 3 Tham số hoá câu lệnh Tham số hoá chặn sạch injection ở vị trí giá trị. Nhưng có một vị trí nó không đặt vào được — và ở đó tôi trích trọn khoá bí mật 18 ký tự chỉ qua thứ tự sắp xếp. 02/09/2026 · 7 phút đọc 4 Injection ngoài SQL SQL không phải nơi duy nhất trộn dữ liệu vào mã. Cùng lỗ hổng, cùng cách chặn, dựng lại trên lệnh hệ thống và LDAP — kèm đăng nhập admin không cần mật khẩu. 02/09/2026 · 7 phút đọc 5 XSS phản chiếu và lưu trữ Đo bằng trình duyệt thật: script của kẻ tấn công có thật sự chạy không. Autoescape chặn sạch XSS trong HTML — rồi thủng ở một thuộc tính href. 02/09/2026 · 7 phút đọc 6 Content Security Policy Đo từng chỉ thị CSP bằng trình duyệt thật trên năm đường chạy script. script-src 'self' chặn cả inline lẫn eval — và 'unsafe-eval' vô dụng nếu đứng một mình. 02/09/2026 · 7 phút đọc 7 Làm sạch HTML Ba thư viện làm sạch HTML trên chín payload tấn công, xác minh bằng trình duyệt thật. Cùng một thư viện: cấu hình chặt chặn sạch, cấu hình sai để lọt một phần ba. 02/09/2026 · 7 phút đọc 8 CSRF Đo bằng trình duyệt thật với hai tên miền: SameSite=Lax chặn CSRF cho POST mà không cần token. Nhưng một route GET đổi trạng thái vẫn mất tiền ngay cả với Lax. 02/09/2026 · 7 phút đọc 9 Cookie: các thuộc tính Đo bằng trình duyệt thật từng thuộc tính cookie chặn được gì. HttpOnly giấu cookie khỏi JavaScript nhưng server vẫn đọc — và Path không phải ranh giới bảo mật. 02/09/2026 · 7 phút đọc 10 Phiên đăng nhập Session fixation: kẻ tấn công cho bạn mượn ID phiên của nó, chờ bạn đăng nhập, rồi dùng lại ID đó. Cách chặn là một dòng — cấp ID mới khi đăng nhập. 02/09/2026 · 8 phút đọc 11 JWT Bốn cách dùng sai JWT, dựng lại và tấn công thật. alg:none tự phong admin, secret 'secret' bị bẻ trong một vòng lặp, và HS/RS confusion thủng đúng khi bạn tự viết verify. 02/09/2026 · 7 phút đọc

Còn 29 phần nữa sẽ lần lượt được đăng.