Lỗ hổng zero-day trong tiện ích hình ảnh WordPress cho phép tải tệp lên và thực thi mã

02 Tháng tám 2011Mohit Kumar

lỗ hổng zero-day trong tiện ích hình ảnh WordPress cho phép tải tệp lên và thực thi mã

tin tặc


Mark Maunder, Giám đốc điều hành của công ty công nghệ Feedjit có trụ sở tại Seattle, đã phát hiện ra lỗ hổng sau khi blog của chính ông bị tấn công để tải nội dung quảng cáo. Cuối cùng, anh ấy đã tìm ra vấn đề từ TimThumb mà anh ấy sử dụng trên blog của mình. Tin tặc đang khai thác lỗ hổng zero-day ảnh hưởng đến TimThumb, một tiện ích thay đổi kích thước hình ảnh miễn phí được sử dụng rộng rãi trên nền tảng blog WordPress.

Tóm lại lỗ hổng:
Một tiện ích thay đổi kích thước hình ảnh có tên là timthumb.php được sử dụng rộng rãi bởi nhiều chủ đề WordPress. Google hiển thị hơn 39 triệu kết quả cho tên tập lệnh. Nếu chủ đề WordPress của bạn đi kèm với một timthumb.php chưa sửa đổi giống như nhiều chủ đề thương mại và miễn phí, thì bạn nên xóa nó ngay lập tức hoặc chỉnh sửa nó và đặt mảng $allowedSites thành trống. Tiện ích chỉ khớp một phần tên máy chủ, cho phép tin tặc tải lên và thực thi mã PHP tùy ý trong thư mục bộ đệm timthumb của bạn. Tôi chưa kiểm tra phần còn lại của mã, vì vậy điều này có thể khắc phục được hoặc không tất cả các lỗ hổng. Đồng thời grep đệ quy thư mục WordPress của bạn và các thư mục con cho hàm base64_decode và tìm các chuỗi dài được mã hóa để kiểm tra xem bạn có bị xâm phạm hay không.

Tiện ích, một tập lệnh PHP được sử dụng để cắt xén hình ảnh, phóng to và thay đổi kích thước hình ảnh trên web, “vốn không an toàn vì nó phụ thuộc vào khả năng ghi tệp vào một thư mục mà những người truy cập trang web của bạn có thể truy cập được,“Maunder nói.”Đó không bao giờ là một ý tưởng tốt.

Kẻ tấn công có thể tải tệp lên và thực thi mã trên trang web bị ảnh hưởng mà không có sự cho phép của chủ sở hữu. Phiên bản mới nhất của tiện ích, TimThumb 1.33, bị ảnh hưởng bởi sự cố này. Nhà phát triển của nó, Ben Gillbanks, đang tìm cách khắc phục sau khi trang web của chính anh ấy cũng bị tấn công bằng phương pháp tương tự.

Anh ấy đã cung cấp hướng dẫn để tắt khả năng tải hình ảnh từ các trang bên ngoài của tiện ích, đây là một cách để giải quyết vấn đề.

  1. SSH vào máy chủ web của bạn. Bạn có thể sử dụng “putty” nếu sử dụng windows và bạn sẽ cần biết tên người dùng và mật khẩu của mình.
  2. cd vào thư mục cài đặt wordpress của bạn. Điều đó sẽ thay đổi tùy theo máy chủ bạn đang sử dụng hoặc cách bạn đã cài đặt nó.
  3. Bạn cần tìm mọi bản sao của timthumb.php trên hệ thống của mình. Sử dụng lệnh sau mà không có dấu ngoặc kép: ” find . -name ‘timthumb.php'”
  4. Nó sẽ hiển thị cho bạn một danh sách vị trí của timthumb.php. Bạn có thể muốn lặp lại lệnh này bằng cách sử dụng “thumb.php” vì một số người dùng đã báo cáo rằng lệnh này được gọi trên hệ thống của họ.
  5. Chỉnh sửa timthumb.php bằng trình soạn thảo văn bản như pico, nano hoặc (nếu bạn biết mình đang làm gì) vim. Bạn sẽ gõ (không có dấu ngoặc kép) ” nano directory/that/tim/thumb/is/in/timthumb.php ” chẳng hạn.
  6. Đi xuống dòng 27 nơi nó bắt đầu $allowedSites = array (
  7. Thay đổi nó để xóa tất cả các trang web được liệt kê như “blogger.com” và “flickr.com”. Khi bạn đã hoàn tất, dòng sẽ trông như thế này từ $allowedSites đến dấu chấm phẩy:
  8. $allowedSites = mảng();
  9. Lưu ý các dấu ngoặc đơn trống.
  10. Dòng tiếp theo phải để trống và dòng tiếp theo có thể sẽ ghi “DỪNG SỬA ĐỔI TẠI ĐÂY”
  11. Đó là nó. Lưu tệp và bạn đã hoàn tất.

Tìm thấy bài viết này thú vị? Theo dõi chúng tôi tại Twitter và LinkedIn để đọc thêm nội dung độc quyền mà chúng tôi đăng.

Leave a Reply