Giới thiệu và kịch bản

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 44)

CSRF (Cross-Site Request Forgery) là dạng tấn công bẫy nạn nhân tải một trang web có chứa yêu cầu độc hại. Tấn công CSRF sử dụng thông tin nhận dạng và quyền truy nhập của nạn nhân để thực hiện các thao tác không mong muốn thay mặt họ, nhƣ thay đổi địa chỉ email, thay đổi địa chỉ nhà, thực hiện giao dịch mua bán,...

Giả thiết trang web bank.com tồn tại lỗi cho phép tấn công CSRF. Alice và Bob là những ngƣời dùng dịch vụ ngân hàng trực tuyến của bank.com. Maria là kẻ tấn công. Kịch bản tấn công CSRF, trong đó Maria tấn công lừa Alice chuyển tiền cho mình:

- Alice muốn chuyển $100 cho Bob sử dụng trang web bank.com. Yêu cầu chuyển tiền của Alice có dạng:

POST http://bank.com/transfer.do HTTP/1.1 ...

Content-Length: 19; acct=BOB&amount=100

- Maria phát hiện có thể thực hiện cùng yêu cầu chuyển tiền nhƣ trên sử dụng yêu cầu GET: GET http://bank.com/transfer.do?acct=BOB&amount=100 HTTP/1.1 - Maria quyết định khai thác lỗi CSRF của trang bank.com để lừa Alice chuyển tiền

cho mình. Maria tạo ra URL chuyển $100000 từ Alice cho cô: http://bank.com/transfer.do?acct=MARIA&amount=100000

- Maria cần tạo bẫy để lừa Alice thực hiện yêu cầu chuyển tiền. Cô ta tạo 1 link trong email và gửi cho Alice:

<a href="http://bank.com/transfer.do?acct=MARIA&amount=100000"> View my Pictures!</a>

- Giả thiết Alice đã đƣợc xác thực với bank.com (đang trong phiên làm việc hoặc tự động đăng nhập bằng cookie), yêu cầu chuyển tiền đƣợc thực hiện;

- Tuy nhiên, do Alice có thể nhận ra việc chuyển tiền qua việc mở URL trên, Maria có thể giấu URL vào một ảnh rất nhỏ để nạn nhân không thể dễ dàng phát hiện: <img src="http://bank.com/transfer.do?acct=MARIA&amount=100000"

width="1" height="1" border="0">

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 44)