Lỗ hổng HTTPoxy ảnh hưởng các ứng dụng CGI trong PHP, Python, và Go

16/06/2015
83
672 bài viết
Lỗ hổng HTTPoxy ảnh hưởng các ứng dụng CGI trong PHP, Python, và Go
HTTPoxy là tên một lỗ hổng 15 năm tuổi có ảnh hưởng đến các ứng dụng CGI được viết bằng ngôn ngữ PHP, Python, và Go.

Nhà nghiên cứu Dominic Scheirlinck phát hiện lỗ hổng vào tháng 2/2016 và đã cùng làm việc với các nhà cung cấp máy chủ để vá lỗ hổng.

Trước đó, vào tháng 3/2001, nhà nghiên cứu Randal L. Schwartz phát hiện ra vấn đề tương tự khi nhận thấy các mô-đun libwww-perl xử lý không chính xác tiêu đề (header) HTTP_PROXY. Vấn đề sau đó được phát hiện và khắc phục trong curl (4/2001), Ruby (7/2012), Nginx (11/2013), và bây giờ là trong các script PHP, Python, và Go chạy trong môi trường CGI.
1489939950httpoxy.png



HTTPoxy dẫn đến tấn công Man-in-the-Middle

Vấn đề là môi trường dựa trên CGI nhận các truy vấn HTTP đến có chứa một "Proxy" header, kết xuất nội dung của header vào biến môi trường HTTP_PROXY mà không tiến hành bất kỳ kiểm duyệt nào.

Biến HTTP_PROXY được sử dụng trong nhiều ứng dụng để tự động cấu hình proxy cục bộ. Khi người sử dụng tạo truy vấn HTTP tiếp theo, proxy cấu hình cục bộ sẽ được sử dụng để tới điểm đến của truy vấn.

Kẻ tấn công có thể sử dụng lỗ hổng này để nhiễm độc các máy chủ và buộc một ứng dụng CGI có lỗ hổng sử dụng một proxy độc hại cho các truy vấn HTTP đi, thực hiện các cuộc tấn công MITM.

"Lỗ hổng này ảnh hưởng đến các ứng dụng sử dụng mô hình thực thi CGI "cổ điển", và có thể khiến lộ token API của các dịch vụ mà ứng dụng của bạn có kết nối", Joe Seggiola của CloudFlare giải thích.

Biện pháp giảm thiểu rất dễ dàng và không nên trì hoãn

"Bạn nên thực hiện biện pháp giảm thiểu càng sớm càng tốt, ngay ở “rìa” trước khi truy vấn HTTP bước vào hệ thống của bạn. Bằng cách đó, bạn có thể khắc phục rất nhiều phần mềm có lỗ hổng cùng một lúc”, Scheirlinck cho biết.

Scheirlinck cũng đề nghị bỏ hoàn toàn Proxy header. "Tất cả mọi thứ đằng sau một proxy đảo ngược hoặc tường lửa ứng dụng mà loại bỏ Proxy header đều an toàn”.

Có rất nhiều ứng dụng và các dự án mã nguồn mở tồn tại lỗ hổng HTTPoxy, trong chế độ CGI. Dự án Drupal đã phát hành một bản cập nhật cho các phiên bản 8.x để giảm thiểu kiểu tấn công này trong thư viện Guzzle PHP mà Drupal sử dụng để thực hiện các yêu cầu HTTP từ bên trong CMS.

Quản trị web không nên chờ cập nhật trong các dự án mã nguồn mở và nên thực hiện các bước cần thiết để giảm thiểu vấn đề này.

Theo Scheirlinck, biến môi trường HTTPS_PROXY không bị ảnh hưởng.

Theo Softpedia
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Bên trên