Tấn công tính năng đặt hàng

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 1 (Trang 63 - 64)

Giới thiệu

Tính năng tạo giỏ hàng, đặt hàng và mua hàng đƣợc cài đặt trên hầu hết các trang web bán hàng trực tuyến. Lỗi trong logic xử lý và việc thiếu kiểm tra các bƣớc thực hiện có thể cho phép kẻ tấn công mua hàng mà không thanh toán, hoặc thêm hàng vào đơn hàng sau khi đã thanh toán. Các bƣớc cần thực hiện để mua hàng trên trang web theo trật tự nhƣ sau:

63 Bƣớc 1: Duyệt danh mục sản phẩm và chọn sản phẩm đƣa vào giỏ hàng.

Bƣớc 2: Xem, cập nhật giỏ hàng và xác nhận đơn hàng. Bƣớc 3: Nhập thông tin thanh toán.

Bƣớc 4: Nhập thông tin giao hàng.

Giả thiết

Các bƣớc trong quy trình mua hàng phải đƣợc thực hiện đúng trật tự và các bƣớc đƣợc hiển thị theo các liên kết (link) và các form đƣợc hiển thị trên trình duyệt. Tuy nhiên, việc kiểm tra trình tự thực hiện không đƣợc thực thi chặt chẽ. Với bất kỳ ngƣời dùng nào, để mua hàng cần thực hiện bƣớc Nhập thông tin thanh toán.

Tấn công

Do ngƣời dùng có khả năng điều khiển các yêu cầu, nên họ có thể thực hiện các bƣớc trong lƣu trình mua hàng theo trật tự bất kỳ. Kẻ tấn công có thể mua hàng bằng cách thực hiện Bƣớc 1, 2, bỏ qua Bƣớc 3: Nhập thông tin thanh toán và chuyển thẳng sang Bƣớc 4. Kẻ tấn công cũng có thể thực hiện đầy đủ các bƣớc để mua hàng, sau đó quay lại thêm hàng vào đơn hàng để tăng số lƣợng mà không phải thanh toán thêm tiền.

Phòng chống

Ngoài việc hiển thị các bƣớc theo trật tự để định hƣớng ngƣời dùng, cần kiểm tra chặt chẽ trật tự thực hiện cũng nhƣ logic các bƣớc. Chẳng hạn, ngƣời dùng chỉ có thể sang đƣợc Bƣớc 4 nếu đã hoàn tất Bƣớc 3. Nếu ngƣời dùng cố tình sang Bƣớc 4 mà chƣa hoàn tất Bƣớc 3, hệ thống tự động chuyển hƣớng về Bƣớc 3. Khi ngƣời dùng đã hoàn thiện Bƣớc 3, đơn hàng chuyển sang trạng thái đã thanh toán và cấm cập nhật, để ngăn chặn ngƣời dùng chỉnh sửa số lƣợng hàng, hoặc thêm sản phẩm vào đơn hàng.

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 1 (Trang 63 - 64)