1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Tìm hiểu thêm.

Tôi đã hack VietDesigner.net và Kenhsinhvien.vn như thế nào ?

Thảo luận trong 'Security & Antivirus' bắt đầu bởi Nguyễn Nghệ, 11/10/17.

Lượt xem: 309

  1. Nguyễn Nghệ
    Offline

    Nguyễn Nghệ Guest

    Hành trình truy tìm lỗ hổng bảo mật
    Trước hết, tớ xem xét đặc điểm chung của cả hai trang web này:

    • Đây đều là 2 diễn đàn lớn (mục tiêu càng lớn, càng nhiều người dùng thì càng tỉ lệ thuận với sự nguy hiểm của một lỗi bảo mật được phát hiện).
    • Cùng sử dụng nền tảng Xenforo.
    • Cùng sử dụng một add-on giống nhau để tạo trình chuyển hướng liên kết.
    Trong 3 đặc điểm này thì điều thứ 3 chính là mấu chốt:

    Tại sao tớ biết rằng 2 trang cùng dùng một add-on? Ngoài việc dựa theo cấu trúc liên kết, thì tớ xem mã nguồn trang chuyển hướng của cả 2 và cùng một thấy từ khóa quan trọng sau:


    hack-vietdesignernet-kenhsinhvienvn.png


    hack-vietdesignernet-kenhsinhvienvn-2.png


    hack-vietdesignernet-kenhsinhvienvn-3.png

    FileSeek Pro) để quét thì tìm thấy method này được tạo ra từ library\XenForo\Input.php dòng 137.


    hack-vietdesignernet-kenhsinhvienvn-4.png



    Trong method filterSingle() này, dữ liệu sẽ tiếp tục được chuyển qua cho _doClean(). Trong _doClean(), nó lại được chuyển tiếp qua cho cleanString() tại dòng 231.

    hack-vietdesignernet-kenhsinhvienvn-8.png


    hack-vietdesignernet-kenhsinhvienvn-5.png


    hack-vietdesignernet-kenhsinhvienvn-6.png

    Và khi áp dụng kịch bản tương tự như đối với SinhVienIT.Net, tớ phát hiện ra CSRF cũng khả thi. Tức là nếu ai đó chẳng may click vào liên kết chứa vecter XSS thì tớ có thể chiếm được Security Token để đăng bài, gửi tin nhắn, đổi mật khẩu, đổi email,... hay bất cứ hành động nào mà một người dùng có thể làm, và tương tự với các tài khoản admin (nếu họ sơ suất).

    PoC (Proof of Concept)
    XSS/CSRF trên KenhSinhVien.vn



    XSS/CSRF trên VietDesigner.Net



    Timeline
    • 2:17 PM - 19/07/2016: Tớ liên hệ với quản trị viên VietDesigner.net và thông báo có lỗ hổng bảo mật XSS/CSRF.
    • 2:23 PM - 19/07/2016: Quản trị viên VietDesigner.net cho biết đã nhận được báo cáo từ người khác trước đó gần 2, 3 tháng nhưng chưa có thời gian fix.
    • 2:25 PM - 19/07/2016: Tớ trả lời lại và cung cấp kịch bản tấn công để cho thấy mức độ nguy hiểm nếu có kẻ xấu khai thác. Đồng thời chủ động đề nghị hỗ trợ quản trị viên trong việc fix lỗi.
    • 2:29 PM - 19/07/2016: Tớ liên hệ với quản trị viên KenhSinhVien.vn và thông báo phát hiện ra lỗ hổng bảo mật.
    • 2:31 PM - 19/07/2016: Quản trị viên KSV trả lời lại. Tớ cung cấp hình ảnh PoC về lỗ hổng XSS/CSRF.
    • 2:47 PM - 19/07/2016: Quản trị viên KSV xác nhận lỗ hổng và fix ngay sau đó.
    • 9:45 AM - 22/07/2016: Quản trị viên VietDesigner gửi tin nhắn cho biết rằng lỗ hổng đã được khắc phục và đề nghị tớ kiểm tra lại.
    • 5:23 PM - 22/07/2016: Tớ đọc được tin nhắn và xác nhận lại rằng lỗ hổng đã được khắc phục.
    Lỗ hổng trên KenhSinhVien.vn được tính vào bug bounty cùng đợt với các lỗ hổng mà tớ phát hiện bên Phimmoi.net.

    Mặc dù tại thời điểm đăng bài viết này thì 2 diễn đàn trên đều đã được vá lỗ hổng. Tuy nhiên, không chỉ có 2 diễn đàn này sử dụng add-on này làm trình chuyển hướng. Nên chắc chắn vẫn còn rất nhiều các diễn đàn XenForo khác có thể bị khai thác. Nếu có thể, hãy chia sẻ bài viết này với quản trị viên mà bạn biết!

    Cách khắc phục lỗ hổng
    Hiện lỗ hổng bảo mật này đã được tác giả khắc phục trong phiên bản mới nhất 1.0.5, các bạn có thể cập nhật lên là xong. Hoặc tự vá bằng cách sửa lại tập tin Redirect.php từ dòng 9-13 thành:

    $noUrl = (!$url || empty($url) || !filter_var($url, FILTER_VALIDATE_URL));

    // Prevent XSS Attacks (by Juno_okyo)
    $url = htmlentities(strip_tags($url), ENT_QUOTES, 'UTF-8');

    Trước và sau khi patch:


    hack-vietdesignernet-kenhsinhvienvn-7.png

    Nguồn: Juno_okyo's Blog
     
  2. Đang tải...


Chia sẻ trang này