XSS stored in Markdown via Label references

Thảo luận trong 'Web Security' bắt đầu bởi krone, 25/02/19, 02:02 PM.

  1. krone

    krone Moderator Thành viên BQT

    Tham gia: 26/07/16, 03:07 PM
    Bài viết: 252
    Đã được thích: 130
    Điểm thành tích:
    43
    Label references được định dạng trong các trường Markdown có thể sử dụng để chèn các mã javascript trên Gitlab page.


    Mô tả:

    Một tidle symbol theo sau escape string dạng double quote tạo một liên kết tới Label được đặt tên trước.
    , kẻ tấn công có thể nhập vào một mã tuỳ biến javascript trong double quote. Các entities được decode hiển thị trong trình preview của Gitlab, khiến các mã javascript hoạt động một cách tự nhiên trên trình duyệt của người dùng.


    Ví dụ:

    Mã:
    ~"<img src=x onerror="alert('XSS stored in Markdown')">"

    Các bước thực hiện:

    1. Chỉnh sửa file README.md trong project.
    2. Nhập mã javascript tuỳ chỉnh
      .
    3. Commit để lưu thay đổi, sau đó xem nội dung qua trình preview của Gitlab.
    4. Trình alert của mã javascript hiển thị trên trang chính.

    [​IMG]


    Ảnh hưởng:

    Kẻ tấn công có thể chèn các mã javascript để đánh cắp SSH key hoặc password của người dùng được lưu trữ trên trình duyệt khi người dùng truy cập file thông qua preview của Gitlab.
     
    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
    sunny and Sugi_b3o like this.
  2. Sugi_b3o

    Sugi_b3o Moderator Thành viên BQT

    Tham gia: 30/08/16, 10:08 AM
    Bài viết: 276
    Đã được thích: 212
    Điểm thành tích:
    43
    Nếu lấy được các password lưu trên trình duyệt đồng nghĩa với lấy được thông tin các thẻ ngân hàng nếu người dùng lưu lun nhỉ.
     
    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
  3. xseovn

    xseovn Member

    Tham gia: 22/02/19, 08:02 AM
    Bài viết: 5
    Đã được thích: 1
    Điểm thành tích:
    3
    Mong mod giúp bạn đọc add lại cái Image vì đã lỗi nên không thấy, mặt khác cho mình hỏi 2 vấn đề không rõ mong được giải đáp:
    Thứ 1: Nếu thêm script này vào phần mềm, antivirus liệu có detect được hình thúc XSS này
    Thứ 2: Khi đã add code java vào phần mềm, mà phần mềm ko chọn chế độ preview, liệu user có bị ảnh hưởng
     
    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
  4. krone

    krone Moderator Thành viên BQT

    Tham gia: 26/07/16, 03:07 PM
    Bài viết: 252
    Đã được thích: 130
    Điểm thành tích:
    43
    Mình thấy hình ảnh vẫn bình thường mà bạn nhỉ.
    Rep cái thứ 1: Antivirus thì không liên quan tới XSS bạn nhé. :), script này cũng không thêm vào phần mềm nào cả. Bạn phải tìm hiểu thêm về Markdown, thường được các develop viết vào file README.md phục vụ mô tả tính năng của chương trình mà họ viết ra. Đoạn XSS chỉ là một ví dụ nhỏ về exploit web ở khía cạnh client thôi.
    Rep cái thứ 2 : Đầu tiên đây không phải là "...add code java vào phần mềm,...", javascript khác hoàn toàn Java bạn nhé. Phân biệt giùm mình. TIếp theo, vì căn bản là bạn muốn truy cập một repo thì thông thường bạn phải truy cập vào link root của repository đó trên gitlab và file README.md mặc định được preview trước cho client, nên căn bản là user sẽ bị ảnh hưởng.
     
    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
    sunny thích bài này.
  5. krone

    krone Moderator Thành viên BQT

    Tham gia: 26/07/16, 03:07 PM
    Bài viết: 252
    Đã được thích: 130
    Điểm thành tích:
    43
    Đúng rồi anh :v.
     
    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
    Sugi_b3o thích bài này.