Vakaxa tiếp tục mời bạn theo dõi bài viết SSRF là gì? Phát hiện và giảm thiểu tấn công yêu cầu giả mạo từ phía máy chủ (SSRF).

Các ứng dụng web có thể kích hoạt các yêu cầu liên máy chủ, thường được sử dụng để tìm nạp các tài nguyên từ xa như cập nhật phần mềm hoặc nhập dữ liệu từ URL hoặc các ứng dụng web khác. Mặc dù các yêu cầu liên máy chủ đó thường an toàn, trừ khi được triển khai chính xác, chúng có thể khiến máy chủ dễ bị tấn công yêu cầu giả mạo từ phía máy chủ.

➤ Có thể bạn quan tâm:  CSRF là gì? Tìm hiểu kỹ thuật tấn công CSRF, Cách phòng chống tấn công giả mạo

SSRF là gì?

SSRF (Server Side Request Forgery) hay còn gọi là tấn công yêu cầu giả mạo từ phía máy chủ cho phép kẻ tấn công thay đổi tham số được sử dụng trên ứng dụng web để tạo hoặc kiểm soát các yêu cầu từ máy chủ dễ bị tấn công.

Khi thông tin trong một ứng dụng web phải được lấy từ một tài nguyên bên ngoài, chẳng hạn như nguồn cấp dữ liệu RSS từ một trang web khác, các yêu cầu phía máy chủ được sử dụng để tìm nạp tài nguyên và đưa nó vào ứng dụng web.

Ví dụ, một nhà phát triển có thể sử dụng một URL như https://example.com/feed.php?url=externalsite.com/feed/để lấy nguồn cấp dữ liệu từ xa. Nếu kẻ tấn công có thể thay đổi tham số url thành localhost, thì anh ta có thể xem các tài nguyên cục bộ được lưu trữ trên máy chủ, làm cho nó dễ bị tấn công bởi yêu cầu giả mạo từ phía máy chủ.

Nếu kẻ tấn công có thể kiểm soát đích của các yêu cầu phía máy chủ, chúng có thể thực hiện các hành động sau:

  • Lạm dụng mối quan hệ tin cậy giữa máy chủ dễ bị tổn thương và những người khác.
  • Bỏ qua danh sách trắng IP.
  • Bỏ qua dịch vụ xác thực dựa trên máy chủ.
  • Đọc tài nguyên mà công chúng không thể truy cập, chẳng hạn như trace.axd trong ASP.NET hoặc siêu dữ liệu API trong môi trường AWS.
  • Quét mạng nội bộ mà máy chủ được kết nối đến.
  • Đọc tệp từ máy chủ web.
  • Xem trang trạng thái và tương tác với các API như máy chủ web.
  • Truy xuất thông tin nhạy cảm như địa chỉ IP của máy chủ web sau proxy ngược.

Thông thường SSRF xảy ra khi một ứng dụng web đang thực hiện một yêu cầu, trong đó kẻ tấn công có toàn quyền hoặc kiểm soát một phần yêu cầu đang được gửi đi. Một ví dụ phổ biến là khi kẻ tấn công có thể kiểm soát tất cả hoặc một phần của URL mà ứng dụng web đưa ra yêu cầu đối với một số dịch vụ của bên thứ ba.

Điển hình của một cuộc tấn công yêu cầu giả mạo từ phía máy chủ

➤ Xem thêm: Tấn công 51% là gì?

tấn công yêu cầu giả mạo từ phía máy chủ

Vì kẻ tấn công không thể gửi yêu cầu trực tiếp đến máy chủ của nạn nhân, bởi vì chúng bị chặn bởi tường lửa, để quét một mạng nội bộ mà kẻ tấn công phải:

  • Gửi yêu cầu đến máy chủ web dễ bị tấn công vi phạm lỗ hổng SSRF.
  • Máy chủ web yêu cầu máy chủ của nạn nhân nằm phía sau tường lửa.
  • Máy chủ của nạn nhân phản hồi với dữ liệu.
  • Nếu lỗ hổng SSRF cụ thể cho phép nó, dữ liệu được gửi lại cho kẻ tấn công.

Hậu quả của việc tấn công SSRF là gì?

Lợi dụng mối quan hệ tin cậy với máy chủ bị ảnh hưởng

Trong các máy chủ thực tế thường có mối quan hệ tin cậy với các máy khác để dễ dàng chia sẻ dữ liệu và cho phép các tác vụ quản trị.

Ở cấp độ mạng, tin cậy có nghĩa là tường lửa chỉ cho phép truy cập vào một số cổng nhất định nếu máy yêu cầu quyền truy cập trên cùng một mạng cục bộ hoặc nếu địa chỉ IP của nó được tin cậy một cách rõ ràng.

Ở mức độ tin cậy phần mềm có thể như sau; xác thực không bắt buộc đối với một số tác vụ quản trị, miễn là IP là 127.0.0.1 hoặc nó nằm trong mạng nội bộ. Niềm tin như vậy cũng có thể được sử dụng như một biện pháp bảo mật bổ sung, để đảm bảo rằng ngay cả khi kẻ tấn công biết mật khẩu, anh ta không thể đăng nhập mà không cần truy cập vào mạng cục bộ.

