SSRF (giả mạo yêu cầu phía máy chủ)

Nội dung:
- Giới thiệu về SSRF
- Cơ chế với ví dụ
- Tìm SSRF ở đâu
- Tác động của SSRF
- Phòng ngừa và bỏ qua chúng
nhiều lần bạn gặp phải một số ứng dụng web yêu cầu URL làm đầu vào từ người dùng để ứng dụng có thể yêu cầu URL đó, điều đó có nghĩa là họ đang yêu cầu URL đó từ phía họ cho bạn
vì vậy điều gì sẽ xảy ra nếu bạn cung cấp một URL trỏ đến mạng nội bộ của nó mà bạn không thể truy cập trên internet, ví dụ 127.0.0.1 là địa chỉ lặp lại của máy và nó chấp nhận điều đó và đưa ra phản hồi cho bạn. vậy điều đó có nghĩa là gì bạn có thể truy cập vào mạng nội bộ của máy chủ thông qua ứng dụng web mà chúng tôi nói là SSRF (giả mạo yêu cầu phía máy chủ)
giả mạo yêu cầu phía máy chủ
là một lỗ hổng bảo mật cho phép kẻ tấn công yêu cầu thay mặt máy chủ cho phép chúng vượt qua hoặc đánh lừa các điều khiển của tường lửa để giành quyền truy cập vào mạng nội bộ và các dịch vụ của chúng
Cơ chế với ví dụ
Giả sử bạn muốn truy cập một trang web không thể truy cập được từ khu vực của bạn, vì vậy bạn hãy thử một ứng dụng web proxy cho phép bạn truy cập trang web mong muốn của mình, hãy xem cách trang web proxy đó hoạt động
Trang web proxy lấy đầu vào của trang web mong muốn của bạn mà bạn muốn truy cập và sau đó yêu cầu chuyển đến máy chủ và sau đó máy chủ sẽ gửi yêu cầu đến trang web mà bạn đã nhập làm đầu vào và sau đó hiển thị trang web đó cho bạn.
Yêu cầu trông giống như thế này trong thông số "URL" trang web mà người dùng muốn truy cập sẽ truy cập
https://pb.fetchweb.com?url=https://google.com
Bây giờ có kẻ tấn công đang cố gắng hack trang web này và trong giai đoạn kiểm tra lại, họ đã phát hiện ra rằng có một tên miền phụ (admin.fetchweb.com) mà họ không thể truy cập có nghĩa là nó cung cấp mã lỗi 403 bị cấm (chúng tôi không có quyền để truy cập miền phụ đó) có thể vì nó chỉ có thể truy cập được từ mạng nội bộ
Vì vậy, kẻ tấn công nghĩ gì nếu anh ta cung cấp tên miền phụ đó trong tham số URL thì nó có thể vượt qua bảo vệ không
https://pb.fetchweb.com?url=https://admin.fetchweb.com
và việc bảo vệ bị bỏ qua vì yêu cầu tên miền phụ này đến từ chính máy chủ web nằm trong mạng nội bộ
Tìm SSRF ở đâu
SSRF thường xảy ra trong tính năng yêu cầu tìm nạp hoặc truy cập tài nguyên bên ngoài.
Như tải lên tệp, dịch vụ proxy, webhook, hình thu nhỏ và mở rộng liên kết
Và cũng kiểm tra những nơi ứng dụng lấy URL làm tham số từ người dùng, v.v.
Tác động của SSRF
Tác động của SSRF có thể khác nhau
nó phụ thuộc vào những dịch vụ nội bộ mà chúng tôi có thể tìm thấy trên mạng
Bạn có thể sử dụng SSRF để quét mạng tìm các cổng đang mở để lấy thông tin về các dịch vụ nội bộ đang chạy trên mạng, bỏ qua kiểm soát truy cập, rò rỉ thông tin bí mật và cũng có thể thực hiện RCE (mã từ xa
Thực thi) và nếu ứng dụng đang sử dụng một số loại dịch vụ đám mây, chúng tôi có thể lấy siêu dữ liệu bằng dịch vụ API siêu dữ liệu
Ví dụ: Nếu một công ty lưu trữ cơ sở hạ tầng của mình trên
Amazon Ec2
Chúng ta có thể sử dụng điểm cuối này để lấy siêu dữ liệu về việc chạy phiên bản Ec2
http://instance–IP / mới nhất / siêu dữ liệu /
để tìm thêm tài liệu truy cập cho các điểm cuối APIhttps://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
Các biện pháp ngăn chặn và bỏ qua chúng
Có hai loại bảo vệ chính chống lại SSRF tồn tại là danh sách chặn và danh sách cho phép
Block-list là danh sách các địa chỉ danh sách bị chặn bởi máy chủ, nhiều lần bao gồm các địa chỉ mạng nội bộ. mặt khác danh sách cho phép là danh sách các địa chỉ được phép tất cả các địa chỉ khác không có trong danh sách cho phép đều bị máy chủ chặn
Bỏ qua danh sách khối
Chuyển hướng với trang web được kiểm soát , hãy nhập một trang web đang chuyển hướng đến IP mạng nội bộ của nó như 127.0.0.1
- Sử dụng địa chỉ IPv6
- Miền phân giải thành địa chỉ IP nội bộ
Bỏ qua danh sách cho phép
- Nhúng @ vào máy chủ được phép
- Tìm chuyển hướng mở trong máy chủ được phép
`