CSRF
Trung cấp
CA 05 / 11
Cái form gài bẫy từ trang lạ
Kẻ xấu dựng một trang web có sẵn form tự động POST tới /transfer của ngân hàng. Nạn nhân đang đăng nhập vô tình mở trang đó → trình duyệt tự đính kèm cookie phiên thật. Phòng thủ: server nhúng một token ngẫu nhiên (gắn với phiên) vào mỗi form thật dưới dạng input ẩn, và bắt mọi POST phải kèm token khớp.
<!-- form THẬT do server render, có token ẩn -->
<form method="post" action="/transfer">
<input type="hidden" name="csrf" value="a91f...random...">
<input name="amount">
</form>
// phía server: từ chối nếu token trong form khác token của phiên
if formToken != session.CSRF { reject() }
❯ Vì sao token ẩn này chặn được form giả mạo đặt trên trang của kẻ xấu?