- vừa được xem lúc

EC-Cube CMS và một số vấn đề bảo mật

0 0 84

Người đăng: Ngo Van Thien

Theo Viblo Asia

Giới thiệu về EC-Cube

Ra đời từ năm 2006, EC-CUBE hiện là platform thương mại điển tử mã nguồn mở số 1 tại thị trường Nhật Bản. EC-Cube ra đời vào năm 2006 và vẫn đang phát triển khá mạnh ở cả thị trường Nhật Bản và Việt Nam.

Là phần mềm miễn phí nhưng EC-CUBE có tất cả các chức năng cơ bản để "khai trương" ngay cho bạn một cửa hàng. Đối với các tính năng còn thiếu thì có thể bổ sung từ hơn 800 loại plugin trên store. Hơn nữa, nếu có kiến thức về lập trình thì có thể tuỳ chỉnh lại theo ý muốn. Một số ưu điểm của EC-Cube

  • Bắt đầu với giá thành rẻ
  • Có sẵn những chức năng thông thường
  • Tự do tạo chức năng lẫn thiết kế

Một số tài nguyên EC-Cube:

Cài đặt EC-Cube

Cài đặt qua windows xampp

Cài đặt qua Composer

Kết quả cài đặt

Web user

Web admin

Phân tích một số lỗ hổng bảo mật

CVE-2020-5590 (Directory traversal)

Chức năng bị lỗi

Lỗ hổng XSS xảy ra ở chức quản lý sản phẩm của admin. Việc không thực hiện kiểm tra tên file trước khi thực hiện thêm mới hoặc xóa file trên server dẫn đến việc kẻ tấn công có thể thực hiện xóa file tùy ý trên server. Chức năng bị lỗi là chức năng upload file ảnh trong danh mục quản lý sản phẩm

Các phiên bản bị ảnh hưởng

  • Các phiên bản EC-Cube <= 4.0.3 bị đều bị ảnh hưởng bởi lỗ hổng CVE-2020-5590

Khai thác lỗi

Admin

  1. Admin đăng nhập và tạo sản phẩm mới
  2. Upload ảnh đại diện cho sản phẩm
  3. Xóa một file ảnh đã được up lên trước đó
  4. Thực hiện chặn bắt request bằng Burpsuite
  5. Sửa tên file ảnh muốn xóa thành đường dẫn file bất kỳ trên server
  6. Kẻ tấn công xóa thành công file bất kỳ trên server

Cách vá lỗ hổng

  • Nhà phát triển fix lỗi bằng cách kiểm tra tên file trước khi thực hiện xóa: Tên file không được phép chứa các ký tự: . hay //.
  • Code: /src/Eccube/Form/Type/Admin/ProductType.php

CVE-2021-20717 (Stored XSS)

Chức năng bị lỗi

Lỗ hổng XSS xảy ra ở chức năng generate mail template của admin. Khi không thực hiện lọc ký tự đầu vào nguy hiểm hoặc do không encoded dữ liệu đầu ra trước khi thực hiện tạo ra template mail. Vì vậy khi người dùng mua hàng và thực hiện nhập thông tin đơn hàng, thay vì chèn dữ liệu là thông tin khách hàng thông thường, kẻ tấn công lợi dụng để chèn các đoạn mã javascript độc hại

Các phiên bản bị ảnh hưởng

  • Các phiên bản EC-Cube từ 4.0.0 đến 4.0.5 đều bị ảnh hưởng bởi lỗ hổng CVE-2021-20717

Khai thác lỗi

Kẻ tấn công

  1. Tạo tài khoản và login
  2. Mua hàng và thực hiện checkout
  3. Nhập thông tin đơn hàng với các đoạn mã javascript độc hại:

Admin

  1. Admin đăng nhập và xem danh sách đơn hàng
  2. Chọn đơn hàng của khách hàng
  3. Chọn email mới
  4. Chọn template mail
  5. Thực hiện xem trước nội dung mail
  6. Javascript độc hại được thực thi

Cách vá lỗ hổng

  • Nhà phát triển fix lỗi bằng cách bỏ thực hiện generate dữ liệu raw và template mail:

CVE-2021-20778 (Broken Access Control)

Chức năng bị lỗi

Việc thiết lập sai trong file .htaccess cho phép kẻ tấn công đọc các dữ liệu nhạy cảm trên server như file .env hay web.config.v.v. Kẻ tấn công không cần thực hiện bất kỳ thao tác xác thực nào mà vẫn có thể đọc dữ liệu trên.

Các phiên bản bị ảnh hưởng

  • Các phiên bản EC-Cube 4.0.6 bị ảnh hưởng bởi lỗ hổng CVE-2021-20778

Khai thác lỗi

Kẻ tấn công

  1. Kẻ tấn công truy cập vào đường dẫn chứa các file nhạy cảm

Cách vá lỗ hổng

  • Nhà phát triển fix lỗi bằng cách sửa file .htaccess theo hướng dẫn sau:

References

Bình luận

Bài viết tương tự

- vừa được xem lúc

PDF Export, cẩn thận với những input có thể truyền vào

Giới thiệu. Dạo gần đây mình tình cờ gặp rất nhiều lỗi XSS, tuy nhiên trang đó lại có sử dụng dữ liệu người dùng input vào để export ra PDF.

0 0 66

- vừa được xem lúc

Cải thiện bảo mật trong ReactJS

1. Bảo mật XSS với data-binding.

0 0 38

- vừa được xem lúc

[Write-up] Intigriti's December XSS Challenge 2020

Giới thiệu. Gần đây mình có làm thử một bài CTF về XSS của Intigriti (platform bug bounty của châu Âu) và nhờ có sự trợ giúp của những người bạn cực kỳ bá đạo, cuối cùng mình cũng hoàn thành được challenge.

0 0 47

- vừa được xem lúc

Những lỗ hổng hàng đầu trong ứng dụng web có thể ngăn chặn bằng thử nghiệm

Khi nói về rủi ro không gian mạng, điều đầu tiên chúng ta có thể nghĩ đến là phần mềm độc hại. Tuy nhiên, nhiều cuộc tấn công mạng có liên quan đến ứng dụng.

0 0 76

- vừa được xem lúc

Setup XSS Hunter Express để khai thác XSS

Chẳng là ai là bug bounty hunter, pentester, researcher security cũng đã từng biết đến công cụ khai thác lỗ hổng XSS XSSHunter. Công cụ này giúp cho các bạn có thể test, khai thác các lỗ hổng XSS (như

0 0 40

- vừa được xem lúc

XSS vulnerabilities - phần 2

II. Phân tích, phòng chống các lỗ hổng Reflected XSS và Stored XSS (tiếp).

0 0 22