Bằng cách khai thác lỗ hổng SSRF, kẻ tấn công có thể phá vỡ các hạn chế trên và ví dụ truy vấn các máy chủ khác tin tưởng vào máy bị ảnh hưởng hoặc tạo các yêu cầu độc hại để tương tác với các cổng nhất định không thể truy cập từ mạng bên ngoài. Do đó, kẻ tấn công có thể thực hiện các hành động độc hại trên chính máy chủ mà nếu không sẽ không thể thực hiện được từ bên ngoài.

Quét các mạng nội bộ hoặc bên ngoài

Kẻ tấn công có thể quét các mạng cục bộ hoặc bên ngoài mà máy chủ dễ bị tổn thương được kết nối tới. Những kẻ tấn công thường sử dụng thời gian tải trang, thông báo lỗi hoặc biểu ngữ của dịch vụ mà họ đang thăm dò để xác định xem đầu dò họ đang nhắm mục tiêu có phản hồi hay không và để xác nhận xem cổng thử nghiệm có đang mở hay không.

Tấn Công DDoS, X-XSS, CSP là gì? Phương thức tấn công?

Đọc tệp từ máy chủ

Khi nội dung của tài nguyên từ xa được hiển thị trực tiếp đến một trang, có khả năng kẻ tấn công sẽ đọc nội dung của các tệp. Ví dụ xem xét một dịch vụ web loại bỏ tất cả các hình ảnh từ một url nhất định và định dạng văn bản. Nó hoạt động bằng cách đầu tiên nhận được nội dung phản hồi của một url nhất định, sau đó áp dụng định dạng.

Nếu chúng tôi sử dụng tệp: // uri thay vì http: // hoặc https: // chúng tôi có thể đọc tệp từ hệ thống tệp cục bộ. Ví dụ, nếu chúng ta sử dụng file uri : /// etc / passwd chúng ta có thể in nội dung của file passwd trên các hệ thống unix đến trang. Kỹ thuật tương tự có thể được sử dụng để xem mã nguồn của ứng dụng web dễ bị tấn công ..

Phát hiện tấn công SSRF

Để phát hiện một cuộc tấn công giả mạo từ máy chủ (SSRF), bạn sẽ cần phải dựa vào một dịch vụ trung gian vì việc phát hiện lỗ hổng như vậy đòi hỏi một vectơ out-of-band và time-delay. Acunetix giải quyết vấn đề này bằng cách sử dụng AcuMonitor làm dịch vụ trung gian trong quá trình quét tự động.

Trong quá trình quét, Acunetix sẽ thực hiện các yêu cầu có chứa một URL AcuMonitor duy nhất. Nếu AcuMonitor nhận được yêu cầu trên một trong những URL duy nhất này, nó sẽ gửi một thông báo lại cho Acunetix cho biết nó sẽ nâng cao cảnh báo về SSRF.

Sau đây là kết quả của việc quét Acunetix với AcuMonitor để phát hiện Fake Side Request Forgery (SSRF). Cảnh báo chứa thông tin về yêu cầu HTTP đã được thực hiện bao gồm địa chỉ IP của máy chủ đã thực hiện yêu cầu này và chuỗi Tác nhân người dùng được sử dụng trong yêu cầu, nếu có. Thông tin này có thể giúp các nhà phát triển xác định nguồn gốc của vấn đề và khắc phục sự cố.

SSRF - Server Side Request Forgery là gì

Làm thế nào để ngăn chặn tấn công giả mạo từ phía máy chủ?

Danh sách trắng và độ phân giải DNS: Bạn nên sử dụng danh sách trắng các DNS hoặc địa chỉ IP mà ứng dụng của bạn cần truy cập.

Xử lý đáp ứng: Đảm bảo rằng phản hồi nhận được từ máy chủ từ xa thực sự là những gì máy chủ mong đợi là quan trọng để ngăn chặn bất kỳ dữ liệu phản ứng không lường trước được rò rỉ cho kẻ tấn công. Trên hết, trong mọi trường hợp, cơ thể phản hồi thô từ yêu cầu được gửi bởi máy chủ sẽ được gửi đến máy khách.

Tắt lược đồ URL không sử dụng: Nếu ứng dụng của bạn chỉ sử dụng HTTP hoặc HTTPS để thực hiện yêu cầu, chỉ cho phép các lược đồ URL đó. Vô hiệu hóa lược đồ URL không sử dụng sẽ ngăn chặn một ứng dụng web có những nhu cầu sử dụng lược đồ URL nguy hiểm tiềm tàng như file:///dict://ftp://và gopher://.

Xác thực trên các dịch vụ nội bộ: Các dịch vụ như Memcached, Redis, Elasticsearch và MongoDB không yêu cầu xác thực theo mặc định. Yêu cầu phía máy chủ Các lỗ hổng giả mạo có thể cung cấp cho kẻ tấn công cơ hội truy cập vào một số dịch vụ này mà không có bất kỳ sự xác thực nào đang tồn tại. Vì vậy, tốt nhất là cho phép xác thực bất cứ nơi nào có thể như một cơ chế bảo vệ khác.

Vakaxa vừa giới thiệu xong cho các bạn kiến thức về SSRF là gì? Hạu quả của tấn công SSRF, Cách phát hiện và làm thế nào để ngăn chặn tấn công giả mạo từ phía máy chủ. Hy vọng những thông tin trong bài viết giúp ích cho các bạn đang tìm kiếm thông tin. Đừng quên chia sẻ kiến thức cho mọi người nhé.

Chúc các bạn vui vẻ!

 

 

    Pin It on Pinterest

    Share This