- Tổng đài 24/7: 1800 646 881
- Đăng nhập
- 3
Server Side Request Forgery (SSRF) được biết đến là một trong những cuộc tấn công gây hậu quả nghiêm trọng và khó ngăn chặn bậc nhất. Vậy SSRF là gì? Hôm nay BKHOST sẽ cùng các bạn tìm hiểu.
Server-side request forgery (SSRF) là một loại tấn công bảo mật mà người tấn công sử dụng máy chủ để thực hiện yêu cầu không mong muốn đến một máy chủ khác hoặc dịch vụ khác trên cùng một mạng.SSRF được sử dụng để thu thập thông tin bảo mật, đánh cắp dữ liệu, hoặc thực hiện các tác vụ khác không mong muốn trên máy chủ hoặc trên mạng nội bộ.
Lỗ hổng này chủ yếu được tìm thấy trong ứng dụng có cơ sở cung cấp URL để tìm nạp dữ liệu từ các máy chủ tương ứng, cũng có trong ứng dụng trong đó hai hoặc nhiều máy chủ từ các máy chủ khác nhau giao tiếp với nhau để chia sẻ thông tin. Để hiểu hơn về SSRF hãy cùng theo dõi ví dụ sau:
Ở ví dụ trên những kẻ tấn công gửi packet A đến server có sẵn công khai và để đáp ứng truy vấn của người dùng, server công cộng sẽ gửi yêu cầu đến server phụ trợ cùng với packet B, vì yêu cầu này đến từ server công cộng nên server phụ trợ sẽ tin tưởng rằng packet B đến từ mạng nội bộ và chấp nhận packet và gửi phản hồi. Điều này có thể xảy ra vì kẻ tấn công thực hiện yêu cầu thay mặt cho các server khác.
Trong Blind SSRF, dữ liệu của packet B được gửi đến ứng dụng trong mạng nội bộ đáng tin cậy nhưng kẻ tấn công không thể kiểm soát. Tại đây, kẻ tấn công có thể kiểm soát địa chỉ IP và các cổng của server. Để khai thác loại SSRF này, chúng tôi phải cung cấp URL theo sau là dấu hai chấm và số cổng, chúng tôi có thể tìm thấy các cổng mở và đóng của máy chủ bằng cách quan sát các phản hồi và thông báo lỗi từ máy chủ. Để kiểm tra trạng thái của chúng nên chúng tôi đã thử quy trình này cho các cổng khác nhau.
Ví dụ:
http://example.com:1337http://example.com:9923http://example.com:43http://example.com:22
Trong loại SSRF này, chúng tôi nhận được phản hồi hạn chế từ server như tiêu đề của trang hoặc có quyền truy cập vào tài nguyên nhưng không thể xem dữ liệu. Chúng tôi chỉ có thể kiểm soát một số phần nhất định của packet B đến ứng dụng nội bộ, có thể sử dụng loại SSRF này để đọc các tệp hệ thống cục bộ như /etc/config, /etc/hosts, etc/passwd và nhiều tệp khác. Chúng ta có thể đọc các tệp trên hệ thống bằng cách sử dụng giao thức file:// . Trong một số trường hợp, XXE injection, DDos, các loại lỗ hổng này có thể hữu ích khi khai thác Lỗ hổng Partial SSRF.
Ví dụ:
{{EJS0}}
Trong SSRF loại này, chúng tôi có toàn quyền kiểm soát packet B . Từ đó có thể tìm các lỗ hổng trong mạng nội bộ bằng cách truy cập các dịch vụ đang chạy trên mạng nội bộ. Trong loại SSRF này, chúng ta có thể sử dụng các giao thức như file://, dict://, http://, gopher://, v.v. để tạo các yêu cầu khác nhau và khai thác mạng nội bộ nếu phát hiện lỗ hổng. Bằng cách gửi một chuỗi lớn trong yêu cầu gây ra lỗi tràn bộ đệm lỗ hổng loại này có thể khiến ứng dụng gặp sự cố do tràn bộ đệm.
Ví dụ:
{{EJS1}}
Vừa rồi BKHOST đã cùng bạn tìm hiểu về Server Side Request Forgery (SSRF) và các loại SSRF. Hy vọng bài viết đã mang đến cho bạn những kiến thức bổ ích.
Nếu còn gặp bất cứ vướng mắc gì về SSRF, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.
Thuê Cloud VPS Cao Cấp tại BKHOST
Giảm giá cực sâu, chất lượng hàng đầu. Đăng ký ngay hôm nay: